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")); }
public async Task <IActionResult> Delete(ScheduleConfigViewModel viewModel) { if (viewModel != null) { await _apiClient.DeleteScheduleRun(viewModel.Id); } return(RedirectToAction("Index")); }
public async Task <IActionResult> Restart(ScheduleConfigViewModel viewModel) { if (viewModel != null) { await _apiClient.RestartSchedule(viewModel.Id); } return(RedirectToAction("Index")); }
public async Task <IActionResult> RunNow(ScheduleConfigViewModel viewModel) { if (viewModel != null) { await _apiClient.RunNowScheduledRun((int)viewModel.ScheduleType); } return(RedirectToAction("Index")); }
public async Task <IActionResult> RunNow(int scheduleType) { var viewModel = new ScheduleConfigViewModel { ScheduleType = (ScheduleJobType)scheduleType, RunTime = DateTime.UtcNow.UtcToTimeZoneTime(), }; return(View(viewModel)); }
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)); }
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)); }
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); }
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)); }
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)); }
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)); }