public decimal PayForBasket(string userMail, Enums.PaymentType paymentType, decimal moneyGiven = 0)
        {
            var basketService = DependencyFactory.Container.Resolve <IBasketService>();

            if (guestBasket != null && !guestBasket.Paid)
            {
                if (paymentType == Enums.PaymentType.Cash && guestBasket.TotalPrice <= moneyGiven)
                {
                    basketService.SetBasketPaid(guestBasket.Id);
                    basketService.SetBasketPaymentType(guestBasket.Id, paymentType);
                    var result = moneyGiven - guestBasket.TotalPrice;
                    guestBasket = null;
                    return(result);
                }
                if (paymentType == Enums.PaymentType.CreditCard)
                {
                    basketService.SetBasketPaid(guestBasket.Id);
                    basketService.SetBasketPaymentType(guestBasket.Id, paymentType);
                    guestBasket = null;
                    return(0);
                }
            }

            return(-1);
        }
        public decimal PayForBasket(string userMail, Enums.PaymentType paymentType, decimal moneyGiven = 0)
        {
            var user = userService.GetUser(userMail);

            if (user != null)
            {
                var basket = basketService.GetBasketForUser(user.Id);
                if (basket != null && !basket.Paid)
                {
                    if (paymentType == Enums.PaymentType.Cash && basket.TotalPrice <= moneyGiven)
                    {
                        basketService.SetBasketPaid(basket.Id);
                        basketService.SetBasketPaymentType(basket.Id, paymentType);
                        return(moneyGiven - basket.TotalPrice);
                    }
                    if (paymentType == Enums.PaymentType.CreditCard)
                    {
                        basketService.SetBasketPaid(basket.Id);
                        basketService.SetBasketPaymentType(basket.Id, paymentType);
                        return(0);
                    }
                }
            }

            return(-1);
        }
        public void SetBasketPaymentType(int basketId, Enums.PaymentType paymentType)
        {
            using (var context = new ShopContext())
            {
                var basket = context.Baskets.SingleOrDefault(x => x.Id == basketId);

                if (basket != null)
                {
                    basket.PaymentType = paymentType;
                    context.SaveChanges();
                }
            }
        }
 public void LogPaymentType(Enums.PaymentType paymentType)
 {
     Console.WriteLine(paymentType.ToString() + " is chosen.");
 }