public ResponseDto Save(ApprovalFicheSaveDto saveDto) { ResponseDto responseDto = new ResponseDto(); ApprovalFicheSaveBo saveBo = new ApprovalFicheSaveBo() { FicheId = saveDto.FicheId, ApprovalStatId = saveDto.ApprovalStatId, Session = Session }; if (saveDto.ChoiceReturnList != null && saveDto.ChoiceReturnList.Count > 0) { saveBo.ChoiceReturnList = (from x in saveDto.ChoiceReturnList select new FicheMoneyBo { Id = x.Id, DebtPersonAccountId = x.DebtPersonAccountId, CreditPersonAccountId = x.CreditPersonAccountId, Total = x.Total, DebtPersonAccountTypeId = x.DebtPersonAccountTypeId, CreditPersonAccountTypeId = x.CreditPersonAccountTypeId, Notes = x.Notes }).ToList(); } ResponseBo responseBo = approvalFicheBusiness.Save(saveBo); base.SendNotifyWsToList(responseBo.PersonNotifyList); responseDto = responseBo.ToResponseDto(); return(responseDto); }
public ResponseBo Save(ApprovalFicheSaveBo saveBo) { ResponseBo responseBo = new ResponseBo(); try { using (SqlConnection conn = DbAccess.Connection.GetConn()) { var p = new DynamicParameters(); p.Add("@Message", dbType: DbType.String, direction: ParameterDirection.Output, size: 255); p.Add("@IsSuccess", dbType: DbType.Boolean, direction: ParameterDirection.Output); p.Add("@ReturnedId", dbType: DbType.Int64, direction: ParameterDirection.Output); p.Add("@NotifyPersonListJson", dbType: DbType.String, direction: ParameterDirection.Output, size: 1000); p.Add("@Inner", false, DbType.Boolean, ParameterDirection.Input); // true means called from another 'spApprovalFicheSave' p.Add("@FicheId", saveBo.FicheId, DbType.Int64, ParameterDirection.Input); p.Add("@MyPersonId", saveBo.Session.MyPerson.Id, DbType.Int64, ParameterDirection.Input); p.Add("@ApprovalStatId", saveBo.ApprovalStatId, DbType.Int32, ParameterDirection.Input); p.Add("@OperatorRealId", saveBo.Session.RealPerson.Id, DbType.Int64, ParameterDirection.Input); p.Add("@LanguageId", saveBo.Session.RealPerson.LanguageId, DbType.Int32, ParameterDirection.Input); DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(long)); dt.Columns.Add("DebtPersonAccountId", typeof(long)); dt.Columns.Add("CreditPersonAccountId", typeof(long)); dt.Columns.Add("Total", typeof(decimal)); dt.Columns.Add("DebtPersonAccountTypeId", typeof(int)); dt.Columns.Add("CreditPersonAccountTypeId", typeof(int)); dt.Columns.Add("Notes", typeof(string)); if (saveBo.ChoiceReturnList != null && saveBo.ChoiceReturnList.Count > 0) { foreach (FicheMoneyBo item in saveBo.ChoiceReturnList) { DataRow dr = dt.NewRow(); dr["Id"] = item.Id; if (item.DebtPersonAccountId == null) { dr["DebtPersonAccountId"] = DBNull.Value; } else { dr["DebtPersonAccountId"] = item.DebtPersonAccountId; } if (item.CreditPersonAccountId == null) { dr["CreditPersonAccountId"] = DBNull.Value; } else { dr["CreditPersonAccountId"] = item.CreditPersonAccountId; } dr["Total"] = item.Total; dr["DebtPersonAccountTypeId"] = item.DebtPersonAccountTypeId; dr["CreditPersonAccountTypeId"] = item.CreditPersonAccountTypeId; dr["Notes"] = item.Notes; dt.Rows.Add(dr); } p.Add("@tvpChoiceReturnList", dt.AsTableValuedParameter("tvpFicheMoney")); } conn.Execute("spApprovalFicheSave", p, commandType: CommandType.StoredProcedure); responseBo.Message = p.Get <string>("@Message"); responseBo.IsSuccess = p.Get <bool>("@IsSuccess"); responseBo.ReturnedId = p.Get <long>("@ReturnedId"); string NotifyPersonListJson = p.Get <string>("@NotifyPersonListJson"); if (NotifyPersonListJson.IsNotNull()) { responseBo.PersonNotifyList = JsonConvert.DeserializeObject <List <PersonNotifyListBo> >(NotifyPersonListJson); } } } catch (Exception ex) { responseBo = base.SaveExLog(ex, this.GetType(), MethodBase.GetCurrentMethod().Name, saveBo); } return(responseBo); }