public ActionResult Edit([Bind(Include = "Id,Tutor,Student,DayName,TimeOfDay")]
                                 TutorScheduleViewModel tutorSchedule)
        {
            if (ModelState.IsValid)
            {
                var modifiedSchedule = _db.TutorSchedules.Find(tutorSchedule.Id);
                if (modifiedSchedule != null)
                {
                    using (var context = new SenecaContext())
                    {
                        var             sqlString = "SELECT Tutor_Id FROM TutorSchedule WHERE Id = " + tutorSchedule.Id;
                        var             tutorId   = context.Database.SqlQuery <string>(sqlString).FirstOrDefault();
                        ApplicationUser tutor     = _db.Users.Find(tutorId);
                        modifiedSchedule.Tutor = tutor;

                        sqlString = "SELECT Student_Id FROM TutorSchedule WHERE Id = " + tutorSchedule.Id;
                        var     studentId = context.Database.SqlQuery <int>(sqlString).FirstOrDefault();
                        Student student   = _db.Students.Find(studentId);
                        modifiedSchedule.Student = student;
                    }

                    modifiedSchedule.DayOfWeekIndex      = GetDayOfWeekIndex(tutorSchedule.DayName);
                    modifiedSchedule.MinutesPastMidnight = ConvertToMinutesPastMidnight(tutorSchedule.TimeOfDay);
                    _db.Entry(modifiedSchedule).State    = EntityState.Modified;
                    _db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            return(View(tutorSchedule));
        }
        // GET: TutorSchedules/Create
        public ActionResult Create()
        {
            var viewModel      = new TutorScheduleViewModel();
            var tutors         = _db.Users.OrderBy(u => u.LastName).ToList();
            var validTutorList = new List <ApplicationUser>();

            foreach (ApplicationUser user in tutors)
            {
                foreach (var role in user.Roles)
                {
                    var identityRole = (from r in _db.Roles where (r.Id == role.RoleId) select r).Single();
                    if (identityRole.Name != "Tutor")
                    {
                        continue;
                    }
                    validTutorList.Add(user);
                }
            }
            viewModel.Tutors   = validTutorList;
            viewModel.Students = (_db.Students.OrderBy(u => u.FirstName).ToList());
            viewModel.DaysList = new List <string>()
            {
                "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
            };
            viewModel.TimesList = new List <string>()
            {
                "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45",
                "1:00", "1:15", "1:30", "1:45", "2:00", "2:15", "2:30", "2:45",
                "3:00", "3:15", "3:30", "3:45", "4:00", "4:15", "4:30", "4:45",
                "5:00", "5:15", "5:30", "TBD"
            };
            return(View(viewModel));
        }
Example #3
0
        public ActionResult Create([Bind(Include = "Student,DayName,TimeOfDay")]
                                   TutorScheduleViewModel tutorSchedule)
        {
            tutorSchedule.ErrorMessage = null;
            if (tutorSchedule.Student.Id == 0)
            {
                tutorSchedule.ErrorMessage = "Student Required!";
            }

            if (tutorSchedule.ErrorMessage != null || ModelState.IsValid != true) // build drop-down lists:
            {
                tutorSchedule.Students = _db.Students.OrderBy(s => s.FirstName).ToList();
                List <string> daysList = new List <string>
                {
                    "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
                };
                tutorSchedule.DaysList = daysList;
                List <string> timesList = new List <string>
                {
                    "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45",
                    "1:00", "1:15", "1:30", "1:45", "2:00", "2:15", "2:30", "2:45",
                    "3:00", "3:15", "3:30", "3:45", "4:00", "4:15", "4:30", "4:45",
                    "5:00", "5:15", "5:30", "TBD"
                };
                tutorSchedule.TimesList = timesList;
                return(View(tutorSchedule));
            }

            // if ErrorMessage = null AND ModelState.IsValid:
            string          userId           = User.Identity.GetUserId();
            ApplicationUser user             = (from u in _db.Users where u.Id == userId select u).Single();
            Student         student          = _db.Students.Find(tutorSchedule.Student.Id);
            TutorSchedule   newTutorSchedule = new TutorSchedule()
            {
                Tutor               = user,
                Student             = student,
                DayOfWeekIndex      = GetDayOfWeekIndex(tutorSchedule.DayName),
                DayName             = tutorSchedule.DayName,
                MinutesPastMidnight = ConvertToMinutesPastMidnight(tutorSchedule.TimeOfDay),
                TimeOfDay           = tutorSchedule.TimeOfDay
            };

            _db.TutorSchedules.Add(newTutorSchedule);
            _db.SaveChanges();
            string msgText = "On " + DateTime.Now.ToShortDateString() + " "
                             + newTutorSchedule.Tutor.FullName + " added "
                             + newTutorSchedule.Student.FirstName + " "
                             + newTutorSchedule.DayName + " " + newTutorSchedule.TimeOfDay;
            Task <ActionResult> unused = new AccountController().EmailSheduleChange(user, msgText);

            return(RedirectToAction("Index"));
        }
Example #4
0
        public ActionResult Index()
        {
            var                    userId    = User.Identity.GetUserId();
            ApplicationUser        user      = (from u in _db.Users where u.Id == userId select u).Single();
            TutorScheduleViewModel viewModel = new TutorScheduleViewModel {
                Tutor = user
            };

            viewModel.Tutor.TutorSchedules = new List <TutorSchedule>();

            foreach (var tutorSchedule in _db.TutorSchedules.ToList())
            {
                using (var context = new SenecaContext())
                {
                    var sqlString = "SELECT Tutor_Id FROM TutorSchedule WHERE Id = " + tutorSchedule.Id;
                    var tutorId   = context.Database.SqlQuery <string>(sqlString).FirstOrDefault();
                    var tutor     = _db.Users.Find(tutorId);
                    if (tutor.Id != userId)
                    {
                        continue;
                    }

                    sqlString = "SELECT Student_Id FROM TutorSchedule WHERE Id = " + tutorSchedule.Id;
                    var studentId = context.Database.SqlQuery <int>(sqlString).FirstOrDefault();
                    var student   = _db.Students.Find(studentId);

                    TutorSchedule ts = new TutorSchedule
                    {
                        Id                  = tutorSchedule.Id,
                        Tutor               = tutor,
                        Student             = student,
                        MinutesPastMidnight = tutorSchedule.MinutesPastMidnight,
                        DayName             = GetDayOfWeekName(tutorSchedule.DayOfWeekIndex),
                        DayOfWeekIndex      = tutorSchedule.DayOfWeekIndex,
                        TimeOfDay           = ConvertToHhmm(tutorSchedule.MinutesPastMidnight)
                    };
                    viewModel.Tutor.TutorSchedules.Add(ts);
                }
            }
            return(View(viewModel));
        }
Example #5
0
        public ActionResult Edit([Bind(Include = "Id,Tutor,Student,DayName,TimeOfDay")]
                                 TutorScheduleViewModel tutorSchedule)
        {
            if (ModelState.IsValid)
            {
                var modifiedSchedule = _db.TutorSchedules.Find(tutorSchedule.Id);
                if (modifiedSchedule != null)
                {
                    using (var context = new SenecaContext())
                    {
                        var             sqlString = "SELECT Tutor_Id FROM TutorSchedule WHERE Id = " + tutorSchedule.Id;
                        var             tutorId   = context.Database.SqlQuery <string>(sqlString).FirstOrDefault();
                        ApplicationUser tutor     = _db.Users.Find(tutorId);
                        modifiedSchedule.Tutor = tutor;
                        tutorSchedule.Tutor    = tutor;

                        sqlString = "SELECT Student_Id FROM TutorSchedule WHERE Id = " + tutorSchedule.Id;
                        var     studentId = context.Database.SqlQuery <int>(sqlString).FirstOrDefault();
                        Student student   = _db.Students.Find(studentId);
                        modifiedSchedule.Student = student;
                    }

                    modifiedSchedule.DayOfWeekIndex      = GetDayOfWeekIndex(tutorSchedule.DayName);
                    modifiedSchedule.MinutesPastMidnight = ConvertToMinutesPastMidnight(tutorSchedule.TimeOfDay);
                    _db.Entry(modifiedSchedule).State    = EntityState.Modified;
                    _db.SaveChanges();
                    if (modifiedSchedule.Student != null)
                    {
                        string msgText = "On " + DateTime.Now.ToShortDateString() + " "
                                         + modifiedSchedule.Tutor.FullName + " changed "
                                         + modifiedSchedule.Student.FirstName + " to "
                                         + tutorSchedule.DayName + " " + tutorSchedule.TimeOfDay;
                        Task <ActionResult> unused = new AccountController().EmailSheduleChange(modifiedSchedule.Tutor, msgText);
                    }

                    return(RedirectToAction("Index"));
                }
            }
            return(View(tutorSchedule));
        }
Example #6
0
        public ActionResult Create()
        {
            string                 userId    = User.Identity.GetUserId();
            ApplicationUser        user      = (from u in _db.Users where u.Id == userId select u).Single();
            TutorScheduleViewModel viewModel = new TutorScheduleViewModel {
                Tutor = user
            };

            viewModel.Students = (_db.Students.OrderBy(u => u.FirstName).ToList());
            viewModel.DaysList = new List <string>()
            {
                "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
            };
            viewModel.TimesList = new List <string>()
            {
                "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45",
                "1:00", "1:15", "1:30", "1:45", "2:00", "2:15", "2:30", "2:45",
                "3:00", "3:15", "3:30", "3:45", "4:00", "4:15", "4:30", "4:45",
                "5:00", "5:15", "5:30", "TBD"
            };
            return(View(viewModel));
        }
        public ActionResult Create([Bind(Include = "Tutor,Student,DayName,TimeOfDay")]
                                   TutorScheduleViewModel tutorSchedule)
        {
            tutorSchedule.ErrorMessage = null;
            if (tutorSchedule.Tutor.Id == null)
            {
                tutorSchedule.ErrorMessage = "Tutor Required!";
            }

            if (tutorSchedule.Student.Id == 0)
            {
                tutorSchedule.ErrorMessage = "Student Required!";
            }

            if (tutorSchedule.ErrorMessage != null || ModelState.IsValid != true) // rebuild drop-down lists:
            {
                var tutorRoleId = (from r in _db.Roles where (r.Name == "Tutor") select r.Id).Single();
                var listTutors  = new List <ApplicationUser>();
                var users       = _db.Users.ToList();
                foreach (var user in users)
                {
                    foreach (var role in user.Roles)
                    {
                        if (role.RoleId == tutorRoleId)
                        {
                            listTutors.Add(user);
                        }
                    }
                }

                tutorSchedule.Tutors   = listTutors;
                tutorSchedule.Students = _db.Students.OrderBy(s => s.FirstName).ToList();
                List <string> daysList = new List <string>
                {
                    "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
                };
                tutorSchedule.DaysList = daysList;
                List <string> timesList = new List <string>
                {
                    "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45",
                    "1:00", "1:15", "1:30", "1:45", "2:00", "2:15", "2:30", "2:45",
                    "3:00", "3:15", "3:30", "3:45", "4:00", "4:15", "4:30", "4:45",
                    "5:00", "5:15", "5:30", "TBD"
                };
                tutorSchedule.TimesList = timesList;
                return(View(tutorSchedule));
            }

            // if ErrorMessage = null AND ModelState.IsValid:
            ApplicationUser tutor            = _db.Users.Find(tutorSchedule.Tutor.Id);
            Student         student          = _db.Students.Find(tutorSchedule.Student.Id);
            TutorSchedule   newTutorSchedule = new TutorSchedule()
            {
                Tutor               = tutor,
                Student             = student,
                DayOfWeekIndex      = GetDayOfWeekIndex(tutorSchedule.DayName),
                MinutesPastMidnight = ConvertToMinutesPastMidnight(tutorSchedule.TimeOfDay)
            };

            _db.TutorSchedules.Add(newTutorSchedule);
            _db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        // GET: TutorSchedules/Edit/5
        public ActionResult Edit(int?id)
        {
            TutorScheduleViewModel viewModel = null;
            var ts = _db.TutorSchedules.Find(id);

            if (ts != null)
            {
                string dayName   = GetDayOfWeekName(ts.DayOfWeekIndex);
                string timeOfDay = ConvertToHhmm(ts.MinutesPastMidnight);

                var validTutorList = new List <ApplicationUser>();
                using (var context = new SenecaContext())
                {
                    var             sqlString = "SELECT Tutor_Id FROM TutorSchedule WHERE Id = " + id;
                    var             tutorId   = context.Database.SqlQuery <string>(sqlString).FirstOrDefault();
                    ApplicationUser tutor     = _db.Users.Find(tutorId);

                    sqlString = "SELECT Student_Id FROM TutorSchedule WHERE Id = " + id;
                    var     studentId = context.Database.SqlQuery <int>(sqlString).FirstOrDefault();
                    Student student   = _db.Students.Find(studentId);

                    var tutors = _db.Users.OrderBy(u => u.LastName).ToList();
                    foreach (ApplicationUser user in tutors)
                    {
                        foreach (var role in user.Roles)
                        {
                            var identityRole = (from r in _db.Roles where (r.Id == role.RoleId) select r).Single();
                            if (identityRole.Name != "Tutor")
                            {
                                continue;
                            }
                            validTutorList.Add(user);
                        }
                    }

                    var daysList = new List <string>()
                    {
                        "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
                    };
                    var timesList = new List <string>()
                    {
                        "10:00", "10:15", "10:30", "10:45", "11:00", "11:15", "11:30", "11:45",
                        "1:00", "1:15", "1:30", "1:45", "2:00", "2:15", "2:30", "2:45",
                        "3:00", "3:15", "3:30", "3:45", "4:00", "4:15", "4:30", "4:45",
                        "5:00", "5:15", "5:30", "TBD"
                    };

                    TutorScheduleViewModel newTutorSchedule = new TutorScheduleViewModel()
                    {
                        Tutor     = tutor,
                        Tutors    = validTutorList,
                        Student   = student,
                        DayName   = dayName,
                        TimeOfDay = timeOfDay,
                        DaysList  = daysList,
                        TimesList = timesList,
                    };
                    viewModel = newTutorSchedule;
                }
            }
            return(View(viewModel));
        }