Exemplo n.º 1
0
        public async Task <IActionResult> Create(ScheduleConfigViewModel viewModel)
        {
            if (viewModel != null)
            {
                // Binding to a nullable enum will cause a ModelState error
                ViewData.ModelState.Remove(nameof(viewModel.ScheduleInterval));

                if (!ViewData.ModelState.IsValid)
                {
                    return(View(viewModel));
                }

                ScheduleRun schedule = new ScheduleRun
                {
                    ScheduleType = (ScheduleType)viewModel.ScheduleType,
                    RunTime      = viewModel.Date.UtcFromTimeZoneTime(),
                    IsRecurring  = viewModel.ScheduleInterval.HasValue,
                    Interval     = (int?)viewModel.ScheduleInterval
                };

                await _apiClient.CreateScheduleRun(schedule);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Delete(ScheduleConfigViewModel viewModel)
        {
            if (viewModel != null)
            {
                await _apiClient.DeleteScheduleRun(viewModel.Id);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Restart(ScheduleConfigViewModel viewModel)
        {
            if (viewModel != null)
            {
                await _apiClient.RestartSchedule(viewModel.Id);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> RunNow(ScheduleConfigViewModel viewModel)
        {
            if (viewModel != null)
            {
                await _apiClient.RunNowScheduledRun((int)viewModel.ScheduleType);
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> RunNow(int scheduleType)
        {
            var viewModel = new ScheduleConfigViewModel
            {
                ScheduleType = (ScheduleJobType)scheduleType,
                RunTime      = DateTime.UtcNow.UtcToTimeZoneTime(),
            };

            return(View(viewModel));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Index()
        {
            List <ScheduleConfigViewModel> viewModels = new List <ScheduleConfigViewModel>();

            foreach (var schedule in await _apiClient.GetAllScheduledRun((int)ScheduleJobType.PrintRun))
            {
                ScheduleConfigViewModel viewModel = MapToScheduleConfigViewModel(schedule);

                viewModels.Add(viewModel);
            }

            return(View(viewModels));
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Create()
        {
            DateTime now = DateTime.UtcNow.UtcToTimeZoneTime();

            var viewModel = new ScheduleConfigViewModel
            {
                ScheduleType = ScheduleJobType.PrintRun,
                RunTime      = now,
                Year         = now.Year,
                Month        = now.Month,
                Day          = now.Day,
                Hour         = now.Hour,
                Minute       = now.Minute,
                IsRecurring  = false,
            };

            return(View(viewModel));
        }
Exemplo n.º 8
0
        private static ScheduleConfigViewModel MapToScheduleConfigViewModel(ScheduleRun schedule)
        {
            ScheduleConfigViewModel viewModel = new ScheduleConfigViewModel
            {
                Id            = schedule.Id,
                RunTime       = schedule.RunTime.UtcToTimeZoneTime(),
                Interval      = schedule.Interval.HasValue ? TimeSpan.FromMinutes(schedule.Interval.Value).Humanize().Titleize() : "-",
                IsRecurring   = schedule.IsRecurring,
                ScheduleType  = (ScheduleJobType)schedule.ScheduleType,
                LastRunStatus = schedule.LastRunStatus
            };

            if (Enum.TryParse <ScheduleInterval>(schedule.Interval.ToString(), out var scheduleInterval) && Enum.IsDefined(typeof(ScheduleInterval), scheduleInterval))
            {
                viewModel.ScheduleInterval = scheduleInterval;
            }

            return(viewModel);
        }
Exemplo n.º 9
0
        public async Task <IActionResult> Delete(Guid scheduleRunId)
        {
            var schedule = await _apiClient.GetScheduleRun(scheduleRunId);

            ScheduleConfigViewModel viewModel = new ScheduleConfigViewModel
            {
                Id           = schedule.Id,
                RunTime      = schedule.RunTime.UtcToTimeZoneTime(),
                Interval     = schedule.Interval.HasValue ? TimeSpan.FromMinutes(schedule.Interval.Value).Humanize().Titleize() : "-",
                IsRecurring  = schedule.IsRecurring,
                ScheduleType = (ScheduleJobType)schedule.ScheduleType,
            };

            if (Enum.TryParse <ScheduleInterval>(schedule.Interval.ToString(), out var scheduleInterval) && Enum.IsDefined(typeof(ScheduleInterval), scheduleInterval))
            {
                viewModel.ScheduleInterval = scheduleInterval;
            }

            return(View(viewModel));
        }
Exemplo n.º 10
0
        public IActionResult ShortendOrderView()
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("ShortendOrderView", "Home"));
            }
            var validated = SessionHelper.GetObjectFromJson <string>(HttpContext.Session, "validated");

            if (validated != _ctx.OrderCode.First(x => x.Active == true).Password)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var cart    = SessionHelper.GetObjectFromJson <List <OrderItemViewModel> >(HttpContext.Session, "cart");
            var orderId = SessionHelper.GetObjectFromJson <long>(HttpContext.Session, "orderId");

            if (orderId > 0)
            {
                TempData["ErrorMessage"] = "Orders are limited to only one per day, cancel your last order to create a new one.";
                return(RedirectToAction("OrderInfoForCustomer", "Orders"));
            }
            ViewBag.cart = cart;

            var todaysSchedule         = _ctx.ScheduleConfig.Include(y => y.Community);
            var filteredTodaysSchedule = todaysSchedule.Where(x => x.Date.Date == DateTime.Today);

            var filteredScheduleConfigViewModel = new List <ScheduleConfigViewModel>();
            var allCommunities      = new List <CommunityViewModel>();
            var scheduledCommunties = new List <string>();
            var communities         = _ctx.Community.Where(x => x.Active == true).ToList();

            foreach (var config in filteredTodaysSchedule)
            {
                var communityViewModel = new CommunityViewModel
                {
                    Id   = config.Community.Id,
                    Name = config.Community.Name
                };

                var scheduleViewModel = new ScheduleConfigViewModel
                {
                    Id = config.Id,
                    //Builder = builderViewModel,
                    Community = communityViewModel,
                    Date      = config.Date,
                    Active    = config.Active
                };

                scheduledCommunties.Add(config.Community.Name);

                filteredScheduleConfigViewModel.Add(scheduleViewModel);
            }
            ;

            foreach (var community in communities)
            {
                var communityViewModel = new CommunityViewModel
                {
                    Id   = community.Id,
                    Name = community.Name
                };
                allCommunities.Add(communityViewModel);
            }

            var cartViewModel = new CartViewModel
            {
                TodaysSchedule       = filteredScheduleConfigViewModel,
                ScheduledCommunities = scheduledCommunties,
                Communities          = allCommunities
            };

            //return RedirectToAction("OrderInfoForCustomer", "Orders");
            return(View(cartViewModel));
        }
Exemplo n.º 11
0
        public IActionResult OrderMenu()
        {
            if (SessionHelper.GetObjectFromJson <long>(HttpContext.Session, "orderId") == 0)
            {
                return(RedirectToAction("ShortendOrderView", "Home"));
            }
            if (SessionHelper.GetObjectFromJson <List <OrderItemViewModel> >(HttpContext.Session, "cart") == null)
            {
                List <OrderItemViewModel> newCart = new List <OrderItemViewModel>();
                SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", newCart);
            }
            var isEmployee = SessionHelper.GetObjectFromJson <bool>(HttpContext.Session, "isEmployee");

            var cart = SessionHelper.GetObjectFromJson <List <OrderItemViewModel> >(HttpContext.Session, "cart");

            ViewBag.cart = cart;
            //FIX ORDER VIEW MODEL
            var  menuItems              = _cathedralKitchenRepository.GetActiveMenuItems();
            var  toppings               = _ctx.Topping.Where(i => i.Active == true).Include(y => y.ToppingSystemReference).ThenInclude(x => x.ToppingType);
            var  filteredPizzaToppings  = toppings.Where(x => x.Active == true && x.ToppingSystemReference.Any(y => y.ToppingType.Name == "Pizza"));
            var  filteredTacoToppings   = toppings.Where(x => x.Active == true && x.ToppingSystemReference.Any(y => y.ToppingType.Name == "Taco"));
            var  todaysSchedule         = _ctx.ScheduleConfig.Include(y => y.Community);
            var  filteredTodaysSchedule = todaysSchedule.Where(x => x.Date == DateTime.Today).Where(y => y.Active == true);
            bool isAuthenticated        = User.Identity.IsAuthenticated;

            var filteredPizzaToppingsViewModel  = new List <ToppingsViewModel>();
            var filteredTacoToppingsViewModel   = new List <ToppingsViewModel>();
            var allToppingsViewModel            = new List <ToppingsViewModel>();
            var filteredScheduleConfigViewModel = new List <ScheduleConfigViewModel>();

            foreach (var config in filteredTodaysSchedule)
            {
                var communityViewModel = new CommunityViewModel
                {
                    Id   = config.Community.Id,
                    Name = config.Community.Name
                };

                var scheduleViewModel = new ScheduleConfigViewModel
                {
                    Id        = config.Id,
                    Community = communityViewModel,
                    Date      = config.Date,
                    Active    = config.Active
                };

                filteredScheduleConfigViewModel.Add(scheduleViewModel);
            }
            ;

            foreach (var topping in filteredPizzaToppings)
            {
                var toppingTypes = new List <SystemReference>();

                foreach (var sysref in topping.ToppingSystemReference)
                {
                    toppingTypes.Add(sysref.ToppingType);
                }
                var toppingViewModel = new ToppingsViewModel
                {
                    Name         = topping.ToppingName,
                    ToppingTypes = toppingTypes,
                    Id           = topping.Id
                };

                filteredPizzaToppingsViewModel.Add(toppingViewModel);
            }
            ;


            foreach (var topping in filteredTacoToppings)
            {
                var toppingTypes = new List <SystemReference>();

                foreach (var sysref in topping.ToppingSystemReference)
                {
                    toppingTypes.Add(sysref.ToppingType);
                }
                var toppingViewModel = new ToppingsViewModel
                {
                    Name         = topping.ToppingName,
                    ToppingTypes = toppingTypes,
                    Id           = topping.Id
                };

                filteredTacoToppingsViewModel.Add(toppingViewModel);
            }
            ;

            foreach (var topping in toppings)
            {
                var toppingTypes = new List <SystemReference>();

                foreach (var sysref in topping.ToppingSystemReference)
                {
                    toppingTypes.Add(sysref.ToppingType);
                }
                var toppingViewModel = new ToppingsViewModel
                {
                    Name         = topping.ToppingName,
                    ToppingTypes = toppingTypes,
                    Id           = topping.Id
                };

                allToppingsViewModel.Add(toppingViewModel);
            }
            ;

            var orderView = new CustomerOrderViewModel
            {
                MenuItems      = menuItems,
                PizzaToppings  = filteredPizzaToppingsViewModel,
                TacoToppings   = filteredTacoToppingsViewModel,
                AllToppings    = allToppingsViewModel,
                TodaysSchedule = filteredScheduleConfigViewModel,
                IsEmployee     = isEmployee
            };

            return(View(orderView));
        }