public async Task <Response> CreateManySchedule(CreateManyScheduleCommand schedule) { baseurl = baseurl + "list"; var response = await PostAsync(baseurl, schedule); if (response.IsSuccessStatusCode) { return(new Response(true)); } return(new Response(false)); }
public async Task <IActionResult> OnPostConfirm([FromBody] string[] value) { var calendar = HttpContext.Session.GetObject <CalenderViewModel>("key"); if (calendar == null) { calendar = new CalenderViewModel(); } var DateChosen = HttpContext.Session.GetObject <DateChosen>("datechosen"); if (DateChosen == null) { DateChosen = AddDatesToList(value, new DateChosen(), calendar); } DateChosen = AddDatesToList(value, DateChosen, calendar); DateChosen = CheckSameDates(DateChosen); foreach (var VARIABLE in DateChosen.CosenDays) { Console.WriteLine(VARIABLE.ToString("d")); } Message = "Planen er nu opretttet korrekt"; /* * List<DateTime> list = new List<DateTime>(); * var result = HttpContext.Session.GetObject<ScheduleViewModel>("v"); * * for (int i = 0; i < value.Length; i++) * { * if (value[i] != null) * { * list.Add(DateTime.Parse(value[i])); * * } * } */ var result = HttpContext.Session.GetObject <ScheduleViewModel>("scheduleId"); SchedulesListViewModel schedules = new SchedulesListViewModel(); foreach (var date in DateChosen.CosenDays) { var scheduleID = Guid.NewGuid(); List <IntervalViewModel> intervals = new List <IntervalViewModel>(); foreach (var interval in result.Intervals) { DateTime starttime, endtime; if (CorrectDay(date, interval)) { starttime = date.AddDays(1).Add(interval.StartTime.Value.TimeOfDay); endtime = date.AddDays(1).Add(interval.EndTime.Value.TimeOfDay); } else { starttime = date.AddDays(0).Add(interval.StartTime.Value.TimeOfDay); endtime = date.AddDays(0).Add(interval.EndTime.Value.TimeOfDay); } intervals.Add(new IntervalViewModel { IntervalId = Guid.NewGuid(), BottomPallets = interval.BottomPallets, EndTime = endtime, StartTime = starttime, RemainingPallets = interval.BottomPallets, Bookings = new List <BookingViewModel>(), IsBooked = false, ScheduleId = scheduleID }); } var schedule = new ScheduleViewModel() { CreatedBy = result.CreatedBy, Intervals = intervals, MischellaneousPallets = result.MischellaneousPallets, Name = result.Name, ScheduleDay = date, ScheduleId = scheduleID, Shifts = result.Shifts, IsStandard = false }; schedules.Schedules.Add(schedule); } var vm = new SchedulesListViewModel(); var vm1 = new CreateManyScheduleCommand(); vm.Schedules = schedules.Schedules; vm1.SchedulesListViewModel = vm; var response = await _scheduleDataService.CreateManySchedule(vm1); if (response.IsSuccesfull) { Message = "Planen er nu oprettet Korrekt"; } else { Message = response.HttpResponse.RequestMessage.ToString(); } HttpContext.Session.Clear(); return(new ObjectResult(HttpStatusCode.OK)); }
private async Task <IActionResult> CreateScheduleFromActiveMaster(DateTime bookingTime, BookingViewModel currentBooking) { var result = await _masterScheduleDataService.GetActiveMasterSchedule(); if (result == null) { ErrorMessage = "Der er ingen aktiv plan på denne dag."; } var many = new CreateManyScheduleCommand(); many.SchedulesListViewModel = new SchedulesListViewModel(); many.SchedulesListViewModel.Schedules = new List <ScheduleViewModel>(); var orderOnBooking = currentBooking.OrdersListViewModel.FirstOrDefault(); var shift = Shift.Day; foreach (var masterSchedule in result.MasterScheduleStandardViewModels) { foreach (var interval in masterSchedule.MasterIntervalStandardViewModels) { if ((orderOnBooking.SupplierViewModel.DeliveryStart.TimeOfDay > interval.StartTime.Value.TimeOfDay) && (orderOnBooking.SupplierViewModel.DeliveryStart.TimeOfDay < interval.EndTime.Value.TimeOfDay)) { shift = masterSchedule.Shifts; } } } var masterScheduleStandardViewModel = result.MasterScheduleStandardViewModels.FirstOrDefault(e => e.Shifts == shift); if (masterScheduleStandardViewModel == null) { } var scheduleId = Guid.NewGuid(); many.SchedulesListViewModel.Schedules.Add(new ScheduleViewModel { Name = masterScheduleStandardViewModel.Name, Shifts = masterScheduleStandardViewModel.Shifts, CreatedBy = masterScheduleStandardViewModel.CreatedBy, MischellaneousPallets = masterScheduleStandardViewModel.MischellaneousPallets, ScheduleDay = bookingTime, Intervals = Map(masterScheduleStandardViewModel, scheduleId, currentBooking), ScheduleId = scheduleId, ActiveDays = _mapper.Map <List <DayViewModel> >(masterScheduleStandardViewModel.ActiveDays) }); scheduleId = Guid.NewGuid(); masterScheduleStandardViewModel = result.MasterScheduleStandardViewModels.FirstOrDefault(e => e.Shifts == Shift.Night); if (masterScheduleStandardViewModel != null) { many.SchedulesListViewModel.Schedules.Add(new ScheduleViewModel { Name = masterScheduleStandardViewModel.Name, Shifts = masterScheduleStandardViewModel.Shifts, CreatedBy = masterScheduleStandardViewModel.CreatedBy, MischellaneousPallets = masterScheduleStandardViewModel.MischellaneousPallets, ScheduleDay = bookingTime, Intervals = Fx(masterScheduleStandardViewModel.MasterIntervalStandardViewModels, currentBooking.BookingTime, scheduleId), ScheduleId = scheduleId, ActiveDays = _mapper.Map <List <DayViewModel> >(masterScheduleStandardViewModel.ActiveDays) }); } await _scheduleDataService.CreateManySchedule(many); // Return new redirect to same page in order to get the newlt created schedule return(new RedirectToPageResult("")); }