using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace FineUIPro.Web.Transfer
{
public partial class RotatingEquipmentEdit : 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_RotatingEquipment.FirstOrDefault(x => x.Id == Id);
if (model != null)
{
txtSN.Text = model.SN.ToString();
txtRotatingEquipment.Text = model.RotatingEquipment;
txtSYSTEM.Text = model.SYSTEM;
txtSubsystem.Text = model.Subsystem;
txtTestPackage.Text = model.TestPackage;
ddlAlignment.SelectedValue = model.Alignment;
ddlMotorsoloruntest.SelectedValue = model.Motorsoloruntest;
ddlStandalonetest.SelectedValue = model.Standalonetest;
ddlLubricatefilling.SelectedValue = model.Lubricatefilling;
txtDescriptions.Text = model.Descriptions;
}
}
else
{
var model = Funs.DB.Transfer_RotatingEquipment.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_RotatingEquipment
{
SN = Convert.ToInt32(txtSN.Text),
ProjectId = ProjectId,
RotatingEquipment = txtRotatingEquipment.Text,
SYSTEM = txtSYSTEM.Text,
Subsystem = txtSubsystem.Text,
TestPackage = txtTestPackage.Text,
Alignment = ddlAlignment.SelectedValue,
Motorsoloruntest = ddlMotorsoloruntest.SelectedValue,
Standalonetest = ddlStandalonetest.SelectedValue,
Descriptions= txtDescriptions.Text,
Lubricatefilling=ddlLubricatefilling.SelectedValue
};
#region 判断状态
var listObj = new List();
listObj.Add(model.Alignment);
listObj.Add(model.Motorsoloruntest);
listObj.Add(model.Standalonetest);
listObj.Add(model.Lubricatefilling);
model.MechanicalFINALStatus = "Not Start";
//全是NA或Completed 状态是Completed
if (listObj.Where(x => x == "NA" || x == "Completed").ToList().Count == 4)
{
model.MechanicalFINALStatus = "Completed";
}
//如果全是NA或Not Start、空 就是 Not Start
else if (listObj.Where(x => string.IsNullOrWhiteSpace(x) || x == "NA" || x == "Not Start").ToList().Count == 4)
{
model.MechanicalFINALStatus = "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.MechanicalFINALStatus = "In progress";
}
#endregion
if (!string.IsNullOrEmpty(Id))
{
var newModel = Funs.DB.Transfer_RotatingEquipment.FirstOrDefault(x => x.Id == Id);
if (newModel != null)
{
newModel.SN = model.SN;
newModel.RotatingEquipment = txtRotatingEquipment.Text;
newModel.SYSTEM = txtSYSTEM.Text;
newModel.Subsystem = txtSubsystem.Text;
newModel.TestPackage = txtTestPackage.Text;
newModel.Alignment = ddlAlignment.SelectedValue;
newModel.Motorsoloruntest = ddlMotorsoloruntest.SelectedValue;
newModel.Standalonetest = ddlStandalonetest.SelectedValue;
newModel.MechanicalFINALStatus = model.MechanicalFINALStatus;
newModel.Descriptions = txtDescriptions.Text;
newModel.Lubricatefilling = ddlLubricatefilling.SelectedValue;
}
}
else
{
model.Id = Id = Guid.NewGuid().ToString();
Funs.DB.Transfer_RotatingEquipment.InsertOnSubmit(model);
}
Funs.DB.SubmitChanges();
ShowNotify("保存成功", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}