示例#1
0
        public AddBillPayResult AddBillPay(AddBillPayRequest model, long memberId)
        {
            var payeeId = _dbContext.Payees
                          .Where(p => p.Guid == model.PayeeGuid)
                          .Select(p => p.Id)
                          .SingleOrDefault();

            if (payeeId == 0)
            {
                return(new AddBillPayResult(AddBillPayResultType.PayeeNotFound, null));
            }

            var billPay = new BillPay
            {
                Amount          = model.Amount.GetValueOrDefault(),
                Frequency       = model.Frequency,
                IsRecurring     = model.IsRecurring,
                MemberId        = memberId,
                NextPaymentDate = model.FirstPaymentDate,
                PayeeId         = payeeId,
            };

            _dbContext.Add(billPay);
            _dbContext.SaveChanges();

            return(new AddBillPayResult(AddBillPayResultType.Successful, billPay));
        }
示例#2
0
        public ActionResult <Database.Models.BillPay> Post(AddBillPayRequest model)
        {
            long memberId = _httpContextAccessor.HttpContext.User.GetMemberId();
            var  result   = _billPayService.AddBillPay(model, memberId);

            if (result.ResultType == AddBillPayResultType.PayeeNotFound)
            {
                return(NotFound($"Payee with guid {model.PayeeGuid} not found."));
            }

            return(CreatedAtAction(nameof(Get), new { guid = result.BillPay.Guid }, result.BillPay));
        }
示例#3
0
        public static async Task <HttpResponseMessage> SendBillPayPostRequest(this HttpClient client, AddPayeeRequest payeeModel, AddBillPayRequest billPayModel)
        {
            // First add the Payee
            var payeeResult = await client.SendPayeePostRequest(payeeModel);

            var payee = await payeeResult.Content.ReadAsAsync <Payee>();

            billPayModel.PayeeGuid = payee?.Guid;

            // Then create the BillPay
            var result = await client.PostAsJsonAsync(Base, billPayModel);

            return(result);
        }