コード例 #1
0
        async Task NavigateToSelectedChannel(string chId)
        {
            var schedVM   = new SheduleViewModel(chId);
            var schedPage = new TodaySchedule();

            schedPage.BindingContext = schedVM;
            await Application.Current.MainPage.Navigation.PushAsync(schedPage);
        }
コード例 #2
0
ファイル: ViewModelsProvider.cs プロジェクト: Lavsiant/teach
        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);
        }
コード例 #3
0
        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));
        }