Ejemplo n.º 1
0
        public ActionResult NewCard(NewHGSCardInDTO dto)
        {
            try
            {
                if (dto.Balance < 0 || dto.VehicleType == 0 || string.IsNullOrWhiteSpace(dto.VehiclePlate))
                {
                    TempData["Error"] = "Girdiğiniz bilgileri kontrol ediniz.";
                    return(Redirect($"/Hgs/NewCard"));
                }

                HGSCardTypeDTO card            = _externalService.GetCardTypes();
                decimal        customerBalance = _accountService.GetAccountBalance(dto.AccountId);
                decimal        totalPayment    = dto.Balance;
                switch (dto.VehicleType)
                {
                case 1:
                    totalPayment += card.CardPriceA;
                    break;

                case 2:
                    totalPayment += card.CardPriceB;
                    break;

                case 3:
                    totalPayment += card.CardPriceC;
                    break;

                default:
                    break;
                }
                if (customerBalance < totalPayment)
                {
                    TempData["Error"] = "Hesabınızda yeterli bakiye yok.";
                    return(Redirect($"/Hgs/NewCard"));
                }

                dto.CustomerId  = UserSession.Info.Id;
                dto.PaymentType = 1;
                dto.RequestDate = DateTime.Now;

                NewHGSCardResultDTO result = _externalService.NewHGSCard(dto);
                if (result.IsSuccess)
                {
                    TempData["Success"] = result.Message;
                    return(Redirect($"/Hgs/Index"));
                }
                else
                {
                    TempData["Error"] = "Girdiğiniz bilgileri kontrol ediniz.";
                    return(Redirect($"/Hgs/NewCard"));
                }
            }
            catch (Exception ex)
            {
                TempData["Error"] = "Girdiğiniz bilgileri kontrol ediniz.";
                return(Redirect($"/Hgs/NewCard"));
            }
        }