using BLL; using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace FineUIPro.Web.Transfer { public partial class InstrumentationEdit : PageBase { #region 定义项 /// /// 主键 /// private string Id { get { return (string)ViewState["Id"]; } set { ViewState["Id"] = value; } } /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Id = Request.Params["Id"]; ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(Id)) { var model = Funs.DB.Transfer_Instrumentation.FirstOrDefault(x => x.Id == Id); if (model != null) { txtINSTRUMENTATION.Text = model.INSTRUMENTATION; txtSystemName.Text = model.SystemName; txtSubsystem.Text = model.Subsystem; txtTest_Package.Text = model.Test_Package; ddlInstallationCalibration.SelectedValue = model.InstallationCalibration; ddlPipingPressuretest.SelectedValue = model.PipingPressuretest; ddlPipingLeak.SelectedValue = model.PipingLeak; ddlPipingBlowing.SelectedValue = model.PipingBlowing; ddlLooptest.SelectedValue = model.Looptest; ddlCalibration.SelectedValue = model.Calibration; txtDescriptions.Text = model.Descriptions; } } } } protected void btnSave_Click(object sender, EventArgs e) { var model = new Model.Transfer_Instrumentation { ProjectId = ProjectId, INSTRUMENTATION = txtINSTRUMENTATION.Text, SystemName = txtSystemName.Text, Subsystem = txtSubsystem.Text, Test_Package = txtTest_Package.Text, InstallationCalibration = ddlInstallationCalibration.SelectedValue, PipingPressuretest = ddlPipingPressuretest.SelectedValue, PipingLeak = ddlPipingLeak.SelectedValue, PipingBlowing = ddlPipingBlowing.SelectedValue, Looptest = ddlLooptest.SelectedValue, Calibration= ddlCalibration.SelectedValue, Descriptions = txtDescriptions.Text }; #region 判断状态 var listObj = new List(); listObj.Add(model.InstallationCalibration); listObj.Add(model.PipingPressuretest); listObj.Add(model.PipingLeak); listObj.Add(model.PipingBlowing); listObj.Add(model.Looptest); listObj.Add(model.Calibration); //全是NA或Completed 状态是Completed if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 6) { model.FINAL_Status = "Completed"; } //如果全是Not Start 就是 Not Start else if (listObj.Where(x => x == "Not Start").ToList().Count == 6) { model.FINAL_Status = "Not Start"; } //如果其中有一项是In progress 或Not Start 是 In progress else if (listObj.Where(x => x == "In progress" || x == "Not Start").ToList().Count >= 1) { model.FINAL_Status = "In progress"; } #endregion if (!string.IsNullOrEmpty(Id)) { var newModel = Funs.DB.Transfer_Instrumentation.FirstOrDefault(x => x.Id == Id); if (newModel != null) { newModel.INSTRUMENTATION = txtINSTRUMENTATION.Text; newModel.SystemName = txtSystemName.Text; newModel.Subsystem = txtSubsystem.Text; newModel.Test_Package = txtTest_Package.Text; newModel.InstallationCalibration = ddlInstallationCalibration.SelectedValue; newModel.PipingPressuretest = ddlPipingPressuretest.SelectedValue; newModel.PipingLeak = ddlPipingLeak.SelectedValue; newModel.PipingBlowing = ddlPipingBlowing.SelectedValue; newModel.Looptest = ddlLooptest.SelectedValue; newModel.Calibration = ddlCalibration.SelectedValue; newModel.FINAL_Status = model.FINAL_Status; newModel.Descriptions = txtDescriptions.Text; } } else { model.Id = Id = Guid.NewGuid().ToString(); Funs.DB.Transfer_Instrumentation.InsertOnSubmit(model); } Funs.DB.SubmitChanges(); ShowNotify("保存成功", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } }