Beispiel #1
0
        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)));
        }
Beispiel #2
0
        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));
        }