Пример #1
0
        public IActionResult SavePaymentInfo(PaymentInfoVM paymentInfo)
        {
            if (paymentInfo.Bonuses < paymentInfo.PayByBonuses ||
                (paymentInfo.PaymentType == PaymentType.CardOnline &&
                 (paymentInfo.CardNumber.IsNullOrEmpty() || paymentInfo.CardOwnerName.IsNullOrEmpty() ||
                  !paymentInfo.DateTo.HasValue)))
            {
                return(Index());
            }

            /*if (!ModelState.IsValid)
             * {
             *  return Index();
             * }*/

            HttpContext.Session.Set(SessionKeys.PaymentInfo, paymentInfo);
            var shoppingCart = HttpContext.Session.Get <ShoppingCartVM>(SessionKeys.ShoppingCart);
            var deliveryInfo = HttpContext.Session.Get <DeliveryInfoVM>(SessionKeys.DeliveryInfo);

            var newOrder = _orderVMService.BuildNewOrder(shoppingCart, deliveryInfo, paymentInfo);
            var model    = _orderVMService.CreateOrder(newOrder, HttpContext.User.Identity.Name);

            HttpContext.Session.Set(SessionKeys.ShoppingCart, new ShoppingCartVM());
            HttpContext.Session.Set(SessionKeys.DeliveryInfo, new DeliveryInfoVM());
            HttpContext.Session.Set(SessionKeys.PaymentInfo, new PaymentInfoVM());

            return(View("/Views/Ordering/OrderResult.cshtml", model));
        }
Пример #2
0
        public async Task <ActionResult> Contact(string NationalId, short Page = 1)
        {
            //var identity = (ClaimsIdentity)User.Identity;
            //var code = int.Parse( identity.Claims.FirstOrDefault(c => c.Type == "CodeClaim").Value);
            if (string.IsNullOrEmpty(NationalId))
            {
                return(View("Error"));
            }



            short pageSize = 20;
            var   _db      = new ApplicationDbContext();

            var user = await UserManager.GetUserByNationalIdAsync(NationalId);

            if (user == null)
            {
                return(View("Error"));
            }
            var result = new PaymentInfoVM
            {
                PaymentData = await(from dfd in _db.DailyFileDetailses
                                    join df in _db.DailyFiles on dfd.DailyFileId equals df.Id
                                    join d in _db.Dailies on df.DailyId equals d.Id
                                    where (dfd.EmployeeId == user.Code) &&
                                    (d.Open == false)
                                    select new PaymentData
                {
                    DailyFileDetails = dfd,
                    DailyFile        = df,
                    Daily            = d
                }).ToListAsync(),
                Employee = await(from e in _db.Employees
                                 where e.Code == user.Code
                                 select e).FirstOrDefaultAsync()
            };


            result.CurrentPage = Page;
            result.Pages       = result.PaymentData.Count / pageSize;
            if (result.PaymentData.Count % pageSize != 0)
            {
                result.Pages += 1;
            }


            result.PaymentData = result.PaymentData.Skip((Page - 1) * pageSize)
                                 .Take(pageSize)
                                 .OrderByDescending(x => x.DailyFileDetails.Id)
                                 .ToList();
            if (result.Employee == null)
            {
                result.Employee = new Employee();
            }


            return(View(result));
        }
 public static PaymentInfo ToPaymentInfo(this PaymentInfoVM paymentInfo)
 {
     return(new PaymentInfo
     {
         PaymentType = (PaymentType)paymentInfo.PaymentType,
         CardNumber = paymentInfo.CardNumber,
         CardOwnerName = paymentInfo.CardOwnerName,
         DateTo = paymentInfo.DateTo,
         PayByBonuses = paymentInfo.PayByBonuses
     });
 }
Пример #4
0
        public PaymentInfoVM GetPartOfPaymentInfo(string login)
        {
            var payment = new PaymentInfoVM();

            var client = _clientService.GetClientByLogin(login);

            if (client != null)
            {
                if (client.HaveCardInfo)
                {
                    payment.CardNumber    = client.CardNumber;
                    payment.CardOwnerName = client.CardOwnerName;
                    payment.DateTo        = client.DateTo.Value;
                }
                payment.Bonuses = client.BonusCount;
            }

            return(payment);
        }
Пример #5
0
        public OrderVM BuildNewOrder(ShoppingCartVM shoppingCart, DeliveryInfoVM deliveryInfo, PaymentInfoVM paymentInfo)
        {
            var vm = new OrderVM
            {
                ShoppingCart = shoppingCart,
                DeliveryInfo = deliveryInfo,
                PaymentInfo  = paymentInfo
            };

            return(vm);
        }