Example #1
0
        public string FinancingRepoApplyIdComplete(string userStr, int repoApplyId)
        {
            ResultModel result = new ResultModel();
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            try
            {
                UserModel user = serializer.Deserialize<UserModel>(userStr);

                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    //完成赎回申请单
                    RepoApplyDAL repoApplyDAL = new RepoApplyDAL();
                    result = repoApplyDAL.Get(user, repoApplyId);
                    if (result.ResultStatus != 0)
                        return result.Message;

                    RepoApply repoApply = result.ReturnValue as RepoApply;

                    result = repoApplyDAL.Complete(user, repoApply);
                    if (result.ResultStatus != 0)
                        return result.Message;

                    //完成赎回申请单明细
                    RepoApplyDetailDAL repoApplyDetailDAL = new RepoApplyDetailDAL();
                    result = repoApplyDetailDAL.LoadByRepoApplyId(user, repoApplyId, StatusEnum.已生效);
                    if (result.ResultStatus != 0)
                        return result.Message;

                    List<RepoApplyDetail> details = result.ReturnValue as List<RepoApplyDetail>;
                    if (details == null || !details.Any())
                        return "获取赎回申请单明细失败";

                    foreach (RepoApplyDetail detail in details)
                    {
                        result = repoApplyDetailDAL.Complete(user, detail);
                        if (result.ResultStatus != 0)
                            return result.Message;
                    }

                    if (result.ResultStatus == 0)
                    {
                        scope.Complete();
                        return "执行完成成功";
                    }
                    else
                        return "执行完成失败";
                }
            }
            catch (Exception e)
            {
                this.log.ErrorFormat("FinService出错,出错方法:{0},{1}", "FinancingRepoApplyIdComplete", e.Message);
                return e.Message;
            }
        }