CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/Transfer/InstrumentationEdit.aspx.cs

156 lines
6.0 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace FineUIPro.Web.Transfer
{
public partial class InstrumentationEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
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)
{
txtSN.Text = model.SN.ToString();
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;
}
}
else
{
var model = Funs.DB.Transfer_Instrumentation.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_Instrumentation
{
SN = Convert.ToInt32(txtSN.Text),
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<string>();
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 == 3)
{
model.FINAL_Status = "Completed";
}
//如果全是NA或Not Start 就是 Not Start
else if (listObj.Where(x => x == "NA" || x == "Not Start").ToList().Count == 3)
{
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.SN = model.SN;
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());
}
}
}