Ejemplo n.º 1
0
        public async Task <PaymentDetailVM> AddBalanceToAccount(PaymentDetailVM paymentDetail)
        {
            _logger.LogInformation("PaymentService.AddAccountBalance - paymentMethodId=" + paymentDetail.PaymentMethod.Id);

            var dbPaymentMethod = await _dbContext.PaymentMethod.FirstOrDefaultAsync(p => p.HidrogenianId == paymentDetail.HidrogenianId);

            if (dbPaymentMethod == null)
            {
                dbPaymentMethod = new PaymentMethod {
                    HidrogenianId  = paymentDetail.HidrogenianId,
                    AccountBalance = paymentDetail.PaymentMethod.AccountBalance,
                    BalanceAddedOn = DateTime.UtcNow
                };

                _dbContext.PaymentMethod.Add(dbPaymentMethod);
            }
            else
            {
                dbPaymentMethod.AccountBalance = paymentDetail.PaymentMethod.AccountBalance;
                dbPaymentMethod.BalanceAddedOn = DateTime.UtcNow;

                _dbContext.PaymentMethod.Update(dbPaymentMethod);
            }

            try {
                await _dbContext.SaveChangesAsync();
            } catch (Exception e) {
                _logger.LogError("PaymentService.AddAccountBalance - Error: " + e);
                return(null);
            }

            paymentDetail.PaymentMethod.BalanceDate = dbPaymentMethod.BalanceAddedOn.Value.ToString(DATE_FORMATS.FULL_DATE_FRIENDLY.GetValue());
            return(paymentDetail);
        }
Ejemplo n.º 2
0
        public async Task <JsonResult> AddBalanceToAccount(PaymentDetailVM paymentDetail)
        {
            _logger.LogInformation("PaymentController.AddBalanceToAccount - Service starts.");

            var added = await _paymentService.AddBalanceToAccount(paymentDetail);

            return(added == null ? new JsonResult(new { Result = RESULTS.FAILED, Message = "An error occurred while saving your account balance. Please try again." })
                                 : new JsonResult(new { Result = RESULTS.SUCCESS }));
        }
Ejemplo n.º 3
0
        public async Task <JsonResult> AddPaymentDetails(PaymentDetailVM paymentDetail)
        {
            _logger.LogInformation("PaymentController.AddPaymentDetails - Service starts.");

            var newPaymentMethod = await _paymentService.InsertNewPaymentMethod(paymentDetail);

            return(newPaymentMethod == null ? new JsonResult(new { Result = RESULTS.FAILED, Message = "An error occurred while saving your new Payment Method. Please try again." })
                                            : new JsonResult(new { Result = RESULTS.SUCCESS, Message = newPaymentMethod }));
        }
Ejemplo n.º 4
0
        public async Task <JsonResult> UpdatePaymentDetails(PaymentDetailVM paymentDetail)
        {
            _logger.LogInformation("PaymentController.UpdatePaymentDetails - Service starts.");

            var updateResult = await _paymentService.UpdatePaymentMethods(paymentDetail);

            return(!updateResult.Key ? new JsonResult(new { Result = RESULTS.FAILED, Message = "Unable to find a Payment Method associated with your account." })
                                     : (updateResult.Value == null ? new JsonResult(new { Result = RESULTS.FAILED, Message = "An error occurred while attempting to update your Payment Method. Please try again." })
                                                                   : new JsonResult(new { Result = RESULTS.SUCCESS, Message = updateResult.Value })));
        }
Ejemplo n.º 5
0
        public async Task <JsonResult> GetPaymentDetailsFor(int hidrogenianId)
        {
            _logger.LogInformation("PaymentController.GetPaymentDetailsFor - hidrogenianId=" + hidrogenianId);

            var details = await _paymentService.RetrievePaymentMethodsFor(hidrogenianId);

            if (details != null)
            {
                return(new JsonResult(new { Result = RESULTS.SUCCESS, Message = details }));
            }

            details = new PaymentDetailVM {
                HidrogenianId = hidrogenianId
            };
            return(new JsonResult(new { Result = RESULTS.SUCCESS, Message = details }));
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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));
        }