Exemple #1
0
        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);
        }
Exemple #3
0
 public IActionResult PostReplenishAccount([FromBody] ReplenishAccount replenishAccount)
 {
     return(_transactionsRequestHundler.MakeReplenish(replenishAccount));
 }