public async Task <KeyValuePair <bool, PaymentDetailVM> > UpdatePaymentMethods(PaymentDetailVM paymentDetail) { _logger.LogInformation("PaymentService.UpdatePaymentMethods - Service starts."); var dbPaymentMethod = await _dbContext.PaymentMethod.FindAsync(paymentDetail.PaymentMethod.Id); if (dbPaymentMethod == null) { return(new KeyValuePair <bool, PaymentDetailVM>(false, null)); } dbPaymentMethod.HolderName = paymentDetail.PaymentMethod.CreditCard.HolderName; dbPaymentMethod.CardNumber = paymentDetail.PaymentMethod.CreditCard.CardNumber; dbPaymentMethod.ExpiryDate = HelperProvider.ParseDateTimeString(paymentDetail.PaymentMethod.CreditCard.ExpiryDate, DATE_FORMATS.MONTH_YEAR.GetValue()); dbPaymentMethod.SecurityCode = paymentDetail.PaymentMethod.CreditCard.SecurityCode; dbPaymentMethod.CardAddedOn = DateTime.UtcNow; dbPaymentMethod.PaypalAddress = paymentDetail.PaymentMethod.Paypal.Email; dbPaymentMethod.PaypalAddedOn = DateTime.UtcNow; _dbContext.PaymentMethod.Update(dbPaymentMethod); try { await _dbContext.SaveChangesAsync(); } catch (Exception e) { _logger.LogError("PaymentService.UpdatePaymentMethods - Error: " + e); return(new KeyValuePair <bool, PaymentDetailVM>(true, null)); } return(new KeyValuePair <bool, PaymentDetailVM>(true, paymentDetail)); }
public async Task <PaymentDetailVM> InsertNewPaymentMethod(PaymentDetailVM paymentDetail) { _logger.LogInformation("PaymentService.InsertNewPaymentMethod - Service starts."); var dbPaymentMethod = new PaymentMethod(); if (paymentDetail.PaymentMethod.CreditCard != null) { dbPaymentMethod = new PaymentMethod { HolderName = paymentDetail.PaymentMethod.CreditCard.HolderName, CardNumber = paymentDetail.PaymentMethod.CreditCard.CardNumber, ExpiryDate = HelperProvider.ParseDateTimeString(paymentDetail.PaymentMethod.CreditCard.ExpiryDate, DATE_FORMATS.MONTH_YEAR.GetValue()), SecurityCode = paymentDetail.PaymentMethod.CreditCard.SecurityCode, CardAddedOn = DateTime.UtcNow } } ; if (paymentDetail.PaymentMethod.Paypal != null) { dbPaymentMethod = new PaymentMethod { PaypalAddress = paymentDetail.PaymentMethod.Paypal.Email, PaypalAddedOn = DateTime.UtcNow } } ; dbPaymentMethod.HidrogenianId = paymentDetail.HidrogenianId; _dbContext.PaymentMethod.Add(dbPaymentMethod); try { await _dbContext.SaveChangesAsync(); } catch (Exception e) { _logger.LogError("PaymentService.InsertNewPaymentMethod - Error: " + e); return(null); } paymentDetail.PaymentMethod.Id = dbPaymentMethod.Id; return(paymentDetail); }