/// <summary> /// 添加时操作 /// </summary> /// <param name="e"></param> private void DoForAdd(QueryFBEntitiesCompletedEventArgs e) { // 清除预算明细 this.OrderEntity.GetRelationFBEntities(typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name).Clear(); this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONBUDGETAPPLYDETAIL).Name).Clear(); // 添加预算明细 e.Result.ToList().ForEach(item => { item.FBEntityState = FBEntityState.Added; T_FB_DEPTBUDGETAPPLYDETAIL deptDetail = item.Entity as T_FB_DEPTBUDGETAPPLYDETAIL; deptDetail.T_FB_DEPTBUDGETAPPLYMASTER = this.OrderEntity.Entity as T_FB_DEPTBUDGETAPPLYMASTER; #region beyond item.GetRelationFBEntities(typeof(T_FB_PERSONBUDGETAPPLYDETAIL).Name).ToList().ForEach(fbpersondetail => { T_FB_PERSONBUDGETAPPLYDETAIL persondetail = fbpersondetail.Entity as T_FB_PERSONBUDGETAPPLYDETAIL; persondetail.CREATEUSERID = this.OrderEntity.LoginUser.Value.ToString(); persondetail.CREATEUSERNAME = this.OrderEntity.LoginUser.Text; persondetail.UPDATEUSERID = this.OrderEntity.LoginUser.Value.ToString(); persondetail.UPDATEUSERNAME = this.OrderEntity.LoginUser.Text; persondetail.T_FB_DEPTBUDGETAPPLYDETAIL = deptDetail; fbpersondetail.FBEntityState = FBEntityState.Added; }); #endregion deptDetail.T_FB_SUBJECT.T_FB_BUDGETACCOUNT.Clear(); deptDetail.T_FB_SUBJECT.T_FB_BUDGETCHECK.Clear(); }); this.OrderEntity.FBEntity.AddFBEntities <T_FB_DEPTBUDGETAPPLYDETAIL>(e.Result); this.OrderEntity.FBEntity.SetObjValue("Entity.BUDGETMONEY", 0); }
void EditForm_Saving(object sender, SavingEventArgs e) { ObservableCollection <FBEntity> details = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name); if (details.Count == 0) { e.Action = Actions.Cancel; CommonFunction.ShowErrorMessage(ErrorMessage.NoDetailInfo); return; } List <string> msgs = new List <string>(); details.ToList().ForEach(item => { T_FB_DEPTBUDGETAPPLYDETAIL detail = item.Entity as T_FB_DEPTBUDGETAPPLYDETAIL; // 表示没做过任何操作 if (detail.TOTALBUDGETMONEY.Equal(0) && detail.BUDGETMONEY.Equal(0)) { return; } if (detail.TOTALBUDGETMONEY < 0) { string errorMessage = string.Format(ErrorMessage.BudgetMoneyZero, detail.T_FB_SUBJECT.SUBJECTNAME); msgs.Add(errorMessage); } if (detail.USABLEMONEY.LessThan(detail.TOTALBUDGETMONEY)) { if (detail.TOTALBUDGETMONEY > 0) { //不能大于年度结余 //msgs.Add(string.Format(ErrorMessage.BudgetMoneyBigger, detail.T_FB_SUBJECT.SUBJECTNAME)); msgs.Add(string.Format(ErrorMessage.BudgetYearMoneyBigger, detail.T_FB_SUBJECT.SUBJECTNAME)); } } if (detail.BUDGETMONEY < 0) { msgs.Add(string.Format(ErrorMessage.PersonBudgetMoneyBigger, detail.T_FB_SUBJECT.SUBJECTNAME)); } }); if (msgs.Count > 0) { e.Action = Actions.Cancel; CommonFunction.ShowErrorMessage(msgs); } }
/// <summary> /// 获取T_FB_DEPTBUDGETAPPLYDETAIL信息 /// </summary> /// <param name="strDeptBudgetApplyDetailId">主键索引</param> /// <returns></returns> public T_FB_DEPTBUDGETAPPLYDETAIL GetDeptBudgetApplyDetailByID(string strDeptBudgetApplyDetailId) { if (string.IsNullOrEmpty(strDeptBudgetApplyDetailId)) { return(null); } DeptBudgetApplyDetailDAL dalDeptBudgetApplyDetail = new DeptBudgetApplyDetailDAL(); StringBuilder strFilter = new StringBuilder(); List <string> objArgs = new List <string>(); if (!string.IsNullOrEmpty(strDeptBudgetApplyDetailId)) { strFilter.Append(" DEPTBUDGETAPPLYDETAILID == @0"); objArgs.Add(strDeptBudgetApplyDetailId); } T_FB_DEPTBUDGETAPPLYDETAIL entRd = dalDeptBudgetApplyDetail.GetDeptBudgetApplyDetailRdByMultSearch(strFilter.ToString(), objArgs.ToArray()); return(entRd); }
public FBEntity ReSubmitT_FB_DEPTBUDGETAPPLYMASTER(T_FB_DEPTBUDGETAPPLYMASTER entity) { FBEntity fbEntity = GetFBEntityByEntityKey(entity.EntityKey); fbEntity.FBEntityState = FBEntityState.ReSubmit; var master = fbEntity.Entity as T_FB_DEPTBUDGETAPPLYMASTER; var details = fbEntity.GetRelationFBEntities(typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name); var resultEntity = master.CopyEntity(); resultEntity.DEPTBUDGETAPPLYMASTERID = Guid.NewGuid().ToString(); resultEntity.DEPTBUDGETAPPLYMASTERCODE = "自动生成"; resultEntity.CHECKSTATES = (int)CheckStates.UnSubmit; resultEntity.ISVALID = "0"; // 未汇总 resultEntity.T_FB_DEPTBUDGETAPPLYDETAIL = null; var result = resultEntity.ToFBEntity(); var resultDetails = result.GetRelationFBEntities(typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name); var tempDetails = details.ToEntityList <T_FB_DEPTBUDGETAPPLYDETAIL>(); foreach (var item in tempDetails) { T_FB_DEPTBUDGETAPPLYDETAIL detail = item.CopyEntity(); detail.DEPTBUDGETAPPLYDETAILID = Guid.NewGuid().ToString(); detail.T_FB_DEPTBUDGETAPPLYMASTER = resultEntity; FBEntity detailFBEntity = detail.ToFBEntity(); detailFBEntity.FBEntityState = FBEntityState.Added; resultDetails.Add(detailFBEntity); } result.FBEntityState = FBEntityState.ReSubmit; return(result); }
public void AddToT_FB_DEPTBUDGETAPPLYDETAIL(T_FB_DEPTBUDGETAPPLYDETAIL t_FB_DEPTBUDGETAPPLYDETAIL) { base.AddObject("T_FB_DEPTBUDGETAPPLYDETAIL", t_FB_DEPTBUDGETAPPLYDETAIL); }
public static T_FB_DEPTBUDGETAPPLYDETAIL CreateT_FB_DEPTBUDGETAPPLYDETAIL(string dEPTBUDGETAPPLYDETAILID, decimal bUDGETMONEY, string cREATEUSERID, global::System.DateTime cREATEDATE, string uPDATEUSERID, global::System.DateTime uPDATEDATE) { T_FB_DEPTBUDGETAPPLYDETAIL t_FB_DEPTBUDGETAPPLYDETAIL = new T_FB_DEPTBUDGETAPPLYDETAIL(); t_FB_DEPTBUDGETAPPLYDETAIL.DEPTBUDGETAPPLYDETAILID = dEPTBUDGETAPPLYDETAILID; t_FB_DEPTBUDGETAPPLYDETAIL.BUDGETMONEY = bUDGETMONEY; t_FB_DEPTBUDGETAPPLYDETAIL.CREATEUSERID = cREATEUSERID; t_FB_DEPTBUDGETAPPLYDETAIL.CREATEDATE = cREATEDATE; t_FB_DEPTBUDGETAPPLYDETAIL.UPDATEUSERID = uPDATEUSERID; t_FB_DEPTBUDGETAPPLYDETAIL.UPDATEDATE = uPDATEDATE; return t_FB_DEPTBUDGETAPPLYDETAIL; }
private void SetPropertyChanged() { // 因后台保存是二层结构,所有需要把 A->B->C这种结构变成 A->B, A->C结构 ObservableCollection <FBEntity> detailPersonList = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_PERSONBUDGETAPPLYDETAIL).Name); ObservableCollection <FBEntity> detailList = this.OrderEntity.GetRelationFBEntities(typeof(T_FB_DEPTBUDGETAPPLYDETAIL).Name); detailList.ToList().ForEach(item => { #region 部门变化 // 部门预算明细变化事件 item.Entity.PropertyChanged += (senderDept, eDept) => { T_FB_DEPTBUDGETAPPLYDETAIL DeptDetail = senderDept as T_FB_DEPTBUDGETAPPLYDETAIL; #region // 部门预算明细的总预算变化时,统计所有明细的预算 if (eDept.PropertyName == "TOTALBUDGETMONEY") { decimal?newTotal = detailList.Sum(itemDept => { return((decimal?)itemDept.GetObjValue("Entity.TOTALBUDGETMONEY")); }); this.OrderEntity.SetObjValue("Entity.BUDGETMONEY", newTotal); } // 改:先填写预算总额,后填个人预算,而部门的公共预算=预算总额 - 个人预算 2011-12-28 // 个人预算或部门预算变化时,统计个人预算明细 + 部门预算 if (eDept.PropertyName == "TOTALBUDGETMONEY" || eDept.PropertyName == "PERSONBUDGETMONEY") { DeptDetail.BUDGETMONEY = DeptDetail.TOTALBUDGETMONEY.Subtract(DeptDetail.PERSONBUDGETMONEY).Value; } #endregion }; #endregion #region 个人预算明细变化 // 个人预算明细变化 ObservableCollection <FBEntity> obPersonDetail = item.GetRelationFBEntities(typeof(T_FB_PERSONBUDGETAPPLYDETAIL).Name); obPersonDetail.ToList().ForEach(itemPerson => { T_FB_PERSONBUDGETAPPLYDETAIL persondetail = itemPerson.Entity as T_FB_PERSONBUDGETAPPLYDETAIL; itemPerson.Entity.PropertyChanged += (senderPerson, ePerson) => { if (ePerson.PropertyName == "BUDGETMONEY") { var totalPerson = obPersonDetail.Sum(itemPersonDetail => { // 在个人预算中将会部门预算记录,所以需要判断是否统计的对象是个人预算 T_FB_PERSONBUDGETAPPLYDETAIL pDetail = itemPersonDetail.Entity as T_FB_PERSONBUDGETAPPLYDETAIL; if (pDetail != null) { return(pDetail.BUDGETMONEY); } else { return(0); } }); var itemDept = item.Entity as T_FB_DEPTBUDGETAPPLYDETAIL; itemDept.PERSONBUDGETMONEY = totalPerson; } }; detailPersonList.Add(itemPerson); }); // 因为在个人预算中需要体现部门公共费用栏,则加入部门公共费用(T记录到个人预算集合中 if (obPersonDetail.Count > 0) { var sumEntity = new V_DepartmentSum(item.Entity); var curItemEntity = item.Entity as T_FB_DEPTBUDGETAPPLYDETAIL; var sumFBEntity = sumEntity.ToFBEntity(); sumFBEntity.ReadOnly = true; sumEntity.LIMITBUDGETMONEY = curItemEntity.BEGINNINGBUDGETBALANCE.Subtract(obPersonDetail.Sum(itemFB => { var tee = (itemFB.Entity as T_FB_PERSONBUDGETAPPLYDETAIL); if (tee.LIMITBUDGETMONEY == null) { return(0); } else { return(tee.LIMITBUDGETMONEY); } })); sumFBEntity.FBEntityState = FBEntityState.Unchanged; obPersonDetail.Insert(0, sumFBEntity); } else { item.HideDetails = true; } #endregion }); this.EditForm.BindingData(); this.CloseProcess(false); }