public string StorePaymentRequestToMerchant(PaymentRequest paymentRequest) { var merchant = GetMerchant(paymentRequest.MerchantId); if (merchant == null) { return(null); } var isWithinRange = paymentRequest.amount >= merchant.MinAmount && paymentRequest.amount <= merchant.MaxAmount; if (!isWithinRange) { return($"Amount is not within range. Min Amount = {merchant.MinAmount} - {merchant.MaxAmount}"); } merchant.PaymentRequests.Add(paymentRequest); merchant.Cards.Add(paymentRequest.Card); _cPGContext.SaveChanges(); var _bankPaymentResponse = ProcessBankResponse(paymentRequest); var statusToString = _bankPaymentResponse.Status == true ? "Success" : "Unsuccessful"; return($"Payment has been process and stored. PaymentId : {paymentRequest.PaymentRequestId} Status : {statusToString} "); }
public void seedDataToInMemoryDB(CPGContext context) { List <Merchant> Merchants = new List <Merchant>() { new Merchant("Merchant 1") { MinAmount = 0, MaxAmount = 1000 }, new Merchant("Merchant 2") { MinAmount = 200, MaxAmount = 2000 }, new Merchant("Merchant 3") { MinAmount = 3000, MaxAmount = 30000 } }; context.Merchants.AddRange(Merchants); context.SaveChanges(); }