public IActionResult MakeReplenish(ReplenishAccount replenishAccount) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = _service.MakeReplenish(replenishAccount); if (result == null) { return(BadRequest()); } return(Ok(new { id = result.Id, value = result.AccountBalance })); }
public AccountsModel MakeReplenish(ReplenishAccount replenish) { try { using (var conn = CreateConnection()) { conn.Open(); var account = conn.QueryFirstOrDefault <AccountsModel>("SELECT * FROM public.\"Accounts\" WHERE \"AccountNumber\" = @AccountNumber;", new { replenish.AccountNumber }); conn.Execute("UPDATE public.\"Accounts\" SET \"AccountBalance\" = @balance WHERE \"Id\" = @Id;", new { account.Id, balance = account.AccountBalance + replenish.Value }); conn.Execute("INSERT INTO public.\"History\" VALUES(@Id, @AccountId, @Type, @Date, @Value);", new { Id = Guid.NewGuid(), AccountId = account.Id, Type = "Пополнение", Date = DateTime.Now.ToString("yyyy.MM.dd, HH:mm:ss"), replenish.Value }); return(conn.QueryFirstOrDefault <AccountsModel>("SELECT * FROM public.\"Accounts\" WHERE \"AccountNumber\" = @AccountNumber;", new { replenish.AccountNumber })); } } catch (Exception e) { Debug.WriteLine(e.Message); } return(null); }
public IActionResult PostReplenishAccount([FromBody] ReplenishAccount replenishAccount) { return(_transactionsRequestHundler.MakeReplenish(replenishAccount)); }