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)); } }
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); }