Exemple #1
0
        public ResponseTPLAdd TPLAdd(RequestTPLAdd request)
        {
            ResponseTPLAdd response = new ResponseTPLAdd();

            using (cnn = GetConnection())
            {
                var ts = cnn.BeginTransaction();
                try
                {
                    var user = this.UserInfoGet(request.Token, ts);
                    request.Head.Id = Guid.NewGuid().ToString("N");
                    Add(request, ts, user);

                    ts.Commit();
                    response.Id = request.Head.Id;

                    response.IsSuccess = true;
                    response.Message   = "新增成功";
                    return(response);
                }
                catch (Exception ex)
                {
                    ts.Rollback();
                    return(this.DealException(response, ex) as ResponseTPLAdd);
                }
            }
        }
 public ResponseTPLAdd TPLAdd([FromBody] RequestTPLAdd request)
 {
     try
     {
         TPLBLL bll = new TPLBLL();
         return(bll.TPLAdd(request));
     }
     catch (Exception ex)
     {
         throw new HttpResponseException(
                   Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
Exemple #3
0
        private string Add(RequestTPLAdd request, System.Data.IDbTransaction ts, MM_UserInfo user)
        {
            AccountSetBLL ac     = new AccountSetBLL(cnn);
            var           period = ac.GetActivePeriod(user.AccountId, ts);



            decimal total = 0;
            var     flag  = 0;

            //凭证上辅助核算项直接写死对应列
            foreach (var item in request.Detail)
            {
                if (string.IsNullOrEmpty(item.SubjectCode))
                {
                    continue;
                }

                item.Id = Guid.NewGuid().ToString("N");
                #region 辅助核算赋值
                string[] cals = item.CalValue1.Split(new char[] { '#' });
                for (int i = 0; i < cals.Length; i++)
                {
                    if (string.IsNullOrEmpty(cals[i]))
                    {
                        continue;
                    }
                    string[] ss = cals[i].Split(new char[] { ',' });
                    if (i == 0)
                    {
                        item.CalItem1  = ss[0];
                        item.CalValue1 = ss[1];
                    }
                    else if (i == 1)
                    {
                        item.CalItem2  = ss[0];
                        item.CalValue2 = ss[1];
                    }
                    else if (i == 2)
                    {
                        item.CalItem3  = ss[0];
                        item.CalValue3 = ss[1];
                    }
                    else if (i == 3)
                    {
                        item.CalItem4  = ss[0];
                        item.CalValue4 = ss[1];
                    }
                    else if (i == 4)
                    {
                        item.CalItem5  = ss[0];
                        item.CalValue5 = ss[1];
                    }
                }
                #endregion

                total += item.Money_Debit;

                item.Year      = period.Year;
                item.ParentId  = request.Head.Id;
                item.AccountId = user.AccountId;
                cnn.Insert <TKS_FAS_DocDetailTPL>(item, ts);
                flag++;
            }
            if (flag == 0)
            {
                throw new NormalException("亲,您还没有填写明细");
            }



            request.Head.AccountId  = user.AccountId;
            request.Head.AMT_DBT    = total;
            request.Head.IsCarry    = 0;
            request.Head.TPLTarget  = 0; //用户选择
            request.Head.IsCustom   = 1; //自定义
            request.Head.CreateUser = user.User.TrueName;
            request.Head.CreateDate = DateTime.Now;
            cnn.Insert <TKS_FAS_DocTPL>(request.Head, ts);

            return(request.Head.Id);
        }