protected virtual SheetFilter CreateFilter(SheetFilterViewModel viewFilter, string teacherId)
 {
     return(new SheetFilter()
     {
         FacultyId = viewFilter?.FacultyId,
         GroupId = viewFilter?.GroupId,
         State = (viewFilter == null || viewFilter.State == 0) ? (short)1 : viewFilter.State,
         SubjectId = viewFilter?.SubjectId,
         TeacherId = teacherId
     });
 }
 protected virtual SheetFilter CreateFilter(SheetFilterViewModel viewFilter, string facultyId)
 {
     return(new SheetFilter()
     {
         FacultyId = facultyId,
         GroupId = viewFilter?.GroupId,
         State = viewFilter?.State ?? 0,
         SubjectId = viewFilter?.SubjectId,
         TeacherId = viewFilter?.TeacherId
     });
 }
        protected virtual IndexPageViewModel CreateIndexPageViewModel(int page, SheetFilterViewModel filter = null)
        {
            var model       = new IndexPageViewModel();
            var claim       = User.Claims.FirstOrDefault(x => x.Type.Equals(Constants.Claims.ReferenceId));
            var sheetFilter = CreateFilter(filter, claim.Value);
            var totalCount  = ExamSheetManager.GetTotal(sheetFilter);

            model.Page       = new PageViewModel(totalCount, page, PageSize);
            model.ExamSheets = ExamSheetManager.FindAll(sheetFilter, page, PageSize).Select(ExamSheetListViewModel).ToList();
            model.Filter     = CreateFilterModel(claim.Value, filter);
            return(model);
        }
        public IActionResult Index(int page = 1, SheetFilterViewModel filter = null)
        {
            if (User.IsInRole(AccountType.Admin))
            {
                return(RedirectToAction("Index", "Faculty"));
            }
            if (User.IsInRole(AccountType.Teacher))
            {
                return(RedirectToAction("Index", "TeacherSheet"));
            }

            //GenerateData("28c36d24-580f-409c-92d9-bfdbe4ee4559", 35, 30, 20, 15);
            //GenerateData("93432f51-6cc2-4e02-9523-d8d73daec829", 20, 30, 25, 25);

            var model = CreateIndexPageViewModel(page, filter);

            return(View(model));
        }
        protected virtual SheetFilterViewModel CreateFilterModel(string teacherId, SheetFilterViewModel filter = null)
        {
            var model = new SheetFilterViewModel();

            model.StateList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Відкрита", Value = "1"
                },
                new SelectListItem()
                {
                    Text = "Закрита", Value = "2"
                }
            };
            var subjects  = SubjectManager.FindAllForTeacher(teacherId);
            var faculties = FacultyManager.FindAllForTeacher(teacherId);
            var groups    = string.IsNullOrEmpty(filter.FacultyId) ? new List <GroupModel>() : GroupManager.FindAllForFaculty(filter.FacultyId).ToList();

            model.SubjectList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Не обрано", Value = string.Empty
                }
            };
            model.SubjectList.AddRange(subjects.Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id
            }));
            model.GroupList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Не обрано", Value = string.Empty
                }
            };
            model.GroupList.AddRange(groups.Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id
            }));
            model.FacultyList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Не обрано", Value = string.Empty
                }
            };
            model.FacultyList.AddRange(faculties.Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id
            }));

            if (filter != null)
            {
                model.GroupId   = filter.GroupId;
                model.FacultyId = filter.FacultyId;
                model.SubjectId = filter.SubjectId;
                model.State     = filter.State;
            }
            return(model);
        }
        public IActionResult Index(int page = 1, SheetFilterViewModel filter = null)
        {
            var model = CreateIndexPageViewModel(page, filter);

            return(View(model));
        }
        protected virtual SheetFilterViewModel CreateFilterModel(string facultyId, SheetFilterViewModel filter = null)
        {
            var model = new SheetFilterViewModel();

            model.StateList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Нова", Value = "0"
                },
                new SelectListItem()
                {
                    Text = "Відкрита", Value = "1"
                },
                new SelectListItem()
                {
                    Text = "Закрита", Value = "2"
                }
            };
            var subjects = SubjectManager.FindAllForFaculty(facultyId);
            var groups   = GroupManager.FindAllForFaculty(facultyId);
            var teachers = TeacherManager.FindAllForFaculty(facultyId);

            model.SubjectList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Не обрано", Value = string.Empty
                }
            };
            model.SubjectList.AddRange(subjects.Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id
            }));
            model.GroupList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Не обрано", Value = string.Empty
                }
            };
            model.GroupList.AddRange(groups.Select(x => new SelectListItem()
            {
                Text = x.Name, Value = x.Id
            }));
            model.TeacherList = new List <SelectListItem>()
            {
                new SelectListItem()
                {
                    Text = "Не обрано", Value = string.Empty
                }
            };
            model.TeacherList.AddRange(teachers.Select(x => new SelectListItem()
            {
                Text = x.Surname + " " + x.Name, Value = x.Id
            }));

            if (filter != null)
            {
                model.GroupId   = filter.GroupId;
                model.TeacherId = filter.TeacherId;
                model.SubjectId = filter.SubjectId;
                model.State     = filter.State;
            }
            return(model);
        }