157 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			6.1 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);
 | 
						|
 | 
						|
            model.FINAL_Status = "Not Start";
 | 
						|
            //全是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 => string.IsNullOrWhiteSpace(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 => string.IsNullOrWhiteSpace(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());
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |