public LoadResult GetMonitorings(DevxLoadOptions options) { return(DataSourceLoader.Load(_context.Monitorings.Where(x => x.StudentId == _accessor.HttpContext.Session.GetInt32("id") && x.GroupId == _context.Users .FirstOrDefault(y => y.Id == _accessor.HttpContext.Session.GetInt32("id")).Class_Id), options)); }
public LoadResult GetStudentsCountForGroups(DevxLoadOptions options) => DataSourceLoader.Load((from gr in _context.Groups select new { Id = gr.Id, GroupName = gr.Name, StudentsCount = _context.Users.Count(x => x.Class_Id == gr.Id && x.Role == Enums.Roles.Student) }), options);
/// <summary> /// Bind model /// </summary> /// <param name="bindingContext"></param> /// <returns></returns> public Task BindModelAsync(ModelBindingContext bindingContext) { var loadOptions = new DevxLoadOptions(); DataSourceLoadOptionsParser.Parse(loadOptions, key => bindingContext.ValueProvider.GetValue(key).FirstOrDefault()); bindingContext.Result = ModelBindingResult.Success(loadOptions); return(Task.CompletedTask); }
public Dictionary <string, object> GetJournal(DevxLoadOptions options, int groupId, int teacherId) { var jurnalList = _repo.JournalsRepo.GetJournal(options, groupId, teacherId).data.Cast <JournalViewModel>().ToList(); var dates = jurnalList.Select(x => x.Date)?.GroupBy(x => x)?.OrderBy(x => x.Key)?.ToList(); var students = jurnalList.Select(x => x.Id)?.GroupBy(x => x)?.OrderBy(x => x.Key)?.ToList(); var result = new Dictionary <string, object>(); var properties = new Dictionary <string, object>(); List <dynamic> jurnals = new List <dynamic>(); string dateFormat = "ddMMMyyyyHHmm"; properties.Add("P1", "Id"); properties.Add("P2", "Name"); var index = 3; if (dates != null) { foreach (var item in dates) { var key = $"P{index++}"; if (!properties.ContainsKey(key)) { properties.Add(key, item.Key.ToString(dateFormat)); } } } if (students != null) { foreach (var student in students) { var j = new Dictionary <string, object>(); var s = jurnalList.FirstOrDefault(x => x.Id == student.Key); j.Add("Id", s.Id); j.Add("Name", s.Surname + ' ' + s.Name); if (dates != null) { foreach (var item in dates) { var key = item.Key.ToString(dateFormat); if (!j.ContainsKey(key)) { j.Add(key, jurnalList.FirstOrDefault(x => x.Date == item.Key && x.Id == student.Key)?.Score ?? "de"); } } } jurnals.Add(j); } } result.Add("Properties", properties); result.Add("List", jurnals); return(result); }
public LoadResult GetUser(DevxLoadOptions options, string name, int groupId) { return(DataSourceLoader.Load(_context.Monitorings.Where(x => x.Name == name && x.TeacherId == _accessor.HttpContext.Session .GetInt32("id") .Value&& x.GroupId == groupId).Select(x => new { x.Id, _context.Users.Select(y => new { y.Id, StudentName = $"{y.Name} {y.Surname}" }).FirstOrDefault(y => y.Id == x.StudentId).StudentName, x.Path, x.Score }), options)); }
public LoadResult GetLists(DevxLoadOptions options, int groupId) { var teacherId = _accessor.HttpContext.Session.GetInt32("id").Value; var vv = (from contextMonitoring in _context.Monitorings where contextMonitoring.GroupId == groupId && contextMonitoring.TeacherId == teacherId group contextMonitoring by new { contextMonitoring.Name, contextMonitoring.DeadLine } into a select new { a.Key.DeadLine, a.Key.Name } ); return(DataSourceLoader.Load(vv, options)); }
public LoadResult GetJournal(DevxLoadOptions options, int groupId, int teacherId) => DataSourceLoader.Load((from j in _context.Journals join u in _context.Users on j.Student_Id equals u.Id where u.Role == Enums.Roles.Student join gj in _context.GroupJournals on j.Id equals gj.JournalID join gtl in _context.GroupTeacherLessons on gj.GroupTeacherLessonId equals gtl.Id join gt in _context.GroupTeachers on gtl.GroupTeacherId equals gt.Id where gt.GroupID == groupId && gt.TeacherID == teacherId select new JournalViewModel { Date = j.Date, Id = j.Student_Id, Score = j.Score, Name = u.Name, Surname = u.Surname }).ToList(), options);
public LoadResult GetGroupsListByTeacherId(DevxLoadOptions options, int teacherId) => DataSourceLoader.Load(_repo.GroupsRepo.GetGroupsList(teacherId), options);
public LoadResult GetStudentsList(DevxLoadOptions options) => _services.UsersServices.GetStudentsList(options);
public LoadResult GetDevextremeList(DevxLoadOptions options) => DataSourceLoader.Load(_context.Lessons, options);
public LoadResult GetStudentsCountForGroup(DevxLoadOptions options) => _repo.GroupsRepo.GetStudentsCountForGroups(options);
public LoadResult GetList(DevxLoadOptions options, int groupId, int teacherId) => DataSourceLoader.Load(_repo.LessonsRepo.GetList(groupId, teacherId), options);
public LoadResult GetStudentsList(DevxLoadOptions options) => DataSourceLoader.Load(_repo.UsersRepo.GetStudentsList(), options);
public LoadResult GetAdminsList(DevxLoadOptions options) => _repo.UsersRepo.GetAdminsList(options);
public LoadResult GetTeachersList(DevxLoadOptions options) => _repo.UsersRepo.GetTeachersList(options);
public LoadResult GetList(DevxLoadOptions options) => _services.GroupsService.GetStudentsCountForGroup(options);
public LoadResult GetAdminsList(DevxLoadOptions options) => DataSourceLoader.Load(_context.Users.Where(x => x.Role == Roles.Admin), options);
public LoadResult GetList(DevxLoadOptions options, [FromRoute] int groupId) => _services.LessonService.GetList(options, groupId, HttpContext.Session.GetInt32("id").Value);
public LoadResult GetMonitorings(DevxLoadOptions options) => _services.GetMonitorings(options);
public LoadResult GetList(DevxLoadOptions options) => _services.GroupsService.GetDevextremeList(options);
public LoadResult GetSummary(DevxLoadOptions options) => DataSourceLoader.Load(_services.GetSummary, options);
public LoadResult GetCalendar(DevxLoadOptions options) => DataSourceLoader.Load(_services.GetCalendar(), options);
public LoadResult GetDevextremeList(DevxLoadOptions options) => _repo.GroupsRepo.GetDevextremeList(options);
public LoadResult GetAdminsList(DevxLoadOptions options) => _services.UsersServices.GetAdminsList(options);
public LoadResult GetList(DevxLoadOptions options, [FromRoute] int groupId) => DataSourceLoader.Load(_services.JournalService .GetJournal(options, groupId, HttpContext.Session.GetInt32("id").Value) , options);
public LoadResult GetList(DevxLoadOptions options, [FromRoute] int groupId) => _services.MonitoringService.GetLists(options, groupId);
public LoadResult GetGroups(DevxLoadOptions options) => _services.GroupsService.GetGroupsListByTeacherId(options, HttpContext.Session.GetInt32("id").Value);
public LoadResult GetUsersList(DevxLoadOptions options, string name, int groupId) => _services.MonitoringService.GetUser(options, name, groupId);
public LoadResult GetDevextremeList(DevxLoadOptions options) => DataSourceLoader.Load(_context.GroupJournals, options);
public LoadResult GetList(DevxLoadOptions options) => DataSourceLoader.Load(_services.GetJournal(), options);