Exemple #1
0
        /// <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);
        }
Exemple #2
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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public void AddToT_FB_DEPTBUDGETAPPLYDETAIL(T_FB_DEPTBUDGETAPPLYDETAIL t_FB_DEPTBUDGETAPPLYDETAIL)
 {
     base.AddObject("T_FB_DEPTBUDGETAPPLYDETAIL", t_FB_DEPTBUDGETAPPLYDETAIL);
 }
Exemple #6
0
 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;
 }
Exemple #7
0
        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);
        }