public IActionResult Edit(int id) { //pull schedule (from id passed in as a parameter) and all it's associated data from the Course, DayOfTheWeek, and Time tables var schedule = _scheduleRepository.ReadSchedule(id); var course = schedule.Course.FirstOrDefault(s => s.ScheduleId == schedule.Id); var dayOfTheWeek = schedule.DayOfTheWeek.FirstOrDefault(d => d.ScheduleId == schedule.Id); var time = schedule.Time.FirstOrDefault(t => t.ScheduleId == schedule.Id); //create a new EditScheduleViewModel and fill it with the information collected from the database above var editScheduleViewModel = new EditScheduleViewModel { CourseCode = course.CourseCode, CourseNumber = course.CourseNumber, CourseName = course.CourseName, DayOfTheWeek1 = dayOfTheWeek.DayOfTheWeek1, StartTime = time.StartTime, StopTime = time.StopTime, ScheduleId = schedule.Id, CourseId = course.Id, DayOfTheWeekId = dayOfTheWeek.Id, TimeId = time.Id }; //pass this EditScheduleViewModel to the user, which includes the information of the schedule to be editted return(View(editScheduleViewModel)); }
public IActionResult Edit(EditScheduleViewModel model, int StoreId) { this.ViewBag.StoreId = StoreId; if (!this.ModelState.IsValid) { } else if (model.StartDate < DateTime.Today) { ModelState.AddModelError("StartDate", "StartDate Must be Bigger Than The CurrenDate"); } else if (model.EndDate < model.StartDate) { ModelState.AddModelError("EndDate", "EndDate Must be Bigger Than The StartDate"); } else if (this.service.ISShiftAvailable(model.StartDate, model.EndDate)) { ModelState.AddModelError("StartDate", "This Shift Is Already Occupied"); } else { this.service.Update(model); return(this.RedirectToAction("Schedule", new { Id = StoreId })); } return(this.View(model)); }
public ActionResult EditCourseSchedule(int id) { //var scheduleToEdit = re.GetCourseSchedule(id); //return View(scheduleToEdit); //replace next line with whatever you coded to get all the info var model = new EditScheduleViewModel(); model.Schedule = re.GetCourseSchedule(id); return(View(model)); }
public async Task <IActionResult> EditSchedule(EditScheduleViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } await _doctorService.UpdateSchedule(viewModel.Schedule); return(LocalRedirect(viewModel.returnUrl)); }
public async Task <IActionResult> EditSchedule(int id, string docId, string returnUrl) { var vm = new EditScheduleViewModel { DocId = docId, returnUrl = returnUrl, Schedule = await _doctorService.GetScheduleById(id) }; return(View(vm)); }
public async Task <ActiveSchedule> ToActiveScheduleFromEditAsync(EditScheduleViewModel model) { return(new ActiveSchedule { Id = model.ActiveScheduleId, IsActive = true, UpdateDate = DateTime.Now, ScheduleDay = model.Day, Services = await _serviceRepository.GetByIdAsync(model.ServicesSupliedId), Remarks = model.Remarks, }); }
public void Update(EditScheduleViewModel model) { var Schedule = this.db.EmployeesSchedules.FirstOrDefault(x => x.Id == model.Id); Schedule.UserId = model.UserId; Schedule.EmployeeFullName = model.EmployeeFullName; Schedule.EndDate = model.EndDate; Schedule.StartDate = model.StartDate; Schedule.User = this.db.Users.FirstOrDefault(x => x.Id == model.UserId); this.db.Entry(Schedule).State = EntityState.Detached; this.db.Update(Schedule); this.db.SaveChanges(); }
public EditScheduleViewModel FindById(int id) { var EmployeeSchedule = this.db.EmployeesSchedules.FirstOrDefault(x => x.Id == id); EditScheduleViewModel editSchedule = new EditScheduleViewModel { Id = EmployeeSchedule.Id, UserId = EmployeeSchedule.UserId, EmployeeFullName = EmployeeSchedule.EmployeeFullName, EndDate = EmployeeSchedule.EndDate, StartDate = EmployeeSchedule.StartDate }; return(editSchedule); }
public ActionResult EditCourseSchedule(EditScheduleViewModel model, FormCollection col, int id) { var scheduleToEdit = (from s in db.Course_Schedules where s.CourseId == id select s).ToList(); db.Course_Schedules.RemoveRange(scheduleToEdit); db.SaveChanges(); string[] days = col["selectedDays"].Split(','); foreach (var day in days) { Course_Schedule newSchedule = new Course_Schedule(); newSchedule.CourseId = id; newSchedule.DayOfWeek = day; newSchedule.StartTime = TimeSpan.Parse(col["startTime"]); newSchedule.EndTime = TimeSpan.Parse(col["endTime"]); db.Course_Schedules.Add(newSchedule); db.SaveChanges(); } //model.Schedule = re.GetCourseSchedule(id); //var scheduleToEdit = re.GetCourseSchedule(id); //foreach(var schedule in scheduleToEdit) //{ // string[] days = col["selectedDays"].Split(','); // foreach (var day in days) // { // schedule.DayOfWeek = day; // } // schedule.StartTime = TimeSpan.Parse(col["startTime"]); // schedule.EndTime = TimeSpan.Parse(col["endTime"]); // //schedule.StartTime = model.Schedule.First().StartTime; // //schedule.EndTime = model.Schedule.First().EndTime; // db.SaveChanges(); // // } //} return(RedirectToAction("CourseDetails", "Course", new { id = id })); }
public async Task <IActionResult> EditSchedule(string WeekScheduleId) { var Sched = await(from s in DBContext.WeekSchedules.Include(s => s.Speciality).ThenInclude(di => di.Disciplines) .Include(s => s.Schedule) where s.id.ToString() == WeekScheduleId select s).FirstOrDefaultAsync(); var dScheds = await(from d in DBContext.DaySchedules.Include(d => d.DisciplinesForDay) where Sched.Schedule.Contains(d) select d).ToListAsync(); Sched.Schedule = dScheds; var availablediscs = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where Sched.Speciality.Disciplines.Contains(di) select di).ToListAsync(); var model = new EditScheduleViewModel() { AvailableDisciplines = availablediscs, userGrants = await checkService.getUserGrants(User) }; model.init(Sched); return(View(model)); }
public async Task <IActionResult> EditSchedule(EditScheduleViewModel model) { if (ModelState.IsValid) { var activeSchedule = await _converterHelper.ToActiveScheduleFromEditAsync(model); try { await _activeScheduleRepository.UpdateAsync(activeSchedule); return(RedirectToAction("Index")); } catch { return(View(model)); } } return(View(model)); }
public void Edit_ShouldAddCorrectWoDDayAndDailyWorkoutViewModelToScheduleModel() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var id = new Guid(); var weekScheduleDataModel = new WeekSchedule(); weekScheduleDataModel.DailyWorkouts = new List <DailyWorkout>() { new DailyWorkout() }; var dailyWorkoutViewModel = new DailyWorkoutViewModel(); dailyWorkoutViewModel.Day = "monday"; var scheduleViewModel = new EditScheduleViewModel(); scheduleViewModel.AllWorkouts = new Dictionary <string, DailyWorkoutViewModel>(); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(weekScheduleDataModel); mapperStub.Setup(x => x.Map <EditScheduleViewModel>(It.IsAny <WeekSchedule>())).Returns(scheduleViewModel); mapperStub.Setup(x => x.Map <DailyWorkoutViewModel>(It.IsAny <DailyWorkout>())).Returns(dailyWorkoutViewModel); sut.WithCallTo(c => c.Edit(id)); Assert.AreEqual("monday", scheduleViewModel.AllWorkouts.Keys.First()); Assert.AreSame(dailyWorkoutViewModel, scheduleViewModel.AllWorkouts[dailyWorkoutViewModel.Day]); }
public void Edit_GetCallMapperToGetDailyWorkoutViewModelOnceWhenScheduleDataModelContainsOneWorkout() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var id = new Guid(); var weekScheduleDataModel = new WeekSchedule(); weekScheduleDataModel.DailyWorkouts = new List <DailyWorkout>() { new DailyWorkout() }; var dailyWorkoutViewModel = new DailyWorkoutViewModel(); dailyWorkoutViewModel.Day = "monday"; var scheduleViewModel = new EditScheduleViewModel(); scheduleViewModel.AllWorkouts = new Dictionary <string, DailyWorkoutViewModel>(); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(weekScheduleDataModel); mapperStub.Setup(x => x.Map <EditScheduleViewModel>(It.IsAny <WeekSchedule>())).Returns(scheduleViewModel); mapperStub.Setup(x => x.Map <DailyWorkoutViewModel>(It.IsAny <DailyWorkout>())).Returns(dailyWorkoutViewModel); sut .WithCallTo(c => c.Edit(id)); mapperStub.Verify(x => x.Map <DailyWorkoutViewModel>(weekScheduleDataModel.DailyWorkouts.First()), Times.Once); }
public void Edit_ShouldRenderDefaultViewWithCorrectViewModel() { var mapperStub = new Mock <IMapper>(); var weekScheduleServiceStub = new Mock <IWeekScheduleService>(); var workoutInformationServiceStub = new Mock <IWorkoutInformationService>(); var modelViewFactoryStub = new Mock <IModelViewFactory>(); var dailyWorkoutServiceStub = new Mock <IDailyWorkoutService>(); var sut = new ScheduleController(mapperStub.Object, weekScheduleServiceStub.Object, workoutInformationServiceStub.Object, dailyWorkoutServiceStub.Object, modelViewFactoryStub.Object); var id = new Guid(); var weekScheduleDataModel = new WeekSchedule(); weekScheduleDataModel.DailyWorkouts = new List <DailyWorkout>() { new DailyWorkout() }; var dailyWorkoutViewModel = new DailyWorkoutViewModel(); dailyWorkoutViewModel.Day = "monday"; var scheduleViewModel = new EditScheduleViewModel(); scheduleViewModel.AllWorkouts = new Dictionary <string, DailyWorkoutViewModel>(); weekScheduleServiceStub.Setup(x => x.GetById(It.IsAny <Guid>())).Returns(weekScheduleDataModel); mapperStub.Setup(x => x.Map <EditScheduleViewModel>(It.IsAny <WeekSchedule>())).Returns(scheduleViewModel); mapperStub.Setup(x => x.Map <DailyWorkoutViewModel>(It.IsAny <DailyWorkout>())).Returns(dailyWorkoutViewModel); sut .WithCallTo(c => c.Edit(id)) .ShouldRenderDefaultView() .WithModel(scheduleViewModel); }
public async Task <IActionResult> EditSchedule(EditScheduleViewModel model) { var spec = await(from sp in DBContext.Specialities.Include(s => s.Schedules) where sp.Id.ToString() == model.SpecialityId select sp).FirstOrDefaultAsync(); var oldShedule = await(from sc in DBContext.WeekSchedules where sc.id == model.WeekScheduleId select sc).FirstOrDefaultAsync(); spec.Schedules.Remove(oldShedule); DBContext.Remove(oldShedule); if (model.WeekScheduleName == null) { model.WeekScheduleName = "Без названия"; } var NewWeekSchedule = new EWeekSchedule() { Name = model.WeekScheduleName, Speciality = spec, Schedule = new List <EDaySchedule>(6) }; // DBContext.WeekSchedules.Add(NewWeekSchedule); NewWeekSchedule.Schedule.Add(new EDaySchedule()//mon { WeekSchedule = NewWeekSchedule, DayNumber = 0, DisciplinesForDay = new List <EScheduleItem>(8) }); //DBContext.DaySchedules.Add(NewWeekSchedule.Schedule[0]); for (int i = 0; i < 8; i++) { var discipline = model.mon[i]; discipline.DaySchedule = NewWeekSchedule.Schedule[0]; if (discipline.DisciplineId.ToString() == "-1") { discipline.Name = "Нет пары"; discipline.TeacherFIO = ""; discipline.Type = ""; } else { var disc = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where di.Id == discipline.DisciplineId select di).FirstOrDefaultAsync(); discipline.Name = disc.Name; discipline.TeacherFIO = disc.Teacher.FIO; } if (discipline.Classroom == null) { discipline.Classroom = ""; } NewWeekSchedule.Schedule[0].DisciplinesForDay.Add(discipline); } NewWeekSchedule.Schedule.Add(new EDaySchedule()//tue { WeekSchedule = NewWeekSchedule, DayNumber = 1, DisciplinesForDay = new List <EScheduleItem>(8) }); //DBContext.DaySchedules.Add(NewWeekSchedule.Schedule[0]); for (int i = 0; i < 8; i++) { var discipline = model.tue[i]; discipline.DaySchedule = NewWeekSchedule.Schedule[1]; if (discipline.DisciplineId.ToString() == "-1") { discipline.Name = "Нет пары"; discipline.TeacherFIO = ""; discipline.Type = ""; } else { var disc = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where di.Id == discipline.DisciplineId select di).FirstOrDefaultAsync(); discipline.Name = disc.Name; discipline.TeacherFIO = disc.Teacher.FIO; } if (discipline.Classroom == null) { discipline.Classroom = ""; } NewWeekSchedule.Schedule[1].DisciplinesForDay.Add(discipline); } NewWeekSchedule.Schedule.Add(new EDaySchedule()//wed { WeekSchedule = NewWeekSchedule, DayNumber = 2, DisciplinesForDay = new List <EScheduleItem>(8) }); //DBContext.DaySchedules.Add(NewWeekSchedule.Schedule[0]); for (int i = 0; i < 8; i++) { var discipline = model.wed[i]; discipline.DaySchedule = NewWeekSchedule.Schedule[2]; if (discipline.DisciplineId.ToString() == "-1") { discipline.Name = "Нет пары"; discipline.TeacherFIO = ""; discipline.Type = ""; } else { var disc = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where di.Id == discipline.DisciplineId select di).FirstOrDefaultAsync(); discipline.Name = disc.Name; discipline.TeacherFIO = disc.Teacher.FIO; } if (discipline.Classroom == null) { discipline.Classroom = ""; } NewWeekSchedule.Schedule[2].DisciplinesForDay.Add(discipline); } NewWeekSchedule.Schedule.Add(new EDaySchedule()//thu { WeekSchedule = NewWeekSchedule, DayNumber = 3, DisciplinesForDay = new List <EScheduleItem>(8) }); //DBContext.DaySchedules.Add(NewWeekSchedule.Schedule[0]); for (int i = 0; i < 8; i++) { var discipline = model.thu[i]; discipline.DaySchedule = NewWeekSchedule.Schedule[3]; if (discipline.DisciplineId.ToString() == "-1") { discipline.Name = "Нет пары"; discipline.TeacherFIO = ""; discipline.Type = ""; } else { var disc = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where di.Id == discipline.DisciplineId select di).FirstOrDefaultAsync(); discipline.Name = disc.Name; discipline.TeacherFIO = disc.Teacher.FIO; } if (discipline.Classroom == null) { discipline.Classroom = ""; } NewWeekSchedule.Schedule[3].DisciplinesForDay.Add(discipline); } NewWeekSchedule.Schedule.Add(new EDaySchedule()//fri { WeekSchedule = NewWeekSchedule, DayNumber = 4, DisciplinesForDay = new List <EScheduleItem>(8) }); //DBContext.DaySchedules.Add(NewWeekSchedule.Schedule[0]); for (int i = 0; i < 8; i++) { var discipline = model.fri[i]; discipline.DaySchedule = NewWeekSchedule.Schedule[4]; if (discipline.DisciplineId.ToString() == "-1") { discipline.Name = "Нет пары"; discipline.TeacherFIO = ""; discipline.Type = ""; } else { var disc = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where di.Id == discipline.DisciplineId select di).FirstOrDefaultAsync(); discipline.Name = disc.Name; discipline.TeacherFIO = disc.Teacher.FIO; } if (discipline.Classroom == null) { discipline.Classroom = ""; } NewWeekSchedule.Schedule[4].DisciplinesForDay.Add(discipline); } NewWeekSchedule.Schedule.Add(new EDaySchedule()//sat { WeekSchedule = NewWeekSchedule, DayNumber = 5, DisciplinesForDay = new List <EScheduleItem>(8) }); //DBContext.DaySchedules.Add(NewWeekSchedule.Schedule[0]); for (int i = 0; i < 8; i++) { var discipline = model.sat[i]; discipline.DaySchedule = NewWeekSchedule.Schedule[5]; if (discipline.DisciplineId.ToString() == "-1") { discipline.Name = "Нет пары"; discipline.TeacherFIO = ""; discipline.Type = ""; } else { var disc = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where di.Id == discipline.DisciplineId select di).FirstOrDefaultAsync(); discipline.Name = disc.Name; discipline.TeacherFIO = disc.Teacher.FIO; } if (discipline.Classroom == null) { discipline.Classroom = ""; } NewWeekSchedule.Schedule[5].DisciplinesForDay.Add(discipline); } spec.Schedules.Add(NewWeekSchedule); DBContext.Add(NewWeekSchedule); await DBContext.SaveChangesAsync(); return(RedirectToAction("Index", new { SpecId = spec.Id })); }