Пример #1
0
        public ResultModel Update(UserModel user, Model.CustomsClearance customsClearance, List<Model.CustomsDetail> details)
        {
            ResultModel result = new ResultModel();
            DAL.CustomsDetailDAL customsDetailDAL = new CustomsDetailDAL();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = customsclearanceDAL.Get(user, customsClearance.CustomsId);
                    if (result.ResultStatus != 0)
                        return result;

                    Model.CustomsClearance customsClearanceResult = result.ReturnValue as Model.CustomsClearance;
                    if (customsClearanceResult == null)
                    {
                        result.ResultStatus = -1;
                        result.Message = "获取失败";
                        return result;
                    }

                    customsClearanceResult.Customser = user.EmpId;
                    customsClearanceResult.CustomsCorpId = customsClearance.CustomsCorpId;
                    customsClearanceResult.CustomsDate = DateTime.Now;
                    customsClearanceResult.CustomsName = 0;
                    customsClearanceResult.GrossWeight = customsClearance.GrossWeight;
                    customsClearanceResult.NetWeight = customsClearance.NetWeight;
                    customsClearanceResult.CurrencyId = customsClearance.CurrencyId;
                    customsClearanceResult.CustomsPrice = customsClearance.CustomsPrice;
                    customsClearanceResult.TariffRate = customsClearance.TariffRate;
                    customsClearanceResult.AddedValueRate = customsClearance.AddedValueRate;
                    customsClearanceResult.OtherFees = customsClearance.OtherFees;
                    customsClearanceResult.Memo = customsClearance.Memo;

                    result = customsclearanceDAL.Update(user, customsClearanceResult);
                    if (result.ResultStatus != 0)
                        return result;

                    result = customsDetailDAL.Load(user, customsClearance.CustomsId);
                    if (result.ResultStatus != 0)
                        return result;

                    List<Model.CustomsDetail> customsDetails = result.ReturnValue as List<Model.CustomsDetail>;
                    if (details == null)
                    {
                        result.ResultStatus = -1;
                        result.Message = "获取明细失败";
                        return result;
                    }

                    foreach (Model.CustomsDetail detail in customsDetails)
                    {
                        if (detail.DetailStatus == Common.StatusEnum.已生效)
                            detail.DetailStatus = Common.StatusEnum.已录入;
                        result = customsDetailDAL.Invalid(user, detail);
                        if (result.ResultStatus != 0)
                            return result;
                    }

                    if (details != null && details.Any())
                    {
                        foreach (Model.CustomsDetail detail in details)
                        {
                            detail.CustomsId = customsClearance.CustomsId;
                            result = customsDetailDAL.Insert(user, detail);
                            if (result.ResultStatus != 0)
                                return result;
                        }
                    }

                    if (result.ResultStatus == 0)
                        result.ReturnValue = customsClearance.CustomsId;

                    scope.Complete();
                }
            }
            catch (Exception e)
            {
                result.ResultStatus = -1;
                result.Message = e.Message;
            }

            return result;
        }
Пример #2
0
        public ResultModel Create(UserModel user, Model.CustomsClearance customsClearance, List<Model.CustomsDetail> details)
        {
            ResultModel result = new ResultModel();
            DAL.CustomsDetailDAL customsDetailDAL = new CustomsDetailDAL();

            try
            {
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    customsClearance.Customser = user.EmpId;
                    customsClearance.CustomsDate = DateTime.Now;
                    customsClearance.CustomsName = 0;

                    result = customsclearanceDAL.Insert(user, customsClearance);
                    if (result.ResultStatus != 0)
                        return result;

                    int customsId = (int)result.ReturnValue;

                    if (details != null && details.Any())
                    {
                        foreach (Model.CustomsDetail detail in details)
                        {
                            detail.CustomsId = customsId;
                            result = customsDetailDAL.Insert(user, detail);
                            if (result.ResultStatus != 0)
                                return result;
                        }
                    }

                    if (result.ResultStatus == 0)
                        result.ReturnValue = customsId;

                    scope.Complete();
                }
            }
            catch (Exception e)
            {
                result.ResultStatus = -1;
                result.Message = e.Message;
            }

            return result;
        }