using BLL; using Model; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace FineUIPro.Web.ReportManage.SafeEnvBudget { public partial class SafeEnvBudgetEdit : PageBase { #region 定义变量 /// /// 主键 /// public string BudgetId { get { return (string)ViewState["BudgetId"]; } set { ViewState["BudgetId"] = value; } } /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ProjectId = this.CurrUser.LoginProjectId; List years = new List(); for (int i = DateTime.Now.Year - 5; i < DateTime.Now.Year + 10; i++) { if (i == DateTime.Now.Year) { var item = new ListItem(i + "", i + ""); years.Add(item); } else { var item = new ListItem(i + "", i + ""); years.Add(item); } } drpYear.DataTextField = "Text"; drpYear.DataValueField = "Value"; drpYear.DataSource = years; drpYear.DataBind(); drpYear.SelectedValue = DateTime.Now.Year + ""; Funs.FineUIPleaseSelect(drpYear); var subject1 = Funs.DB.SafeEnvBudget.Select(x => x.Subject1).Distinct().OrderBy(x => x); List listSubject1 = new List(); foreach (string sub in subject1) { var item = new ListItem(sub, sub); listSubject1.Add(item); } drpSubject1.DataTextField = "Text"; drpSubject1.DataValueField = "Value"; drpSubject1.DataSource = listSubject1; drpSubject1.DataBind(); Funs.FineUIPleaseSelect(drpSubject1); Funs.FineUIPleaseSelect(drpSubject2); Funs.FineUIPleaseSelect(drpSubject3); Funs.FineUIPleaseSelect(drpSubject4); Funs.FineUIPleaseSelect(drpSubject5); this.BudgetId = Request.Params["BudgetId"]; this.txtCreateDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); if (!string.IsNullOrEmpty(BudgetId)) { var safeEnvBudget = Funs.DB.SafeEnvBudget.FirstOrDefault(x => x.BudgetId == BudgetId); if (safeEnvBudget != null) { drpYear.SelectedValue = safeEnvBudget.Year; drpSubject1.SelectedValue = safeEnvBudget.Subject1; txtRemark.Text = safeEnvBudget.Remark; if (safeEnvBudget.BudgetAmount.HasValue) { txtBudgetAmount.Text = safeEnvBudget.BudgetAmount.Value.ToString(); } var subject2 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue).Select(x => x.Subject2).Distinct().OrderBy(x => x); List listSubject2 = new List(); foreach (string sub in subject2) { var item = new ListItem(sub, sub); listSubject2.Add(item); } drpSubject2.DataTextField = "Text"; drpSubject2.DataValueField = "Value"; drpSubject2.DataSource = listSubject2; drpSubject2.DataBind(); Funs.FineUIPleaseSelect(drpSubject2); if (!string.IsNullOrEmpty(safeEnvBudget.Subject2)) { drpSubject2.SelectedValue = safeEnvBudget.Subject2; var subject3 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue && x.Subject2 == drpSubject2.SelectedValue).Select(x => x.Subject3).Distinct().OrderBy(x => x); List listSubject3 = new List(); foreach (string sub in subject3) { var item = new ListItem(sub, sub); listSubject3.Add(item); } drpSubject3.DataTextField = "Text"; drpSubject3.DataValueField = "Value"; drpSubject3.DataSource = listSubject3; drpSubject3.DataBind(); Funs.FineUIPleaseSelect(drpSubject3); if (!string.IsNullOrEmpty(safeEnvBudget.Subject3)) { drpSubject3.SelectedValue = safeEnvBudget.Subject3; var subject4 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue && x.Subject2 == drpSubject2.SelectedValue && x.Subject3 == drpSubject3.SelectedValue).Select(x => x.Subject4).Distinct().OrderBy(x => x); List listSubject4 = new List(); foreach (string sub in subject4) { var item = new ListItem(sub, sub); listSubject4.Add(item); } drpSubject4.DataTextField = "Text"; drpSubject4.DataValueField = "Value"; drpSubject4.DataSource = listSubject4; drpSubject4.DataBind(); Funs.FineUIPleaseSelect(drpSubject4); if (!string.IsNullOrEmpty(safeEnvBudget.Subject4)) { drpSubject4.SelectedValue = safeEnvBudget.Subject4; var subject5 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue && x.Subject2 == drpSubject2.SelectedValue && x.Subject3 == drpSubject3.SelectedValue && x.Subject4 == drpSubject4.SelectedValue).Select(x => x.Subject5).Distinct().OrderBy(x => x); List listSubject5 = new List(); foreach (string sub in subject5) { var item = new ListItem(sub, sub); listSubject5.Add(item); } drpSubject5.DataTextField = "Text"; drpSubject5.DataValueField = "Value"; drpSubject5.DataSource = listSubject5; drpSubject5.DataBind(); Funs.FineUIPleaseSelect(drpSubject5); if (!string.IsNullOrEmpty(safeEnvBudget.Subject5)) { drpSubject5.SelectedValue = safeEnvBudget.Subject5; } } } } } } ///初始化审核菜单 this.ctlAuditFlow.MenuId = Const.ProjectTrainRecordMenuId; this.ctlAuditFlow.DataId = this.BudgetId; this.ctlAuditFlow.ProjectId = this.ProjectId; this.ctlAuditFlow.UnitId = this.CurrUser.UnitId; } } #endregion #region 提交按钮 /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { this.SaveData(BLL.Const.BtnSubmit); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 保存按钮 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 保存方法 /// /// 保存数据 /// /// private void SaveData(string type) { int i = 0; if (this.drpSubject1.SelectedValue == BLL.Const._Null && string.IsNullOrEmpty(txtOther1.Text)) { ShowNotify("一级必填!", MessageBoxIcon.Warning); i++; return; } if (this.drpSubject5.SelectedValue == BLL.Const._Null && string.IsNullOrEmpty(txtOther5.Text)) { ShowNotify("五级必填!", MessageBoxIcon.Warning); i++; return; } Model.SafeEnvBudget safeEnvBudget = null; if (!string.IsNullOrWhiteSpace(this.BudgetId)) { safeEnvBudget = Funs.DB.SafeEnvBudget.FirstOrDefault(x => x.BudgetId == this.BudgetId); } else { safeEnvBudget = new Model.SafeEnvBudget { UnitId = CurrUser.UnitId, ProjectId = this.ProjectId, CreateDate = DateTime.Now, UserId = this.CurrUser.UserId, Year = this.drpYear.SelectedText, BudgetAmount = Funs.GetNewDecimal(this.txtBudgetAmount.Text.Trim()), Remark = this.txtRemark.Text.Trim(), }; Funs.DB.SafeEnvBudget.InsertOnSubmit(safeEnvBudget); } if (!string.IsNullOrEmpty(txtOther1.Text)) { safeEnvBudget.Subject1 = txtOther1.Text; } if (!string.IsNullOrEmpty(txtOther2.Text)) { safeEnvBudget.Subject2 = txtOther2.Text; } if (!string.IsNullOrEmpty(txtOther3.Text)) { safeEnvBudget.Subject3 = txtOther3.Text; } if (!string.IsNullOrEmpty(txtOther4.Text)) { safeEnvBudget.Subject4 = txtOther4.Text; } if (!string.IsNullOrEmpty(txtOther5.Text)) { safeEnvBudget.Subject5 = txtOther5.Text; } if (drpSubject1.SelectedValue != BLL.Const._Null) { safeEnvBudget.Subject1 = drpSubject1.SelectedValue; } if (drpSubject2.SelectedValue != BLL.Const._Null) { safeEnvBudget.Subject2 = drpSubject2.SelectedValue; } if (drpSubject3.SelectedValue != BLL.Const._Null) { safeEnvBudget.Subject3 = drpSubject3.SelectedValue; } if (drpSubject4.SelectedValue != BLL.Const._Null) { safeEnvBudget.Subject4 = drpSubject4.SelectedValue; } if (drpSubject5.SelectedValue != BLL.Const._Null) { safeEnvBudget.Subject5 = drpSubject5.SelectedValue; } safeEnvBudget.State = BLL.Const.State_0; if (type == BLL.Const.BtnSubmit) { safeEnvBudget.State = this.ctlAuditFlow.NextStep; } if (!string.IsNullOrEmpty(this.BudgetId)) { safeEnvBudget.BudgetId = this.BudgetId; Funs.DB.SubmitChanges(); BLL.LogService.AddSys_Log(this.CurrUser, safeEnvBudget.BudgetId, safeEnvBudget.BudgetId, BLL.Const.ProjectSafeEnvBudgetMenuId, BLL.Const.BtnModify); } else { safeEnvBudget.BudgetId = SQLHelper.GetNewID(typeof(Model.EduTrain_TrainRecord)); this.BudgetId = safeEnvBudget.BudgetId; Funs.DB.SubmitChanges(); BLL.LogService.AddSys_Log(this.CurrUser, safeEnvBudget.BudgetId, safeEnvBudget.BudgetId, BLL.Const.ProjectSafeEnvBudgetMenuId, BLL.Const.BtnAdd); } if (i == 0) { ////保存流程审核数据 this.ctlAuditFlow.btnSaveData(this.ProjectId, BLL.Const.ProjectSafeEnvBudgetMenuId, this.BudgetId, (type == BLL.Const.BtnSubmit ? true : false), this.BudgetId, "../../ReportManage/SafeEnvBudget/SafeEnvBudgetEdit.aspx?BudgetId={0}"); } PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } #endregion protected void drpSubject1_SelectedIndexChanged(object sender, EventArgs e) { var subject2 = Funs.DB.SafeEnvBudget.Where(x=>x.Subject1==drpSubject1.SelectedValue).Select(x => x.Subject2).Distinct().OrderBy(x => x); List listSubject2 = new List(); foreach (string sub in subject2) { var item = new ListItem(sub, sub); listSubject2.Add(item); } drpSubject2.DataTextField = "Text"; drpSubject2.DataValueField = "Value"; drpSubject2.DataSource = listSubject2; drpSubject2.DataBind(); Funs.FineUIPleaseSelect(drpSubject2); drpSubject2.SelectedValue = BLL.Const._Null; drpSubject3.DataSource = new List(); drpSubject3.DataBind(); Funs.FineUIPleaseSelect(drpSubject3); drpSubject3.SelectedValue = BLL.Const._Null; drpSubject4.DataSource = new List(); drpSubject4.DataBind(); Funs.FineUIPleaseSelect(drpSubject4); drpSubject4.SelectedValue = BLL.Const._Null; drpSubject5.DataSource = new List(); drpSubject5.DataBind(); Funs.FineUIPleaseSelect(drpSubject5); drpSubject5.SelectedValue = BLL.Const._Null; } protected void drpSubject2_SelectedIndexChanged(object sender, EventArgs e) { var subject3 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue && x.Subject2==drpSubject2.SelectedValue).Select(x => x.Subject3).Distinct().OrderBy(x => x); List listSubject3 = new List(); foreach (string sub in subject3) { var item = new ListItem(sub, sub); listSubject3.Add(item); } drpSubject3.DataTextField = "Text"; drpSubject3.DataValueField = "Value"; drpSubject3.DataSource = listSubject3; drpSubject3.DataBind(); Funs.FineUIPleaseSelect(drpSubject3); drpSubject3.SelectedValue = BLL.Const._Null; drpSubject4.DataSource = new List(); drpSubject4.DataBind(); Funs.FineUIPleaseSelect(drpSubject4); drpSubject4.SelectedValue = BLL.Const._Null; drpSubject5.DataSource = new List(); drpSubject5.DataBind(); Funs.FineUIPleaseSelect(drpSubject5); drpSubject5.SelectedValue = BLL.Const._Null; } protected void drpSubject3_SelectedIndexChanged(object sender, EventArgs e) { var subject4 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue && x.Subject2 == drpSubject2.SelectedValue && x.Subject3 == drpSubject3.SelectedValue).Select(x => x.Subject4).Distinct().OrderBy(x => x); List listSubject4 = new List(); foreach (string sub in subject4) { var item = new ListItem(sub, sub); listSubject4.Add(item); } drpSubject4.DataTextField = "Text"; drpSubject4.DataValueField = "Value"; drpSubject4.DataSource = listSubject4; drpSubject4.DataBind(); Funs.FineUIPleaseSelect(drpSubject4); drpSubject4.SelectedValue = BLL.Const._Null; drpSubject5.DataSource = new List(); drpSubject5.DataBind(); Funs.FineUIPleaseSelect(drpSubject5); drpSubject5.SelectedValue = BLL.Const._Null; } protected void drpSubject4_SelectedIndexChanged(object sender, EventArgs e) { var subject5 = Funs.DB.SafeEnvBudget.Where(x => x.Subject1 == drpSubject1.SelectedValue && x.Subject2 == drpSubject2.SelectedValue && x.Subject3 == drpSubject3.SelectedValue && x.Subject4 == drpSubject4.SelectedValue).Select(x => x.Subject5).Distinct().OrderBy(x => x); List listSubject5 = new List(); foreach (string sub in subject5) { var item = new ListItem(sub, sub); listSubject5.Add(item); } drpSubject5.DataTextField = "Text"; drpSubject5.DataValueField = "Value"; drpSubject5.DataSource = listSubject5; drpSubject5.DataBind(); Funs.FineUIPleaseSelect(drpSubject5); drpSubject5.SelectedValue = BLL.Const._Null; } } }