public async Task <IActionResult> Edit(int ProjectID, string WeekID, EditWeekViewModel editWeekViewModel) { var WeekIDRegex = new Regex(@"^\d\d-\d\d\d\d$"); if (!WeekIDRegex.IsMatch(WeekID)) { return(BadRequest()); } var WeekIDInt = Int32.Parse(WeekID.Substring(0, 2)); if (WeekIDInt <= 0 || WeekIDInt > 52) { return(BadRequest()); } if (ModelState.IsValid) { var week = await _context.Week.FindAsync(ProjectID, WeekID); if (week == null) { return(NotFound()); } week.Notes1Monday = editWeekViewModel.Notes1Monday; week.Notes2Tuesday = editWeekViewModel.Notes2Tuesday; week.Notes3Wednesday = editWeekViewModel.Notes3Wednesday; week.Notes4Thursday = editWeekViewModel.Notes4Thursday; week.Notes5Friday = editWeekViewModel.Notes5Friday; week.Notes6Saturday = editWeekViewModel.Notes6Saturday; week.Notes7Sunday = editWeekViewModel.Notes7Sunday; _context.Update(week); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { ProjectID, WeekID })); } return(View(nameof(Index))); }
public async Task <IActionResult> Edit(int?ProjectID, string WeekID) { var WeekIDRegex = new Regex(@"^\d\d-\d\d\d\d$"); if (ProjectID == null || WeekID == null || !WeekIDRegex.IsMatch(WeekID)) { return(BadRequest()); } var WeekIDInt = Int32.Parse(WeekID.Substring(0, 2)); if (WeekIDInt <= 0 || WeekIDInt > 52) { return(BadRequest()); } var week = await _context.Week.FindAsync(ProjectID, WeekID); if (week == null) { return(NotFound()); } var employees = _context.Employee.ToList(); var employeeProjects = _context.EmployeeProject.Where(e => e.ProjectID == ProjectID).ToList(); var activitiesWithSlots = new List <ActivityWithSlots>(); var activities = _context.Activity.ToList(); var slots = _context.Slot.Where(e => e.ProjectID == ProjectID && e.WeekID == WeekID).ToList(); foreach (var activity in activities) { var activityWithSlots = new ActivityWithSlots { Activity = activity, Slots = new List <SlotModel>(), }; foreach (var slot in slots) { if (slot.ActivityID == activity.ActivityID) { activityWithSlots.Slots.Add(slot); } } activitiesWithSlots.Add(activityWithSlots); } var editWeekViewModel = new EditWeekViewModel { ProjectID = week.ProjectID, WeekID = week.WeekID, FirstDayOfTheWeek = week.FirstDayOfTheWeek, Notes1Monday = week.Notes1Monday, Notes2Tuesday = week.Notes2Tuesday, Notes3Wednesday = week.Notes3Wednesday, Notes4Thursday = week.Notes4Thursday, Notes5Friday = week.Notes5Friday, Notes6Saturday = week.Notes6Saturday, Notes7Sunday = week.Notes7Sunday, Employees = employees, EmployeeProjects = employeeProjects, ActivitiesWithSlots = activitiesWithSlots, }; return(View(editWeekViewModel)); }