using System; using System.Configuration; using System.Data; using System.Linq; using System.Web.UI; using System.Web.UI.WebControls; using SuperMap.RealEstate.CoreFrameWork; using SuperMap.RealEstate.ServiceModel; using SuperMap.RealEstate.Utility; using SuperMap.RealEstate.Web.UI; using SuperMap.RealEstate.Web.UI.WebControls; using SuperMap.RealEstate.Web.Utility; using HCC = HZQR.Common.Common; using HZQR.Common; namespace SuperMap.RealEstate.Contract.Running { /// /// T_CONTRACTEXIT_经营合同退场表 的WebUserControl /// public partial class CONTRACTEXIT : UserControl { Business.CONTRACTPROINST _CONTRACTPROINST = null; protected string HiddenProdef = ConfigurationManager.AppSettings["HiddenProdef"]; #region 方法 -> 加载页面首先执行的方法 protected override void OnInit(EventArgs e) { Common.PageHelper.CreateHeaderStyle(Page); _CONTRACTPROINST = Running.Business.CONTRACTPROINST.CreateInstance(Page); ButtonVisible = false; base.OnInit(e); } #endregion #region 方法 -> 页面加载事件 protected void Page_Load(object sender, EventArgs e) { LoadDataMessage(); if (IsPostBack) return; if (!string.IsNullOrWhiteSpace(Request["REGISTERCOMPACT_ID"])) { REGISTERCOMPACT_ID.Text = Request["REGISTERCOMPACT_ID"].ToDecrypt(); } if (!string.IsNullOrWhiteSpace(Request["COMPACT_NAME"])) { COMPACT_NAME.Text = Request["COMPACT_NAME"].ToDecrypt(); } if (!string.IsNullOrWhiteSpace(Request["SECONDPART_ID"])) { SECONDPART_ID.Text = Request["SECONDPART_ID"].ToDecrypt(); } if (!string.IsNullOrWhiteSpace(Request["SECONDPART_NAME"])) { SECONDPART_NAME.Text = Request["SECONDPART_NAME"].ToDecrypt(); } if (!string.IsNullOrWhiteSpace(Request["SECONDPART_LINKMAN"])) { SECONDPART_LINKMAN.Text = Request["SECONDPART_LINKMAN"].ToDecrypt(); } if (!string.IsNullOrWhiteSpace(Request["SECONDPART_MOBILE"])) { SECONDPART_MOBILE.Text = Request["SECONDPART_MOBILE"].ToDecrypt(); } if (!string.IsNullOrWhiteSpace(Request["SECURITYDEPOSIT"])) { SECURITYDEPOSIT.Text = Request["SECURITYDEPOSIT"].ToDecrypt(); } //绑定数据 BindData(); Page.SetControlClientAction(ButtonSave); } #endregion #region 方法 -> 初始化控件 private void LoadDataMessage() { try { if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly) { DGRent.Columns[2].Visible = false; DGProperty.Columns[2].Visible = false; } if (_CONTRACTPROINST.PRODEF_ID == HiddenProdef.TryParseToInt()) { tbProperty.Visible = false; } } catch (Exception ex) { ErrorLogHelper.Write(ex); } } #endregion //在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等 public override void InitializeWebControl() { } //载入数据 public override bool LoadData() { //当前是申请环节,则绑定申请人信息 if (_CONTRACTPROINST.__ProInst.NowActInst.ActInst_Type == Enums.ActInstType.Accept) { APPLY_STAFF.Text = Page.PassportInfo.Name; OPERATE_DATE.Text = System.DateTime.Now.ToString(); } //如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码 Running.Business.CONTRACTEXIT _CONTRACTEXIT = new Business.CONTRACTEXIT(_CONTRACTPROINST); _CONTRACTEXIT.AddSearchParameter("CONTRACTPROINST_ID", _CONTRACTPROINST.CONTRACTPROINST_ID); if (_CONTRACTEXIT.Search()) { CurrObject.CONTRACTEXIT_ID_Encrypt = _CONTRACTEXIT.CONTRACTEXIT_ID_Encrypt; bool flag = this.Select(); BindObjectToControl(CurrObject); return flag; } else { CONTRACTPROINST_ID.Text = _CONTRACTPROINST.KeyID; } //默认返回值,工作流组件返回True,功能模块返回False。 return (WorkFlowPage != null); } #region 方法 -> 数据绑定 public void BindData() { CompactServerpart.Items.Clear(); if (REGISTERCOMPACT_ID.Text != "") { //查询经营服务区信息,SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE这些字段是排序用的 string SQLString = @"SELECT SERVERPART_ID,SERVERPART_NAME, SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE FROM HIGHWAY_STORAGE.T_SERVERPART A WHERE EXISTS (SELECT 1 FROM CONTRACT_STORAGE.T_RTREGISTERCOMPACT B WHERE A.SERVERPART_ID = B.SERVERPART_ID AND B.REGISTERCOMPACT_ID = " + REGISTERCOMPACT_ID.Text + ")"; DataTable dtServerpart = CurrObject.ExecuteDataTable(SQLString); foreach (DataRow drServerpart in dtServerpart.Select("", "SPREGIONTYPE_INDEX,SPREGIONTYPE_ID,SERVERPART_INDEX,SERVERPART_CODE")) { CompactServerpart.Items.Add(new ListItemEx { Value = drServerpart[0].ToString(), Text = drServerpart[1].ToString() }); } } DataTable dtExpense = null; Business.CONTRACTEXIT _CONTRACTEXIT = new Business.CONTRACTEXIT(_CONTRACTPROINST); _CONTRACTEXIT.AddSearchParameter("CONTRACTPROINST_ID", _CONTRACTPROINST.CONTRACTPROINST_ID); if (_CONTRACTEXIT.Search()) { dtExpense = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST).FillDataTable( "WHERE CONTRACTEXIT_ID = " + _CONTRACTEXIT.KeyID); dtExpense.DefaultView.Sort = "CONTRACTEXITEXPENSE_ID"; dtExpense = dtExpense.DefaultView.ToTable(); //经办人 APPLY_STAFF.Text = _CONTRACTEXIT.APPLY_STAFF; } else { dtExpense = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST).FillDataTable("WHERE CONTRACTEXIT_ID = 0"); } //获取租金列表 dtExpense.DefaultView.RowFilter = "EXPENSE_TYPE = 1000"; DataTable dtRent = dtExpense.DefaultView.ToTable(); DGRent.DataSource = dtRent; DGRent.DataBind(); if (tbProperty.Visible) { //获取物业费列表 dtExpense.DefaultView.RowFilter = "EXPENSE_TYPE = 2000"; DataTable dtProperty = dtExpense.DefaultView.ToTable(); DGProperty.DataSource = dtProperty; DGProperty.DataBind(); } } #endregion #region 方法 -> 页面保存事件 //OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理 //e.CancelDataAction 来处理是否取消该动作; //失败的原因可以用Page.Alert()传递到页面 public override void OnDataAction_BeforeSave(DataActionEventArgs e) { bool Flag = true; foreach (DataGridItem _DataGridItem in DGRent.Items) { if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem || _DataGridItem.ItemType == ListItemType.EditItem) { //经营服务区 DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx; //经营起止日期 TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //费用标准 TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; if (!string.IsNullOrEmpty(EXPENSE_STARTDATE_TextBoxEx.Text) && !string.IsNullOrEmpty(EXPENSE_ENDDATE_TextBoxEx.Text) && !string.IsNullOrEmpty(EXPENSE_STANDARD_TextBoxEx.Text) && !string.IsNullOrEmpty(RECEIVABLE_AMOUNT_TextBoxEx.Text) && !string.IsNullOrEmpty(ACTUALPAID_AMOUNT_TextBoxEx.Text) && !string.IsNullOrEmpty(SERVERPART_ID_DDL.SelectedValue)) { Flag = false; } } } if (Flag) { throw new Exception("保存业务失败:您未填写租金收缴明细!"); //e.CancelDataAction = true; //return; } if (tbProperty.Visible) { Flag = true; foreach (DataGridItem _DataGridItem in DGProperty.Items) { if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem || _DataGridItem.ItemType == ListItemType.EditItem) { //经营服务区 DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx; //经营起止日期 TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //费用标准 TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; if (!string.IsNullOrEmpty(EXPENSE_STARTDATE_TextBoxEx.Text) && !string.IsNullOrEmpty(EXPENSE_ENDDATE_TextBoxEx.Text) && !string.IsNullOrEmpty(EXPENSE_STANDARD_TextBoxEx.Text) && !string.IsNullOrEmpty(RECEIVABLE_AMOUNT_TextBoxEx.Text) && !string.IsNullOrEmpty(ACTUALPAID_AMOUNT_TextBoxEx.Text) && !string.IsNullOrEmpty(SERVERPART_ID_DDL.SelectedValue)) { Flag = false; } } } if (Flag) { throw new Exception("保存业务失败:您未填写物业费收缴明细!"); //e.CancelDataAction = true; //return; } } if (_CONTRACTPROINST.__ProInst.NowActInst.ActInst_Type == Enums.ActInstType.Accept) { CurrObject.OPERATE_DATE = System.DateTime.Now; } #region 绑定已经保存过的业务数据 if (_CONTRACTPROINST.CONTRACTPROINST_ID != null) { if (e.CurrObject.CONTRACTEXIT_ID == null) { Business.CONTRACTEXIT _CONTRACTEXIT = new Business.CONTRACTEXIT(Transaction); _CONTRACTEXIT.AddSearchParameter("CONTRACTPROINST_ID", _CONTRACTPROINST.CONTRACTPROINST_ID); if (_CONTRACTEXIT.Search()) { e.CurrObject.CONTRACTEXIT_ID = _CONTRACTEXIT.CONTRACTEXIT_ID; } } } #endregion //设置对应的内容 小写 e.CurrObject.PAYMENT_LOWER = (double)(e.CurrObject.SECURITYDEPOSIT.TryParseToDecimal() + e.CurrObject.REFUND_AMOUNT.TryParseToDecimal()); //大写 try { e.CurrObject.PAYMENT_CAP = e.CurrObject.PAYMENT_LOWER == 0 ? "零万元整" : e.CurrObject.PAYMENT_LOWER.ToString().ToCurrency(); } catch { } base.OnDataAction_BeforeSave(e); } public override void OnDataAction_AfterSave(DataActionEventArgs e) { CONTRACTEXIT_ID.Text = e.CurrObject.KeyID; #region 保存费用明细列表 foreach (DataGridItem _DataGridItem in DGRent.Items) { if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem || _DataGridItem.ItemType == ListItemType.EditItem) { SaveData(_DataGridItem, 1000, true); } } foreach (DataGridItem _DataGridItem in DGProperty.Items) { if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem || _DataGridItem.ItemType == ListItemType.EditItem) { SaveData(_DataGridItem, 2000, true); } } #endregion #region 更改业务名称 WorkFlow.Instance.Business.ProInst _ProInst = _CONTRACTPROINST.ProInst; _ProInst.ProInst_Name = e.CurrObject.COMPACT_NAME + "合同结算"; _ProInst.Update(); _CONTRACTPROINST.ACCEPT_NAME = _ProInst.ProInst_Name; _CONTRACTPROINST.Update(); #endregion base.OnDataAction_AfterSave(e); } #endregion protected void BtnOpenCompact_CallBackClick(object sender, ClientSetEventArgs e) { BindControlToObject(CurrObject); if (CurrObject.CONTRACTEXIT_ID == null) { CurrObject.Insert(); } else { CurrObject.Update(); } e.ClientScript = Page.GetOpenPopDialogClientScript( "/Contract/Compents/ContractExit/CompactList.aspx?NowActInst_ID=" + Request["NowActInst_ID"] + "&ProInst_ID=" + Request["ProInst_ID"] + "&Module_ID=" + Request["Module_ID"] + "&Division_Code=" + Request["Division_Code"] + "&SERVERPART_ID=" + _CONTRACTPROINST.DEPT_ID.ToEncrypt(), "Default", 1600, 800, true, false, true); } int itemNum = 0; protected void DGRent_ItemDataBound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Header) { itemNum = 0; } else if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.EditItem || e.Item.ItemType == ListItemType.AlternatingItem) { e.Item.Attributes["onmouseover"] = "javascript:oldcolor=this.style.backgroundColor;this.style.backgroundColor='f1f1f1';"; e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=oldcolor;"; Button _ButtonSave = e.Item.FindControl("BtnSaveRent") as Button; Button _ButtonDelete = e.Item.FindControl("BtnDeleteRent") as Button; //设置控件点击遮罩面 Page.SetControlClientAction(_ButtonSave, false); Page.SetControlClientAction(_ButtonDelete, false); //经营服务区 DropDownListEx SERVERPART_ID_DDL = e.Item.FindControl("SERVERPART_ID_DDL") as DropDownListEx; SERVERPART_ID_DDL.Items.Clear(); foreach (ListItemEx listItemEx in CompactServerpart.Items) { SERVERPART_ID_DDL.Items.Add(new ListItemEx { Text = listItemEx.Text, Value = listItemEx.Value, }); } //经营起止时间 TextBoxEx _EXPENSE_STARTDATE_TextBoxEx = e.Item.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx _EXPENSE_ENDDATE_TextBoxEx = e.Item.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //只读页面,不显示日期图标 if (ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible || ModifyType == ModifyTypeEnum.EditHidden) { _EXPENSE_STARTDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime; _EXPENSE_ENDDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime; } if (e.Item.Cells[0].Text == "" && ((DataTable)DGRent.DataSource).Rows.Count > 0) { e.Item.Cells[0].Text = ((DataTable)DGRent.DataSource).Rows[itemNum]["CONTRACTEXITEXPENSE_ID"].ToString(); } if (e.Item.Cells[0].Text.TryParseToInt() != 0) { Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST); _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = e.Item.Cells[0].Text.ToEncrypt(); if (_CONTRACTEXITEXPENSE.Select()) { //年租金标准 TextBoxEx _EXPENSE_STANDARD_TextBoxEx = e.Item.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收租金 TextBoxEx _RECEIVABLE_AMOUNT_TextBoxEx = e.Item.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收租金 TextBoxEx _ACTUALPAID_AMOUNT_TextBoxEx = e.Item.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx _CONTRACTEXITEXPENSE_DESC_TextBoxEx = e.Item.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; SERVERPART_ID_DDL.SelectedValue = _CONTRACTEXITEXPENSE.SERVERPART_ID.TryParseToString(); _EXPENSE_STARTDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime( _CONTRACTEXITEXPENSE.EXPENSE_STARTDATE.TryParseToString()).Split(' ')[0]; _EXPENSE_ENDDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime( _CONTRACTEXITEXPENSE.EXPENSE_ENDDATE.TryParseToString()).Split(' ')[0]; _EXPENSE_STANDARD_TextBoxEx.Text = _CONTRACTEXITEXPENSE.EXPENSE_STANDARD.TryParseToString(); _RECEIVABLE_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT.TryParseToString(); _ACTUALPAID_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT.TryParseToString(); _CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text = _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC; } } itemNum++; } } protected void DGProperty_ItemDataBound(object sender, DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.Header) { itemNum = 0; } else if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.EditItem || e.Item.ItemType == ListItemType.AlternatingItem) { e.Item.Attributes["onmouseover"] = "javascript:oldcolor=this.style.backgroundColor;this.style.backgroundColor='f1f1f1';"; e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor=oldcolor;"; Button _ButtonSave = e.Item.FindControl("BtnSaveProperty") as Button; Button _ButtonDelete = e.Item.FindControl("BtnDeleteProperty") as Button; //设置控件点击遮罩面 Page.SetControlClientAction(_ButtonSave, false); Page.SetControlClientAction(_ButtonDelete, false); //经营服务区 DropDownListEx SERVERPART_ID_DDL = e.Item.FindControl("SERVERPART_ID_DDL") as DropDownListEx; SERVERPART_ID_DDL.Items.Clear(); foreach (ListItemEx listItemEx in CompactServerpart.Items) { SERVERPART_ID_DDL.Items.Add(new ListItemEx { Text = listItemEx.Text, Value = listItemEx.Value, }); } //经营起止时间 TextBoxEx _EXPENSE_STARTDATE_TextBoxEx = e.Item.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx _EXPENSE_ENDDATE_TextBoxEx = e.Item.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //只读页面,不显示日期图标 if (ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible || ModifyType == ModifyTypeEnum.EditHidden) { _EXPENSE_STARTDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime; _EXPENSE_ENDDATE_TextBoxEx.ValidType = ValidTypeEnum.DateTime; } if (e.Item.Cells[0].Text == "" && ((DataTable)DGProperty.DataSource).Rows.Count > 0) { e.Item.Cells[0].Text = ((DataTable)DGProperty.DataSource).Rows[itemNum]["CONTRACTEXITEXPENSE_ID"].ToString(); } if (e.Item.Cells[0].Text.TryParseToInt() != 0) { Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST); _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = e.Item.Cells[0].Text.ToEncrypt(); if (_CONTRACTEXITEXPENSE.Select()) { //物业费标准 TextBoxEx _EXPENSE_STANDARD_TextBoxEx = e.Item.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx _RECEIVABLE_AMOUNT_TextBoxEx = e.Item.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx _ACTUALPAID_AMOUNT_TextBoxEx = e.Item.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx _CONTRACTEXITEXPENSE_DESC_TextBoxEx = e.Item.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; SERVERPART_ID_DDL.SelectedValue = _CONTRACTEXITEXPENSE.SERVERPART_ID.TryParseToString(); _EXPENSE_STARTDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime( _CONTRACTEXITEXPENSE.EXPENSE_STARTDATE.TryParseToString()).Split(' ')[0]; _EXPENSE_ENDDATE_TextBoxEx.Text = HCC.Common.TranslateDateTime( _CONTRACTEXITEXPENSE.EXPENSE_ENDDATE.TryParseToString()).Split(' ')[0]; _EXPENSE_STANDARD_TextBoxEx.Text = _CONTRACTEXITEXPENSE.EXPENSE_STANDARD.TryParseToString(); _RECEIVABLE_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT.TryParseToString(); _ACTUALPAID_AMOUNT_TextBoxEx.Text = _CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT.TryParseToString(); _CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text = _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC; } } itemNum++; } } protected void BtnInsertRent_Click(object sender, EventArgs e) { DataTable dtRent = GetDataFromDG(DGRent, 1000); DataRow drRent = dtRent.NewRow(); drRent["CONTRACTEXITEXPENSE_ID"] = "0"; dtRent.Rows.InsertAt(drRent, 0); dtRent.AcceptChanges(); DGRent.EditItemIndex = 0; DGRent.DataSource = dtRent; DGRent.DataBind(); } protected void BtnSaveRent_Click(object sender, EventArgs e) { if (CONTRACTEXIT_ID.Text == "0" || string.IsNullOrEmpty(CONTRACTEXIT_ID.Text)) { base.Save(); CONTRACTEXIT_ID.Text = CurrObject.KeyID; } else { Button _ButtonSave = (Button)sender; DataGridItem _DataGridItem = (DataGridItem)_ButtonSave.NamingContainer; if (!SaveData(_DataGridItem, 1000)) { return; } } BindData(); Page.Alert("保存成功!", 3); } protected void BtnDeleteRent_Click(object sender, EventArgs e) { Button _LinkButtonDelete = (Button)sender; DataGridItem _DataGridItem = (DataGridItem)_LinkButtonDelete.NamingContainer; DataTable dtRent = GetDataFromDG(DGRent, 1000); using (Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST)) { //经营服务区 DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx; //经营起止日期 TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //费用标准 TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; if (CONTRACTEXIT_ID.Text != "" && _DataGridItem.Cells[0].Text.TryParseToInt() != 0) { _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = _DataGridItem.Cells[0].Text.ToEncrypt(); if (_CONTRACTEXITEXPENSE.Select()) { _CONTRACTEXITEXPENSE.Delete(); } } dtRent.Rows.RemoveAt(_DataGridItem.ItemIndex); DGRent.DataSource = dtRent; DGRent.DataBind(); } Page.Alert("删除成功!", 3); } protected void BtnInsertProperty_Click(object sender, EventArgs e) { DataTable dtProperty = GetDataFromDG(DGProperty, 2000); DataRow drInvoice = dtProperty.NewRow(); drInvoice["CONTRACTEXITEXPENSE_ID"] = "0"; dtProperty.Rows.InsertAt(drInvoice, 0); dtProperty.AcceptChanges(); DGProperty.EditItemIndex = 0; DGProperty.DataSource = dtProperty; DGProperty.DataBind(); } protected void BtnSaveProperty_Click(object sender, EventArgs e) { if (CONTRACTEXIT_ID.Text == "0" || string.IsNullOrEmpty(CONTRACTEXIT_ID.Text)) { base.Save(); CONTRACTEXIT_ID.Text = CurrObject.KeyID; } else { Button _ButtonSave = (Button)sender; DataGridItem _DataGridItem = (DataGridItem)_ButtonSave.NamingContainer; if (!SaveData(_DataGridItem, 1000)) { return; } } BindData(); Page.Alert("保存成功!", 3); } protected void BtnDeleteProperty_Click(object sender, EventArgs e) { Button _LinkButtonDelete = (Button)sender; DataGridItem _DataGridItem = (DataGridItem)_LinkButtonDelete.NamingContainer; DataTable dtProperty = GetDataFromDG(DGProperty, 1000); using (Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST)) { //经营服务区 DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx; //经营起止日期 TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //费用标准 TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; if (CONTRACTEXIT_ID.Text != "" && _DataGridItem.Cells[0].Text.TryParseToInt() != 0) { _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = _DataGridItem.Cells[0].Text.ToEncrypt(); if (_CONTRACTEXITEXPENSE.Select()) { _CONTRACTEXITEXPENSE.Delete(); } } dtProperty.Rows.RemoveAt(_DataGridItem.ItemIndex); DGProperty.DataSource = dtProperty; DGProperty.DataBind(); } Page.Alert("删除成功!", 3); } #region 方法 -> 获取DataGrid列表内容 public DataTable GetDataFromDG(DataGrid dataGrid, int ExpenseType) { DataTable dtExpense = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST).FillDataTable("WHERE 1 = 2"); foreach (DataGridItem _DataGridItem in dataGrid.Items) { if (_DataGridItem.ItemType == ListItemType.Item || _DataGridItem.ItemType == ListItemType.AlternatingItem || _DataGridItem.ItemType == ListItemType.EditItem) { //经营服务区 DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx; //经营起止日期 TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //费用标准 TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; DataRow drExpense = dtExpense.NewRow(); if (_DataGridItem.Cells[0].Text.Replace(" ", "") == "") { drExpense["CONTRACTEXITEXPENSE_ID"] = 0; } else { drExpense["CONTRACTEXITEXPENSE_ID"] = _DataGridItem.Cells[0].Text; } drExpense["CONTRACTEXIT_ID"] = CONTRACTEXIT_ID.Text; drExpense["CONTRACTPROINST_ID"] = CONTRACTPROINST_ID.Text; drExpense["EXPENSE_TYPE"] = ExpenseType; if (SERVERPART_ID_DDL.SelectedValue != "") { drExpense["SERVERPART_ID"] = SERVERPART_ID_DDL.SelectedValue; drExpense["SERVERPART_NAME"] = SERVERPART_ID_DDL.SelectedItem.Text; } if (EXPENSE_STARTDATE_TextBoxEx.Text != "") { drExpense["EXPENSE_STARTDATE"] = DateTime.Parse(EXPENSE_STARTDATE_TextBoxEx.Text).ToString("yyyyMMdd"); } if (EXPENSE_ENDDATE_TextBoxEx.Text != "") { drExpense["EXPENSE_ENDDATE"] = DateTime.Parse(EXPENSE_ENDDATE_TextBoxEx.Text).ToString("yyyyMMdd"); } if (EXPENSE_STANDARD_TextBoxEx.Text != "") { drExpense["EXPENSE_STANDARD"] = EXPENSE_STANDARD_TextBoxEx.Text; } if (RECEIVABLE_AMOUNT_TextBoxEx.Text != "") { drExpense["RECEIVABLE_AMOUNT"] = RECEIVABLE_AMOUNT_TextBoxEx.Text; } if (ACTUALPAID_AMOUNT_TextBoxEx.Text != "") { drExpense["ACTUALPAID_AMOUNT"] = ACTUALPAID_AMOUNT_TextBoxEx.Text; } drExpense["CONTRACTEXITEXPENSE_DESC"] = CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text; dtExpense.Rows.Add(drExpense); } } return dtExpense; } #endregion #region 方法 -> 保存费用明细数据 /// /// 保存费用明细数据 /// /// 列表数据源 /// 费用类型 /// 是否结束保存 /// public bool SaveData(DataGridItem _DataGridItem, int ExpenseType, bool ContinueState = false) { //经营服务区 DropDownListEx SERVERPART_ID_DDL = _DataGridItem.FindControl("SERVERPART_ID_DDL") as DropDownListEx; //经营起止日期 TextBoxEx EXPENSE_STARTDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STARTDATE_TextBoxEx") as TextBoxEx; TextBoxEx EXPENSE_ENDDATE_TextBoxEx = _DataGridItem.FindControl("EXPENSE_ENDDATE_TextBoxEx") as TextBoxEx; //费用标准 TextBoxEx EXPENSE_STANDARD_TextBoxEx = _DataGridItem.FindControl("EXPENSE_STANDARD_TextBoxEx") as TextBoxEx; //应收金额 TextBoxEx RECEIVABLE_AMOUNT_TextBoxEx = _DataGridItem.FindControl("RECEIVABLE_AMOUNT_TextBoxEx") as TextBoxEx; //实收金额 TextBoxEx ACTUALPAID_AMOUNT_TextBoxEx = _DataGridItem.FindControl("ACTUALPAID_AMOUNT_TextBoxEx") as TextBoxEx; //备注 TextBoxEx CONTRACTEXITEXPENSE_DESC_TextBoxEx = _DataGridItem.FindControl("CONTRACTEXITEXPENSE_DESC_TextBoxEx") as TextBoxEx; if (string.IsNullOrEmpty(EXPENSE_STARTDATE_TextBoxEx.Text) || string.IsNullOrEmpty(EXPENSE_ENDDATE_TextBoxEx.Text) || string.IsNullOrEmpty(EXPENSE_STANDARD_TextBoxEx.Text) || string.IsNullOrEmpty(RECEIVABLE_AMOUNT_TextBoxEx.Text) || string.IsNullOrEmpty(ACTUALPAID_AMOUNT_TextBoxEx.Text) || string.IsNullOrEmpty(SERVERPART_ID_DDL.SelectedValue)) { if (ContinueState) { return ContinueState; } else { Page.Alert("请先填写详情!"); return ContinueState; } } using (Business.CONTRACTEXITEXPENSE _CONTRACTEXITEXPENSE = new Business.CONTRACTEXITEXPENSE(_CONTRACTPROINST)) { if (string.IsNullOrEmpty(_DataGridItem.Cells[0].Text) || _DataGridItem.Cells[0].Text == "0") { _CONTRACTEXITEXPENSE.CONTRACTEXIT_ID = CONTRACTEXIT_ID.Text.TryParseToInt(); _CONTRACTEXITEXPENSE.CONTRACTPROINST_ID = CONTRACTPROINST_ID.Text.TryParseToInt(); _CONTRACTEXITEXPENSE.EXPENSE_TYPE = ExpenseType; //经营起止日期 _CONTRACTEXITEXPENSE.EXPENSE_STARTDATE = DateTime.Parse(EXPENSE_STARTDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt(); _CONTRACTEXITEXPENSE.EXPENSE_ENDDATE = DateTime.Parse(EXPENSE_ENDDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt(); //经营服务区 _CONTRACTEXITEXPENSE.SERVERPART_ID = SERVERPART_ID_DDL.SelectedValue.TryParseToInt(); _CONTRACTEXITEXPENSE.SERVERPART_NAME = SERVERPART_ID_DDL.SelectedItem.Text; //费用标准 _CONTRACTEXITEXPENSE.EXPENSE_STANDARD = EXPENSE_STANDARD_TextBoxEx.Text.TryParseToDouble().Round(6); //应收金额 _CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT = RECEIVABLE_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6); //实收金额 _CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT = ACTUALPAID_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6); _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC = CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text; _CONTRACTEXITEXPENSE.OPERATE_DATE = DateTime.Now; _CONTRACTEXITEXPENSE.Insert(); _DataGridItem.Cells[0].Text = _CONTRACTEXITEXPENSE.KeyID; } else { _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_ID_Encrypt = _DataGridItem.Cells[0].Text.ToEncrypt(); if (_CONTRACTEXITEXPENSE.Select()) { _CONTRACTEXITEXPENSE.EXPENSE_TYPE = ExpenseType; //经营起止日期 _CONTRACTEXITEXPENSE.EXPENSE_STARTDATE = DateTime.Parse(EXPENSE_STARTDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt(); _CONTRACTEXITEXPENSE.EXPENSE_ENDDATE = DateTime.Parse(EXPENSE_ENDDATE_TextBoxEx.Text).ToString("yyyyMMdd").TryParseToInt(); //经营服务区 _CONTRACTEXITEXPENSE.SERVERPART_ID = SERVERPART_ID_DDL.SelectedValue.TryParseToInt(); _CONTRACTEXITEXPENSE.SERVERPART_NAME = SERVERPART_ID_DDL.SelectedItem.Text; //费用标准 _CONTRACTEXITEXPENSE.EXPENSE_STANDARD = EXPENSE_STANDARD_TextBoxEx.Text.TryParseToDouble().Round(6); //应收金额 _CONTRACTEXITEXPENSE.RECEIVABLE_AMOUNT = RECEIVABLE_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6); //实收金额 _CONTRACTEXITEXPENSE.ACTUALPAID_AMOUNT = ACTUALPAID_AMOUNT_TextBoxEx.Text.TryParseToDouble().Round(6); _CONTRACTEXITEXPENSE.CONTRACTEXITEXPENSE_DESC = CONTRACTEXITEXPENSE_DESC_TextBoxEx.Text; _CONTRACTEXITEXPENSE.OPERATE_DATE = DateTime.Now; _CONTRACTEXITEXPENSE.Update(); } } } return false; } #endregion protected void ButtonSave_Click(object sender, EventArgs e) { try { base.Save(); BindData(); Page.Alert("保存成功!", 3); } catch (Exception ex) { //回滚事务 Transaction.Rollback(); Page.Alert(ex.Message); } } } }