async Task NavigateToSelectedChannel(string chId) { var schedVM = new SheduleViewModel(chId); var schedPage = new TodaySchedule(); schedPage.BindingContext = schedVM; await Application.Current.MainPage.Navigation.PushAsync(schedPage); }
public SheduleViewModel GetSheduleViewModel(List <UserCourse> studentLessons, List <UserCourse> teacherLessons, string id) { var vm = new SheduleViewModel() { StudentLessons = studentLessons.OrderBy(x => x.WeekDay).ThenBy(x => x.StartLessonTime).ToList(), TeacherLesson = teacherLessons.OrderBy(x => x.WeekDay).ThenBy(x => x.StartLessonTime).ToList(), UserId = id }; return(vm); }
public IHttpActionResult AddShedule(SheduleViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Teacher teacher = Data.Teachers.Find(model.TeacherId); if (teacher == null) { return(NotFound()); } var room = Data.Rooms.Find(model.RoomName); if (room == null) { room = new Room(model.RoomName); Data.Rooms.Add(room); Data.Rooms.SaveChanges(); } var shedule = new Shedule() { EndDate = model.EndDate, Id = model.Id, StartDate = model.StartDate, TeacherId = model.TeacherId, Message = model.Message }; shedule.Room = room; if (shedule.StartDate >= shedule.EndDate) { return(BadRequest("Start date must be before end date")); } Data.Shedules.Add(shedule); Data.Shedules.SaveChanges(); // teacher.Shedules.Add(shedule); Data.Teachers.SaveChanges(); var emailsToSend = teacher.SubscribedUsers.Select(u => u.Email).ToList(); EmailSender.Send(emailsToSend, String.Format("{0}'s schedule has been changed go to <b>{1}</b> to see the new schedule", teacher.FirstName + teacher.LastName, Constants.Url + "/#/teachers/" + teacher.Id), String.Format("{0}'s schedule has been updated", teacher.FirstName + teacher.LastName)); return(Ok(shedule)); }