コード例 #1
0
ファイル: CostCenterService.cs プロジェクト: zxs77588/SmoONE
        /// <summary>
        /// 更新成本中心类型的模板
        /// </summary>
        /// <param name="entity">成本中心类型的模板对象</param>
        public ReturnInfo UpdateCC_Type_Template(CCTTInputDto entity)
        {
            ReturnInfo    RInfo        = new ReturnInfo();
            StringBuilder sb           = new StringBuilder();
            string        ValidateInfo = Helper.ValidateCCTTInputDto(entity);

            if (string.IsNullOrEmpty(ValidateInfo))
            {
                CC_Type_Template cctt = _cc_Type_TemplateRepository.GetByID(entity.CC_TT_TemplateID).FirstOrDefault();
                if (cctt != null)
                {
                    try
                    {
                        cctt.CC_TT_UpdateDate = DateTime.Now;
                        if (entity.CC_TT_AEACheckers != null)
                        {
                            cctt.CC_TT_AEACheckers = entity.CC_TT_AEACheckers;
                        }
                        if (entity.CC_TT_FinancialCheckers != null)
                        {
                            cctt.CC_TT_FinancialCheckers = entity.CC_TT_FinancialCheckers;
                        }
                        if (entity.CC_TT_TypeID != null)
                        {
                            cctt.CC_TT_TypeID = entity.CC_TT_TypeID;
                        }
                        if (entity.CC_TT_UpdateUser != null)
                        {
                            cctt.CC_TT_UpdateUser = entity.CC_TT_UpdateUser;
                        }
                        _unitOfWork.RegisterDirty(cctt);
                        bool result = _unitOfWork.Commit();
                        RInfo.IsSuccess = result;
                        RInfo.ErrorInfo = sb.ToString();
                        return(RInfo);
                    }
                    catch (Exception ex)
                    {
                        _unitOfWork.RegisterClean(cctt);
                        _unitOfWork.Rollback();
                        sb.Append(ex.Message);
                        RInfo.IsSuccess = false;
                        RInfo.ErrorInfo = sb.ToString();
                        return(RInfo);
                    }
                }
                else
                {
                    RInfo.IsSuccess = false;
                    RInfo.ErrorInfo = "找不到该成本中心类型的模板!";
                    return(RInfo);
                }
            }
            else
            {
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = sb.ToString();
                return(RInfo);
            }
        }
コード例 #2
0
ファイル: CostCenterService.cs プロジェクト: zxs77588/SmoONE
        /// <summary>
        /// 添加成本中心类型的模板
        /// </summary>
        /// <param name="entity">成本中心类型的模板对象</param>
        public ReturnInfo AddCC_Type_Template(CCTTInputDto entity)
        {
            ReturnInfo    RInfo = new ReturnInfo();
            StringBuilder sb    = new StringBuilder();
            string        MaxID = _cc_Type_TemplateRepository.GetMaxID();
            string        NowID = Helper.GenerateIDEx("CT", MaxID);

            entity.CC_TT_TemplateID = NowID;
            string ValidateInfo = Helper.ValidateCCTTInputDto(entity);

            sb.Append(ValidateInfo);
            if (string.IsNullOrEmpty(ValidateInfo))
            {
                try
                {
                    CC_Type_Template cctt = Mapper.Map <CCTTInputDto, CC_Type_Template>(entity);
                    cctt.CC_TT_UpdateDate = DateTime.Now;
                    string MaxID2 = _cc_Type_TemplateRepository.GetMaxID();
                    string NowID2 = Helper.GenerateIDEx("CT", MaxID2);
                    cctt.CC_TT_TemplateID = NowID2;
                    _unitOfWork.RegisterNew(cctt);
                    bool result = _unitOfWork.Commit();
                    RInfo.IsSuccess = result;
                    RInfo.ErrorInfo = sb.ToString();
                    return(RInfo);
                }
                catch (Exception ex)
                {
                    _unitOfWork.Rollback();
                    sb.Append(ex.Message);
                    RInfo.IsSuccess = false;
                    RInfo.ErrorInfo = sb.ToString();
                    return(RInfo);
                }
            }
            else
            {
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = sb.ToString();
                return(RInfo);
            }
        }
コード例 #3
0
        /// <summary>
        /// 更新报销单
        /// </summary>
        /// <param name="entity">报销单对象</param>
        public ReturnInfo UpdateRB(RBInputDto entity)
        {
            ReturnInfo    RInfo = new ReturnInfo();
            StringBuilder sb    = new StringBuilder();
            Reimbursement rb    = _reimbursementRepository.GetByID(entity.RB_ID).FirstOrDefault();

            if (rb != null)
            {
                Reimbursement rb2 = _reimbursementRepository.GetByID(entity.RB_ID).AsNoTracking().FirstOrDefault();
                if (rb2.RB_Status >= 1)
                {
                    RInfo.IsSuccess = false;
                    RInfo.ErrorInfo = "只有新建和已拒绝的才能修改.";
                    return(RInfo);
                }
                else
                {
                    string ValidateInfo = Helper.ValidateRBInputDto(entity);
                    sb.Append(ValidateInfo);
                    if (string.IsNullOrEmpty(ValidateInfo))
                    {
                        try
                        {
                            rb.RB_UpdateDate = DateTime.Now;
                            List <int> OldIDs = _rbrowsRepository.GetByRBID(entity.RB_ID).Select(o => o.R_ID).ToList();
                            List <int> NewIDs = new List <int>();
                            decimal    Total  = 0;
                            foreach (RB_RowsInputDto row in entity.RB_Rows)
                            {
                                NewIDs.Add(row.R_ID);
                                Total += row.R_Amount;
                            }
                            rb.RB_TotalAmount = Total;
                            CostCenter cc = _costCenterRepository.GetByID(entity.CC_ID).AsNoTracking().FirstOrDefault();
                            if (cc != null)
                            {
                                rb.RB_LiableMan = cc.CC_LiableMan;
                            }
                            CC_Type_Template ctp = _cc_Type_TemplateRepository.GetByID(cc.CC_TemplateID).AsNoTracking().FirstOrDefault();
                            if (ctp != null)
                            {
                                rb.RB_AEACheckers       = ctp.CC_TT_AEACheckers;
                                rb.RB_FinancialCheckers = ctp.CC_TT_FinancialCheckers;
                            }
                            if (entity.CC_ID != null)
                            {
                                rb.CC_ID = entity.CC_ID;
                            }
                            rb.RB_Img1 = entity.RB_Img1;
                            rb.RB_Img2 = entity.RB_Img2;
                            rb.RB_Img3 = entity.RB_Img3;
                            rb.RB_Img4 = entity.RB_Img4;
                            rb.RB_Img5 = entity.RB_Img5;
                            rb.RB_Img6 = entity.RB_Img6;
                            rb.RB_Img7 = entity.RB_Img7;
                            rb.RB_Img8 = entity.RB_Img8;
                            rb.RB_Img9 = entity.RB_Img9;
                            if (entity.RB_Note != null)
                            {
                                rb.RB_Note = entity.RB_Note;
                            }
                            //rb.RB_RejectionReason = entity.RB_RejectionReason;
                            rb.RB_Status     = (int)RB_Status.新建;
                            rb.RB_UpdateDate = DateTime.Now;
                            if (entity.RB_UpdateUser != null)
                            {
                                rb.RB_UpdateUser = entity.RB_UpdateUser;
                            }
                            rb.RB_CurrantCheck = "";
                            _unitOfWork.RegisterDirty(rb);
                            List <int> Add    = NewIDs.Except(OldIDs).ToList();
                            List <int> Delete = OldIDs.Except(NewIDs).ToList();
                            foreach (int addID in Add)
                            {
                                RB_Rows row = _rbrowsRepository.GetByID(addID).FirstOrDefault();
                                row.RB_ID = entity.RB_ID;
                                _unitOfWork.RegisterDirty(row);
                            }
                            foreach (int deleteID in Delete)
                            {
                                RB_Rows row = _rbrowsRepository.GetByID(deleteID).FirstOrDefault();
                                row.RB_ID = null;
                                _unitOfWork.RegisterDirty(row);
                            }
                            bool result = _unitOfWork.Commit();
                            RInfo.IsSuccess = result;
                            RInfo.ErrorInfo = sb.ToString();
                            return(RInfo);
                        }
                        catch (Exception ex)
                        {
                            _unitOfWork.RegisterClean(rb);
                            _unitOfWork.Rollback();
                            sb.Append(ex.Message);
                            RInfo.IsSuccess = false;
                            RInfo.ErrorInfo = sb.ToString();
                            return(RInfo);
                        }
                    }
                    else
                    {
                        RInfo.IsSuccess = false;
                        RInfo.ErrorInfo = sb.ToString();
                        return(RInfo);
                    }
                }
            }
            else
            {
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = "查找不到该ID的报销单!";
                return(RInfo);
            }
        }