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)); }
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)); }
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); }