using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.TestRun.BeforeTestRun { public partial class InspectWanderAboutConfirm : PageBase { /// /// /// public string SubInspectId { get { return (string)ViewState["SubInspectId"]; } set { ViewState["SubInspectId"] = value; } } /// /// /// public int ConfirmType { get { return (int)ViewState["ConfirmType"]; } set { ViewState["ConfirmType"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.SubInspectId = Request.Params["SubInspectId"]; this.ConfirmType = int.Parse(Request.Params["ConfirmType"]); this.BindGrid(); } } #region 数据绑定 /// /// 绑定数据 /// public void BindGrid() { //获取子系统 var data = new List(); var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).OrderBy(x => x.Sort).ToList(); if (list.Count > 0) { foreach (var item in list) { var model = new ConfirmIsPass(); model.TermItemId = item.TermItemId; model.SubItemId = item.SubItemId; model.SubInspectId = item.SubInspectId; model.WorkInspectName = item.WorkInspectName; model.ConfirmType = this.ConfirmType; model.InspectionIllustrate = item.InspectionIllustrate; //1=分包商2=承包商3=监理4=业主 if (this.ConfirmType == 1) { model.IsPass = item.SubcontractorIsPass; model.ConfirmTypeName = "分包商"; } if (this.ConfirmType == 2) { model.IsPass = item.ContractorIsPass; model.ConfirmTypeName = "承包商"; } if (this.ConfirmType == 3) { model.IsPass = item.SupervisionIsPass; model.ConfirmTypeName = "监理"; } if (this.ConfirmType == 4) { model.IsPass = item.OwnerIsPass; model.ConfirmTypeName = "业主"; } data.Add(model); } } Grid1.DataSource = data; Grid1.DataBind(); Grid1.Title = this.ConfirmType == 1 ? "分包商确认签字" : this.ConfirmType == 2 ? "承包商确认签字" : this.ConfirmType == 3 ? "监理确认签字" : this.ConfirmType == 4 ? "业主确认签字" : ""; } /// /// 排序 /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 保存 /// /// 保存 /// protected void btnSave_Click(object sender, EventArgs e) { try { JArray mergedData = Grid1.GetMergedData(); foreach (JObject mergedRow in mergedData) { string status = mergedRow.Value("status"); JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString(); //获取子系统信息 var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId); if (model != null) { if (!string.IsNullOrWhiteSpace(values.Value("IsPass"))) { //1=分包商2=承包商3=监理4=业主 if (this.ConfirmType == 1) { model.SubcontractorIsPass = int.Parse(values.Value("IsPass")); } else if (this.ConfirmType == 2) { model.ContractorIsPass = int.Parse(values.Value("IsPass")); } else if (this.ConfirmType == 3) { model.SupervisionIsPass = int.Parse(values.Value("IsPass")); } else if (this.ConfirmType == 4) { model.OwnerIsPass = int.Parse(values.Value("IsPass")); } } Funs.DB.SubmitChanges(); } } var subInspectId = this.Grid1.Rows[0].DataKeys[3].ToString(); var subModel = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId); if (subModel != null) { //1=分包商2=承包商3=监理4=业主 if (this.ConfirmType == 1) { if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.SubcontractorIsPass.GetValueOrDefault() != 1) == 0) { subModel.SubcontractorIsAllPass = 1; } else { subModel.SubcontractorIsAllPass = 0; } } else if (this.ConfirmType == 2) { if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.ContractorIsPass.GetValueOrDefault() != 1) == 0) { subModel.ContractorIsAllPass = 1; } else { subModel.ContractorIsAllPass = 0; } } else if (this.ConfirmType == 3) { if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.SupervisionIsPass.GetValueOrDefault() != 1) == 0) { subModel.SupervisionIsAllPass = 1; } else { subModel.SupervisionIsAllPass = 0; } } else if (this.ConfirmType == 4) { if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.OwnerIsPass.GetValueOrDefault() != 1) == 0) { subModel.OwnerIsAllPass = 1; } else { subModel.OwnerIsAllPass = 0; } } } Funs.DB.SubmitChanges(); BindGrid(); ShowNotify("保存成功!"); } catch (Exception ex) { ShowNotify(ex.Message, MessageBoxIcon.Error); } } #endregion /// /// 实体绑定 /// public class ConfirmIsPass { /// /// 主键 /// public string TermItemId { get; set; } /// /// 检查项主键 /// public string SubItemId { get; set; } /// /// 检查表主键 /// public string SubInspectId { get; set; } /// /// 名称 /// public string WorkInspectName { get; set; } /// /// 检查说明 /// public string InspectionIllustrate { get; set; } /// /// 确认类型1=分包商2=承包商3=监理4=业主 /// public int ConfirmType { get; set; } /// /// 确认类型名称 /// public string ConfirmTypeName { get; set; } /// /// 是否通过 /// public int? IsPass { get; set; } } /// /// 窗口关闭 /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } } }