public async Task <bool> SavePreference(DtoSchedule schedule) { try { using (var data = Context) { var s = await(from item in data.Preferences where schedule.Id == item.id select item).FirstOrDefaultAsync(); // Updating Course if (s != null) { s.userId = schedule.User.Id; s.courseId = schedule.Course.Id; s.scheduleId = schedule.Id; } // Adding new Course else { data.Preferences.Add(ScheduleConverter.DtoToDataAccess(schedule)); } await data.SaveChangesAsync(); } return(true); } catch (Exception) { return(false); } }
public async Task <IActionResult> GetScheduleForTeacher(int teacherId) { var periodTimeslots = await ScheduleRepository.GetScheduleForTeacherAsync(teacherId); var weeks = ScheduleConverter.Convert(periodTimeslots); return(new OkObjectResult(weeks)); }
public async Task <DtoSchedule> GetPreference(int id) { try { using (var data = Context) return(ScheduleConverter.DataAccsessToDto(await(from item in data.Preferences where item.id == id select item).FirstOrDefaultAsync())); } catch (Exception) { return(null); } }
public async Task <bool> SaveSchedule(IList <DtoSchedule> schedules) { try { using (var data = Context) { foreach (var item in schedules) { data.Preferences.Add(ScheduleConverter.DtoToDataAccess(item)); } await data.SaveChangesAsync(); } return(true); } catch (Exception) { return(false); } }
public async Task <ObservableCollection <DtoSchedule> > GetSchedules(int filter = -1) { var ret = new ObservableCollection <DtoSchedule>(); using (var data = Context) { if (filter != -1) { foreach (var item in await(from item in data.Preferences where item.userId == filter select item).OrderBy(item => item.scheduleId).ToListAsync()) { ret.Add(ScheduleConverter.DataAccsessToDto(item)); } } else { foreach (var item in await(from item in data.Preferences select item).OrderBy(item => item.scheduleId).ToListAsync()) { ret.Add(ScheduleConverter.DataAccsessToDto(item)); } } return(ret); } }
public async Task <List <DtoSchedule> > GetAllSchedules() { var ret = new List <DtoSchedule>(); using (var data = Context) { ret.AddRange(from item in await(from item in data.Preferences select item).OrderBy(item => item.scheduleId).ToListAsync() select ScheduleConverter.DataAccsessToDto(item)); return(ret); } }
private async Task <GridResponse> GetScheduleGridPrivate() { var periodTimeslots = await PeriodTimeslotRepository.GetEntityListAsync(); var weeks = ScheduleConverter.Convert(periodTimeslots); var classrooms = await ClassroomRepository.GetEntityListAsync(); var buildings = ScheduleConverter.Convert(classrooms); var schedule = await ScheduleRepository.GetEntityListAsync(); var cells = new List <List <ScheduleCellResponse> >(); foreach (var building in buildings) { foreach (var room in building.ClassroomsResponse) { var row = new List <ScheduleCellResponse>(); foreach (var week in weeks) { foreach (var day in week.DaysResponse) { foreach (var dayTimeslot in day.DayTimeslotsResponse) { var cell = new ScheduleCellResponse(); var isBlocked = classrooms .FirstOrDefault(c => c.Id == room.Id) ?.BanClassroomPeriodTimeslots .Any(b => b.PeriodTimeslotId == dayTimeslot.Id) ?? false; if (isBlocked) { cell.CellType = CellType.Blocked; } var teachingUnit = schedule .FirstOrDefault(s => s.ClassroomId == room.Id && s.PeriodTimeslotId == dayTimeslot.Id) ?.TeachingUnit; if (teachingUnit != null) { cell.GroupName = $"{teachingUnit.Group.Name} ({teachingUnit.Group.StudentsCount} чел.)"; cell.CourseName = teachingUnit.Course.Name; cell.LessonTypeName = $"{teachingUnit.LessonType.Name}"; cell.TeacherName = $"{teachingUnit.Teacher.SecondName} {teachingUnit.Teacher.FirstName.Substring(0, 1)}. {teachingUnit.Teacher.MiddleName?.Substring(0, 1)}."; cell.TeacherPost = $"({teachingUnit.Teacher.Post.Description})"; cell.CellType = teachingUnit.LessonTypeId == 1 ? CellType.Lecture : teachingUnit.LessonTypeId == 2 ? CellType.Practice : teachingUnit.LessonTypeId == 3 ? CellType.LaboratoryWork : CellType.Empty; } row.Add(cell); } } } cells.Add(row); } } return(new GridResponse() { Weeks = weeks, Buildings = buildings, Cells = cells }); }