Пример #1
0
        public ResultModel Complete(UserModel user, int priceConfirmId)
        {
            ResultModel result = new ResultModel();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = priceconfirmDAL.Get(user, priceConfirmId);
                    if (result.ResultStatus != 0)
                        return result;
                    Model.PriceConfirm priceConfirm = result.ReturnValue as Model.PriceConfirm;
                    if (priceConfirm == null)
                    {
                        result.ResultStatus = -1;
                        result.Message = "该数据不存在,不能完成";
                        return result;
                    }

                    result = priceconfirmDAL.Complete(user, priceConfirm);
                    if (result.ResultStatus != 0)
                        return result;

                    DAL.PriceConfirmDetailDAL priceConfirmDetailDAL = new PriceConfirmDetailDAL();
                    result = priceConfirmDetailDAL.Load(user, priceConfirmId);
                    if (result.ResultStatus != 0)
                        return result;

                    List<Model.PriceConfirmDetail> details = result.ReturnValue as List<Model.PriceConfirmDetail>;

                    if (details != null && details.Any())
                    {
                        foreach (Model.PriceConfirmDetail detail in details)
                        {
                            result = priceConfirmDetailDAL.Complete(user, detail);
                            if (result.ResultStatus != 0)
                                return result;
                        }
                    }

                    if (result.ResultStatus == 0)
                        result.Message = "完成成功";

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.ResultStatus = -1;
                result.Message = ex.Message;
            }
            finally
            {
                if (result.ResultStatus != 0)
                    log.ErrorFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue);
                else if (log.IsInfoEnabled)
                    log.InfoFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue);
            }

            return result;
        }
Пример #2
0
        public ResultModel Invalid(UserModel user, int priceConfirmId)
        {
            ResultModel result = new ResultModel();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = priceconfirmDAL.Get(user, priceConfirmId);
                    if (result.ResultStatus != 0)
                        return result;
                    Model.PriceConfirm priceConfirm = result.ReturnValue as Model.PriceConfirm;
                    if (priceConfirm == null)
                    {
                        result.ResultStatus = -1;
                        result.Message = "该数据不存在,不能作废";
                        return result;
                    }

                    result = priceconfirmDAL.Invalid(user, priceConfirm);
                    if (result.ResultStatus != 0)
                        return result;

                    DAL.PriceConfirmDetailDAL priceConfirmDetailDAL = new PriceConfirmDetailDAL();
                    result = priceConfirmDetailDAL.InvalidAll(user, priceConfirmId);
                    if (result.ResultStatus != 0)
                        return result;

                    if (result.ResultStatus == 0)
                        result.Message = "作废成功";

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.ResultStatus = -1;
                result.Message = ex.Message;
            }
            finally
            {
                if (result.ResultStatus != 0)
                    log.ErrorFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue);
                else if (log.IsInfoEnabled)
                    log.InfoFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue);
            }

            return result;
        }
Пример #3
0
        public ResultModel Update(UserModel user, NFMT.DoPrice.Model.PriceConfirm priceConfirm, List<NFMT.DoPrice.Model.PriceConfirmDetail> details)
        {
            ResultModel result = new ResultModel();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = priceconfirmDAL.Get(user, priceConfirm.PriceConfirmId);
                    if (result.ResultStatus != 0)
                        return result;

                    Model.PriceConfirm priceConfirmResult = result.ReturnValue as Model.PriceConfirm;
                    if (priceConfirmResult == null || priceConfirmResult.PriceConfirmId <= 0)
                    {
                        result.ResultStatus = -1;
                        result.Message = "获取失败";
                        return result;
                    }

                    priceConfirmResult.RealityAmount = priceConfirm.RealityAmount;
                    priceConfirmResult.PricingAvg = priceConfirm.PricingAvg;
                    priceConfirmResult.PremiumAvg = priceConfirm.PremiumAvg;
                    priceConfirmResult.OtherAvg = priceConfirm.OtherAvg;
                    priceConfirmResult.InterestAvg = priceConfirm.InterestAvg;
                    priceConfirmResult.InterestBala = priceConfirm.InterestBala;
                    priceConfirmResult.SettlePrice = priceConfirm.SettlePrice;
                    priceConfirmResult.SettleBala = priceConfirm.SettleBala;
                    priceConfirmResult.PricingDate = priceConfirm.PricingDate;
                    priceConfirmResult.TakeCorpId = priceConfirm.TakeCorpId;
                    priceConfirmResult.ContactPerson = priceConfirm.ContactPerson;
                    priceConfirmResult.Memo = priceConfirm.Memo;

                    result = priceconfirmDAL.Update(user, priceConfirmResult);
                    if (result.ResultStatus != 0)
                        return result;

                    DAL.PriceConfirmDetailDAL priceConfirmDetailDAL = new PriceConfirmDetailDAL();
                    result = priceConfirmDetailDAL.InvalidAll(user, priceConfirm.PriceConfirmId);
                    if (result.ResultStatus != 0)
                        return result;

                    if (details != null && details.Any())
                    {
                        foreach (NFMT.DoPrice.Model.PriceConfirmDetail detail in details)
                        {
                            detail.PriceConfirmId = priceConfirm.PriceConfirmId;
                            result = priceConfirmDetailDAL.Insert(user, detail);
                            if (result.ResultStatus != 0)
                                return result;
                        }
                    }

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.ResultStatus = -1;
                result.Message = ex.Message;
            }
            finally
            {
                if (result.ResultStatus != 0)
                    this.Log.ErrorFormat("{0} {1},序号:{2}", user.EmpName, result.Message, result.ReturnValue);
                else if (this.Log.IsInfoEnabled)
                    this.Log.InfoFormat("{0} {1},序号:{2}", user.EmpName, result.Message, result.ReturnValue);
            }

            return result;
        }
Пример #4
0
        public ResultModel Create(UserModel user, NFMT.DoPrice.Model.PriceConfirm priceConfirm, List<NFMT.DoPrice.Model.PriceConfirmDetail> details,bool isSubmitAudit)
        {
            ResultModel result = new ResultModel();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = priceconfirmDAL.Insert(user, priceConfirm);
                    if (result.ResultStatus != 0)
                        return result;

                    int priceConfirmId = (int)result.ReturnValue;

                    if (details != null && details.Any())
                    {
                        DAL.PriceConfirmDetailDAL priceConfirmDetailDAL = new PriceConfirmDetailDAL();
                        foreach (NFMT.DoPrice.Model.PriceConfirmDetail detail in details)
                        {
                            detail.PriceConfirmId = priceConfirmId;
                            result = priceConfirmDetailDAL.Insert(user, detail);
                            if (result.ResultStatus != 0)
                                return result;
                        }
                    }

                    if (isSubmitAudit)
                    {
                        priceConfirm.PriceConfirmId = priceConfirmId;

                        NFMT.WorkFlow.AutoSubmit submit = new WorkFlow.AutoSubmit();
                        NFMT.WorkFlow.ITaskProvider taskProvider = new NFMT.DoPrice.TaskProvider.PriceConfirmTaskProvider();
                        result = submit.Submit(user, priceConfirm, taskProvider, WorkFlow.MasterEnum.价格确认单审核);
                        if (result.ResultStatus != 0)
                            return result;
                    }

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
                result.ResultStatus = -1;
            }
            finally
            {
                if (result.ResultStatus != 0)
                    this.Log.ErrorFormat("{0} {1},序号:{2}", user.EmpName, result.Message, result.ReturnValue);
                else if (this.Log.IsInfoEnabled)
                    this.Log.InfoFormat("{0} {1},序号:{2}", user.EmpName, result.Message, result.ReturnValue);
            }

            return result;
        }