Example #1
0
        public async Task <ScheduleEditViewModel> GetScheduleEditModel(int schoolId)
        {
            var schoolSubjects = await this.data.Subjects.Where(s => s.SchoolId == schoolId)
                                 .Select(s => new SubjectModel
            {
                Id       = s.Id,
                Name     = s.Name,
                SchoolId = s.Id
            })
                                 .ToListAsync();

            var schedules = await this.data.Schedules.Include(s => s.Subject)
                            .Where(s => s.SchoolId == schoolId)
                            .ToListAsync();

            var scheduleModels = schedules.Select(s => new ScheduleEditModel
            {
                Day         = s.Day,
                SubjectId   = s.Subject.Id,
                SubjectName = s.Subject.Name,
                Order       = s.Order
            });

            var model = new ScheduleEditViewModel
            {
                ScheduleEditModels = scheduleModels,
                Subjects           = schoolSubjects
            };

            return(model);
        }
Example #2
0
        public ActionResult Save(ScheduleEditViewModel viewModel)
        {
            try {
                if (ModelState.IsValid)
                {
                    if (viewModel.Id.HasValue)
                    {
                        _scheduleManager.EditSchedule(viewModel.Id.Value, viewModel.ResponsibleId.Value, viewModel.StartAt.Value, viewModel.EndAt.Value);
                    }
                    else
                    {
                        _scheduleManager.AddSchedule(viewModel.ResponsibleId.Value, viewModel.StartAt.Value, viewModel.EndAt.Value);
                    }

                    return(RedirectToAction(nameof(Index)));
                }

                viewModel.People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList();

                return(View(nameof(Edit), viewModel));
            } catch (Exception exc) {
                ModelState.AddModelError("", exc.Message);

                viewModel.People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList();

                return(View(nameof(Edit), viewModel));
            }
        }
        public async Task <IActionResult> Edit(ScheduleEditViewModel model)
        {
            var scheduleId   = model.Id;
            var scheduleName = model.Name;

            if (this.ModelState.IsValid)
            {
                if (this.ScheduleExists <ScheduleCreateViewModel>(scheduleName, scheduleId))
                {
                    this.TempData["Message"] = GlobalConstants.Messages.AlreadyExist;
                    return(this.View(model));
                }
                else if (model.NumberOfDays < this.ScheduleDaysCount(scheduleId))
                {
                    this.TempData["Message"] = GlobalConstants.Messages.InvalidOperation;
                    return(this.View(model));
                }

                await this.schedulesService.Update(
                    model.Id, model.Name, model.NumberOfDays, this.Creator());

                return(this.RedirectToAction("Index"));
            }

            return(this.View(model));
        }
Example #4
0
        // GET: Schedule/Add
        public ActionResult Add()
        {
            var viewModel = new ScheduleEditViewModel {
                People = _personManager.GetPersonList().OrderBy(p => p.Name).ToList()
            };

            return(View(nameof(Edit), viewModel));
        }
Example #5
0
        // GET: Schedule/Edit/{Guid}
        public ActionResult Edit(Guid id)
        {
            var schedule = _scheduleManager.GetSchedule(id);

            var viewModel = new ScheduleEditViewModel {
                Id            = schedule?.Id,
                StartAt       = schedule?.StartAt,
                EndAt         = schedule?.EndAt,
                ResponsibleId = schedule?.Responsible?.Id,
                People        = _personManager.GetPersonList().OrderBy(p => p.Name).ToList()
            };

            return(View(viewModel));
        }