using BLL; using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace FineUIPro.Web.Transfer { public partial class PipingEdit : 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_Piping.FirstOrDefault(x => x.Id == Id); if (model != null) { txtSN.Text = model.SN.ToString(); txtPIPINGLINENUMBER.Text = model.PIPINGLINENUMBER; txtSYSTEM.Text = model.SYSTEM; txtSubsystem.Text = model.Subsystem; txtTestPackage.Text = model.TestPackage; txtDescriptions.Text = model.Descriptions; //ddlPWD.SelectedValue = model.PWD; //ddlApunchclosed.SelectedValue = model.Apunchclosed; //ddlNDTReport.SelectedValue = model.NDTReport; //ddlTemperaryMeasurement.SelectedValue = model.TemperaryMeasurement; //ddlHydrostaticTest.SelectedValue = model.HydrostaticTest; //ddlReport.SelectedValue = model.Report; //ddlBlowingflushing.SelectedValue = model.Blowingflushing; //ddlFWDfinished.SelectedValue = model.FWDfinished; //ddlSystemreinstalled.SelectedValue = model.Systemreinstalled; //txtBlowingReport.Text = model.BlowingReport; txtTotalFactor.Text = model.TotalFactor.ToString(); txtCompleteFactor.Text = model.CompleteFactor.ToString(); txtCompleteProportion.Text = model.CompleteProportion.ToString(); ddlPressureTestCompleted.SelectedValue = model.PressureTestCompleted; ddlRinseAndBlowClean.SelectedValue = model.RinseAndBlowClean; ddlReduction.SelectedValue = model.Reduction; ddlElectricHeatTracing.SelectedValue = model.ElectricHeatTracing; ddlInsulation.SelectedValue = model.Insulation; } } else { var model = Funs.DB.Transfer_Piping.OrderByDescending(x => x.SN).FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId); if (model == null) txtSN.Text = "1001"; else txtSN.Text = (model.SN + 1).ToString(); } } } protected void btnSave_Click(object sender, EventArgs e) { var model = new Model.Transfer_Piping() { SN = Convert.ToInt32(txtSN.Text), ProjectId = ProjectId, PIPINGLINENUMBER = txtPIPINGLINENUMBER.Text, SYSTEM = txtSYSTEM.Text, Subsystem = txtSubsystem.Text, TestPackage = txtTestPackage.Text, //PWD = ddlPWD.SelectedValue, //Apunchclosed = ddlApunchclosed.SelectedValue, //NDTReport= ddlNDTReport.SelectedValue, //TemperaryMeasurement= ddlTemperaryMeasurement.SelectedValue, //HydrostaticTest=ddlHydrostaticTest.SelectedValue, //Report= ddlReport.SelectedValue, //Blowingflushing= ddlBlowingflushing.SelectedValue, //FWDfinished= ddlFWDfinished.SelectedValue, //Systemreinstalled= ddlSystemreinstalled.SelectedValue, //BlowingReport= txtBlowingReport.Text, TotalFactor = Convert.ToDecimal(txtTotalFactor.Text.Trim()), CompleteFactor = Convert.ToDecimal(txtCompleteFactor.Text.Trim()), CompleteProportion = Convert.ToDecimal(txtCompleteProportion.Text.Trim()), PressureTestCompleted = ddlPressureTestCompleted.SelectedValue, RinseAndBlowClean = ddlRinseAndBlowClean.SelectedValue, Reduction = ddlReduction.SelectedValue, ElectricHeatTracing = ddlElectricHeatTracing.SelectedValue, Insulation = ddlInsulation.SelectedValue, Descriptions = txtDescriptions.Text }; #region 判断状态 var listObj = new List(); //listObj.Add(model.PWD); //listObj.Add(model.Apunchclosed); //listObj.Add(model.NDTReport); //listObj.Add(model.TemperaryMeasurement); //listObj.Add(model.HydrostaticTest); //listObj.Add(model.Report); //listObj.Add(model.Blowingflushing); //listObj.Add(model.FWDfinished); //listObj.Add(model.Systemreinstalled); //listObj.Add(model.BlowingReport); //listObj.Add(model.TotalFactor); //listObj.Add(model.CompleteFactor); //listObj.Add(model.CompleteProportion); listObj.Add(model.PressureTestCompleted); listObj.Add(model.RinseAndBlowClean); listObj.Add(model.Reduction); model.FINALStatus = "Not Start"; //全是NA或Completed 状态是Completed if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 3) { model.FINALStatus = "Completed"; } //如果全是NA或Not Start、空 就是 Not Start else if (listObj.Where(x => string.IsNullOrWhiteSpace(x) || x == "NA" || x == "Not Start").ToList().Count == 3) { model.FINALStatus = "Not Start"; } //如果其中有一项是In progress 或Not Start、空 是 In progress else if (listObj.Where(x => string.IsNullOrWhiteSpace(x) || x == "In progress" || x == "Not Start").ToList().Count >= 1) { model.FINALStatus = "In progress"; } #endregion if (!string.IsNullOrEmpty(Id)) { var newModel = Funs.DB.Transfer_Piping.FirstOrDefault(x => x.Id == Id); newModel.SN = model.SN; newModel.PIPINGLINENUMBER = model.PIPINGLINENUMBER; newModel.SYSTEM = model.SYSTEM; newModel.Subsystem = model.Subsystem; newModel.TestPackage = txtTestPackage.Text; //newModel.PWD = ddlPWD.SelectedValue; //newModel.Apunchclosed = ddlApunchclosed.SelectedValue; //newModel.NDTReport = ddlNDTReport.SelectedValue; //newModel.TemperaryMeasurement = ddlTemperaryMeasurement.SelectedValue; //newModel.HydrostaticTest = ddlHydrostaticTest.SelectedValue; //newModel.Report = ddlReport.SelectedValue; //newModel.Blowingflushing = ddlBlowingflushing.SelectedValue; //newModel.FWDfinished = ddlFWDfinished.SelectedValue; //newModel.Systemreinstalled = ddlSystemreinstalled.SelectedValue; //newModel.BlowingReport = txtBlowingReport.Text; newModel.TotalFactor = Convert.ToDecimal(txtTotalFactor.Text.Trim()); newModel.CompleteFactor = Convert.ToDecimal(txtCompleteFactor.Text.Trim()); newModel.CompleteProportion = Convert.ToDecimal(txtCompleteProportion.Text.Trim()); newModel.PressureTestCompleted = ddlPressureTestCompleted.SelectedValue; newModel.RinseAndBlowClean = ddlRinseAndBlowClean.SelectedValue; newModel.Reduction = ddlReduction.SelectedValue; newModel.ElectricHeatTracing = ddlElectricHeatTracing.SelectedValue; newModel.Insulation = ddlInsulation.SelectedValue; newModel.FINALStatus = model.FINALStatus; newModel.Descriptions = txtDescriptions.Text; } else { model.Id = Id = Guid.NewGuid().ToString(); Funs.DB.Transfer_Piping.InsertOnSubmit(model); } Funs.DB.SubmitChanges(); ShowNotify("保存成功", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } protected void TextBox_OnTextChanged(object sender, EventArgs e) { decimal num1 = 0, num2 = 0; if (!string.IsNullOrEmpty(this.txtTotalFactor.Text.Trim())) { num1 = Convert.ToDecimal(this.txtTotalFactor.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtCompleteFactor.Text.Trim())) { num2 = Convert.ToDecimal(this.txtCompleteFactor.Text.Trim()); } if (num1 > 0 && num2 > 0) { var dCompleteProportion = Math.Round(((num2 / num1) * 100), 2); this.txtCompleteProportion.Text = dCompleteProportion.ToString(); } } } }