예제 #1
0
        public IActionResult Orders()
        {
            var role = HttpContext.Session.GetString("role");

            if (role == null || role.ToLower() == "клиент" ||
                !IsAuthorizedInDb(HttpContext.Session.Id))
            {
                return(RedirectToAction("Authorization", "Home"));
            }

            if (Request.Method == "GET")
            {
                var ords = _ordersContainer.GetOrders(null, from: DateTime.Today, to: DateTime.Today);
                ViewData["roleName"] = HttpContext.Session.GetString("roleName");
                ViewData["login"]    = HttpContext.Session.GetString("login");
                return(View(ords as List <Order>));
            }

            DateTime?start;
            DateTime?end;

            var parsed = DateTime.TryParseExact(Request.Form["start"], "dd.MM.yyyy",
                                                CultureInfo.CurrentCulture, DateTimeStyles.None, out var date);

            if (parsed)
            {
                start = date;
            }
            else
            {
                start = null;
            }

            parsed = DateTime.TryParseExact(Request.Form["end"], "dd.MM.yyyy",
                                            CultureInfo.CurrentCulture, DateTimeStyles.None, out date);

            if (parsed)
            {
                end = date;
            }
            else
            {
                end = null;
            }

            var orders = _ordersContainer.GetOrders(null, from: start, to: end);

            ViewData["roleName"] = HttpContext.Session.GetString("roleName");
            ViewData["login"]    = HttpContext.Session.GetString("login");
            return(Json(orders));
            //return View(orders as List<Order>);
        }
예제 #2
0
        public void Execute()
        {
            Console.WriteLine("Неоплаченные услуги:");
            Console.WriteLine();
            PrintServices(_servicesContainer.GetOrders(Menu.CurrentUser, false));
            Console.WriteLine();
            Console.Write("Введите идентификатор услуги: ");
            var idService = Console.ReadLine();
            var service   = _servicesContainer.GetOrderById(idService);

            if (service == null)
            {
                Refresh("Неверный id услуги");
                return;
            }
            if (service.IsPaid)
            {
                Refresh("Услуга уже оплачена");
                return;
            }
            _clientOperations.PayService(Menu.CurrentUser, idService);
            Console.Clear();
            Console.WriteLine("Услуга успешно оплачена");
            Console.WriteLine();
            Console.WriteLine();
            _clientMenu.Print();
            _clientMenu.SetCommand(_clientMenu.ReadCommand());
            _clientMenu.Run();
        }
예제 #3
0
        public void Execute()
        {
            Console.WriteLine("Заказанные услуги:");
            Console.WriteLine();
            PrintServices(_ordersContainer.GetOrders(Menu.CurrentUser, false)); // контекст
            Console.WriteLine();
            Console.Write("Введите идентификатор заказа: ");
            var idOrder = Console.ReadLine();
            var order   = _ordersContainer.GetOrderById(idOrder); // контекст

            if (order == null)
            {
                Refresh("Неверный id заказа");
                return;
            }
            if (order.IsPaid)
            {
                Refresh("Заказ уже оплачен");
                return;
            }
            _userOperations.CancelService(Menu.CurrentUser, order.Id);
            Console.Clear();
            Console.WriteLine("Услуга успешно отменена");
            Console.WriteLine();
            Console.WriteLine();
            _clientMenu.Print();
            _clientMenu.SetCommand(_clientMenu.ReadCommand());
            _clientMenu.Run();
        }
        public void Execute()
        {
            var services = _servicesContainer.GetOrders(null, false);

            foreach (var service in services)
            {
                Console.WriteLine($"Услуга {service.Service.Name} Стоимость {service.Cost} Клиент {service.User.Fio}");
            }
            Console.WriteLine("Для продолжения нажмите любую клавишу");
            Console.ReadKey(false);
            Console.Clear();
            _clientMenu.Print();
            _clientMenu.SetCommand(_clientMenu.ReadCommand());
            _clientMenu.Run();
        }
        public void Execute()
        {
            var services = _ordersContainer.GetOrders(paid: true, unpaid: false);

            foreach (var service in services)
            {
                var timeString = service.OrderDate.ToString("g", CultureInfo.CurrentCulture);
                Console.WriteLine($"Услуга {service.Service.Name} Стоимость {service.Cost} Дата {timeString}");
            }
            Console.WriteLine("Для продолжения нажмите любую клавишу");
            Console.ReadKey(false);
            Console.Clear();
            _clientMenu.Print();
            _clientMenu.SetCommand(_clientMenu.ReadCommand());
            _clientMenu.Run();
        }
        public void Execute()
        {
            Console.WriteLine("Введите период. Формат ДД.ММ.ГГГГ");
            Console.Write("C ");
            var begin = Console.ReadLine();

            Console.Write("По ");
            var end = Console.ReadLine();

            Console.WriteLine();
            Console.WriteLine("Выберите пользователя");
            var users = _userContainer.GetUsers();

            foreach (var user in users)
            {
                if (user.Role.Name.ToLower() == "Клиент".ToLower())
                {
                    Console.WriteLine($"ФИО {user.Fio} логин {user.Login}");
                }
            }

            Console.WriteLine();
            Console.Write("Введите логин = ");
            var log = Console.ReadLine();
            var us  = log == null ? null : _userContainer.GetUserByLogin(log);

            DateTime?beginDate;

            if (begin == "")
            {
                beginDate = null;
            }
            else
            {
                beginDate = DateTime.ParseExact(begin, "dd.MM.yyyy", CultureInfo.CurrentCulture);
            }


            DateTime?endDate;

            if (end == "")
            {
                endDate = null;
            }
            else
            {
                endDate = DateTime.ParseExact(end, "dd.MM.yyyy", CultureInfo.CurrentCulture);
            }

            var services = _ordersContainer.GetOrders(us, true, true, beginDate, endDate);

            foreach (var service in services)
            {
                var timeString = service.OrderDate.ToString("g", CultureInfo.CurrentCulture);
                if (service.IsPaid)
                {
                    Console.WriteLine($"Услуга {service.Service.Name} Стоимость {service.Cost} Дата {timeString} Оплачена");
                }
                else
                {
                    Console.WriteLine($"Услуга {service.Service.Name} Стоимость {service.Cost} Дата {timeString} Не оплачена");
                }
            }

            if (services.Count == 0)
            {
                Console.WriteLine("Заказов нет");
            }

            Console.WriteLine("Для продолжения нажмите любую клавишу");
            Console.ReadKey(false);
            Console.Clear();
            _clientMenu.Print();
            _clientMenu.SetCommand(_clientMenu.ReadCommand());
            _clientMenu.Run();
        }
예제 #7
0
        public void Execute()
        {
            Console.Write("Начальная дата (Enter для пропуска): ");
            var      startDateStr = Console.ReadLine();
            DateTime?startDate;

            if (string.IsNullOrEmpty(startDateStr))
            {
                startDate = null;
            }
            else
            {
                startDate = DateTime.ParseExact(startDateStr, "dd.MM.yyyy", CultureInfo.CurrentCulture);
            }

            Console.Write("Конечная дата (Enter для пропуска): ");
            var      endDateStr = Console.ReadLine();
            DateTime?endDate;

            if (string.IsNullOrEmpty(endDateStr))
            {
                endDate = null;
            }
            else
            {
                endDate = DateTime.ParseExact(startDateStr, "dd.MM.yyyy", CultureInfo.CurrentCulture);
            }

            var ordes = _ordersContainer.GetOrders(null, from: startDate, to: endDate);

            if (ordes.Count == 0)
            {
                Console.WriteLine();
                Console.WriteLine("Нет заказов за указанный период");

                Console.WriteLine();
                Console.WriteLine("Для продолжения нажмите любую клавишу");
                Console.ReadKey(false);
                Console.Clear();
                _clientMenu.Print();
                _clientMenu.SetCommand(_clientMenu.ReadCommand());
                _clientMenu.Run();
                return;
            }

            foreach (var line in ordes.GroupBy(o => o.User)
                     .Select(group => new {
                User = group.Key,
                Count = group.Count()
            })
                     .OrderBy(x => x.User.Login))
            {
                Console.WriteLine($"{line.User.Fio} {line.User.Login} сделал {line.Count} заказов за указанный период");
            }

            Console.WriteLine("Для продолжения нажмите любую клавишу");
            Console.ReadKey(false);
            Console.Clear();
            _clientMenu.Print();
            _clientMenu.SetCommand(_clientMenu.ReadCommand());
            _clientMenu.Run();
        }