public IHttpActionResult InsertSpend(SpendRequest spendRequest) { if (spendRequest == null) { return(BadRequest("spend request not found")); } if (spendRequest.BudgetId <= 0 || spendRequest.Amount <= 0) { return(BadRequest("Spend budget id and or amount not found")); } var loggedInUser = HttpContext.Current.User as SecurityPrincipal; logger.Info($"Spend created by {loggedInUser.ForeName}"); spendRequest.CreatedById = loggedInUser.Id; // Most of the spends are money spend, so [Debit] // Admin may credit all or some amount, will be [Credit]. // UI should the flag for Credit. if (string.IsNullOrEmpty(spendRequest.TranType)) { spendRequest.TranType = Constants.SPEND_TRAN_TYPE_DEBIT; } var result = _budgetService.InsertSpend(spendRequest); return(Ok(result)); }
public IHttpActionResult Post(SpendRequest Spend) { var result = SpendService.CreateSpend(Spend); return(Created <Entidad>("", new Entidad { Id = result.Id })); }
// PUT api/<controller>/5 /// <summary> /// Modifica un Spend /// </summary> /// <param name="Spend">Spend a modificar</param> /// <returns></returns> public IHttpActionResult Put(int id, SpendRequest Spend) { var originalSpend = SpendService.GetById(id); var ret = SpendService.UpdateSpend(originalSpend, Spend); return(Ok()); }
private void MergeSpend(Spend originalSpend, SpendRequest Spend) { originalSpend.Bill = this.BillRepository.GetById(Spend.BillId); originalSpend.Consortium = this.ConsortiumRepository.GetById(Spend.ConsortiumId); originalSpend.Type = this.SpendTypeRepository.GetById(Spend.SpendTypeId); originalSpend.SpendClass = this.SpendClassRepository.GetById(Spend.SpendClassId); originalSpend.Task = Spend.TaskId.HasValue ? this.TaskRepository.GetById(Spend.TaskId.Value) : null; originalSpend.Description = Spend.Description; originalSpend.PaymentDate = Spend.PaymentDate; }
public Spend CreateSpend(SpendRequest Spend) { var entityToInsert = new Spend() { }; MergeSpend(entityToInsert, Spend); SpendRepository.Insert(entityToInsert); return(entityToInsert); }
private void PostSpend(IList <Spend> spends, int consortiumId) { foreach (var spend in spends) { var nbill = new BillRequest() { Amount = spend.Bill.Amount, CreationDate = spend.PaymentDate, Number = "00000", ExpirationDate = spend.PaymentDate, NextExpirationDate = spend.PaymentDate, ManagerId = spend.Bill.Manager != null ? spend.Bill.Manager.Id : 0 }; var nspend = new SpendRequest() { Description = spend.Description, PaymentDate = spend.PaymentDate, SpendTypeId = spend.Type.Id, SpendClassId = spend.SpendClass.Id, ConsortiumId = consortiumId }; try { var result = false; Entidad entity = new Entidad() { Id = nbill.Id }; if (nbill.Id == 0) { entity = this.BillService.CreateBill(nbill); result = entity.Id != 0; } if (result) { nspend.BillId = entity.Id; result = this.SpendService.CreateSpend(nspend); } } catch (Exception ex) { } } }
public IHttpActionResult IssueCreditNote(SpendRequest spendRequest) { if (spendRequest == null || spendRequest.BudgetId <= 0) { return(BadRequest("Budget id or spend is missing.")); } var loggedInUser = HttpContext.Current.User as SecurityPrincipal; logger.Info($"Spend Budget created by {loggedInUser.ForeName}"); spendRequest.CreatedById = loggedInUser.Id; // Note: Same ftn as user does spend, except this req should all necessary values populated UI var inserted = _budgetService.InsertSpend(spendRequest); return(Ok(inserted)); }
public Spend UpdateSpend(Spend originalSpend, SpendRequest Spend) { this.MergeSpend(originalSpend, Spend); SpendRepository.Update(originalSpend); return(originalSpend); }
public bool UpdateSpend(SpendRequest Spend) { return(IntegrationService.RestCallNoReturn(ConfigurationManager.AppSettings["ApiCoreUrl"], string.Format(ApiCore.UpdateSpend, Spend.Id), RestMethod.Put, null, Spend)); }
public bool CreateSpend(SpendRequest Spend) { return(IntegrationService.RestCallNoReturn(ConfigurationManager.AppSettings["ApiCoreUrl"], ApiCore.CreateSpend, RestMethod.Post, null, Spend)); }
public ActionResult CreateUpdateSpend(CreateSpendViewModel spend) { var nbill = new BillRequest() { Amount = spend.Bill.Amount, CreationDate = DateTime.Now, Number = spend.Bill.Number, ClientNumber = spend.Bill.ClientNumber, ExpirationDate = spend.Bill.ExpirationDate, NextExpirationDate = spend.Bill.NextExpirationDate, ManagerId = spend.ManagerId, ProviderId = spend.ProviderId, WorkerId = spend.WorkerId, Id = spend.Bill.Id }; var nspend = new SpendRequest() { Description = spend.Description, PaymentDate = DateTime.Now, SpendTypeId = spend.SpendTypeId, SpendClassId = spend.SpendClassId, ConsortiumId = spend.ConsortiumId, TaskId = spend.TaskId, Id = spend.Id }; try { var result = false; Entidad entity = new Entidad() { Id = nbill.Id }; if (nbill.Id == 0) { entity = this.BillService.CreateBill(nbill); result = entity.Id != 0; } else { result = this.BillService.UpdateBill(nbill); } if (result) { if (nspend.Id == 0) { nspend.BillId = entity.Id; result = this.SpendService.CreateSpend(nspend); } else { nspend.BillId = entity.Id; result = this.SpendService.UpdateSpend(nspend); } if (result) { return(Redirect(string.Format("/Spend/Index?Id={0}", spend.ConsortiumId))); } else { return(View("../Shared/Error")); } } else { return(View("../Shared/Error")); } } catch (Exception ex) { return(View("../Shared/Error")); } }
public SpendRequest InsertSpend(SpendRequest spendRequest) { string sql = @"INSERT INTO [dbo].[spends] ([budget_id] ,[amount] ,[po_number] ,[tran_type] ,[created_by_id]) VALUES (@budgetid ,@amount ,@ponumber ,@trantype ,@createdbyid); SELECT CAST(SCOPE_IDENTITY() as int);"; string sqlInsComments = @"INSERT INTO [dbo].[spend_comments_statuses] ([spend_id] ,[comments] ,[status] ,[created_by_id]) VALUES (@spendid ,@comments ,@status ,@createdbyid)"; string sqlInsUnqNbr = @"INSERT INTO [dbo].[unq_number] VALUES (@createddate); SELECT CAST(SCOPE_IDENTITY() as int);"; string sqlDelUnqNbr = @"DELETE FROM [dbo].[unq_number] WHERE id > 0"; using (IDbConnection conn = new SqlConnection(_connectionString)) { conn.Open(); using (var tran = conn.BeginTransaction()) { if (spendRequest.TranType == Constants.SPEND_TRAN_TYPE_DEBIT) { // clean unq number table each time req is made var affRowsX0 = conn.Execute(sqlDelUnqNbr, transaction: tran); DynamicParameters dp = new DynamicParameters(); dp.Add("createddate", DateTime.Now, DbType.DateTime, ParameterDirection.Input); var newUnqId = conn.QuerySingle <int>(sqlInsUnqNbr, dp, commandType: CommandType.Text, transaction: tran); // pad unq id to ponumber spendRequest.PoNumber = spendRequest.PoNumber + "-" + DateTime.Now.ToString("MMyy") + "-" + newUnqId; } DynamicParameters dp2 = new DynamicParameters(); dp2.Add("budgetid", spendRequest.BudgetId, DbType.Int32, ParameterDirection.Input); dp2.Add("amount", spendRequest.Amount, DbType.Decimal, ParameterDirection.Input); dp2.Add("ponumber", spendRequest.PoNumber, DbType.String, ParameterDirection.Input, 100); dp2.Add("trantype", spendRequest.TranType, DbType.String, ParameterDirection.Input); dp2.Add("createdbyid", spendRequest.CreatedById, DbType.Int32, ParameterDirection.Input); var newSpendId = conn.QuerySingle <int>(sql, dp2, commandType: CommandType.Text, transaction: tran); DynamicParameters dp3 = new DynamicParameters(); dp3.Add("spendid", newSpendId, DbType.Int32, ParameterDirection.Input); dp3.Add("comments", spendRequest.SpendComments.Comments, DbType.String, ParameterDirection.Input); dp3.Add("status", spendRequest.SpendComments.Status.ToString(), DbType.String, ParameterDirection.Input); dp3.Add("createdbyid", spendRequest.CreatedById, DbType.Int32, ParameterDirection.Input); var affRowsX2 = conn.Execute(sqlInsComments, dp3, transaction: tran); tran.Commit(); } } return(spendRequest); }
// Spend Related (expenses) public SpendRequest InsertSpend(SpendRequest spendRequest) { return(_spendDataProvider.InsertSpend(spendRequest)); }