Exemplo n.º 1
0
        public ViewModels.Lessons.Reschedule SaveReschedule(int lessonId, int loggedInUserId, FormCollection frm)
        {
            var ret = new ViewModels.Lessons.Reschedule();

            using (var conn = new dbEntities())
            {
                ret.lesson = conn.Lessons.FirstOrDefault(l => l.ID == lessonId);
                if (ret.lesson == null)
                {
                    throw new Exception("Lesson does not exist.");
                }
                if (ret.lesson.Account_ID != loggedInUserId)
                {
                    throw new WrongAccountException();
                }

                // expect dd mm yyyy hh:mm tt
                var bkdt = (frm["BookingDate"] ?? "").Trim();
                if (string.IsNullOrEmpty(bkdt))
                {
                    throw new Exception("Booking date is required.");
                }

                ret.lesson.BookingDate = Rules.Timezone.ConvertToUTC(Convert.ToDateTime(bkdt));
                conn.SaveChanges();

                Rules.EventLogging.EditLesson(loggedInUserId, ret.lesson);
            }

            return(ret);
        }
Exemplo n.º 2
0
        public ViewModels.Lessons.Reschedule LoadReschedule(int id, int loggedInUserId)
        {
            var ret = new ViewModels.Lessons.Reschedule();

            using (var conn = new dbEntities())
            {
                ret.lesson = conn.Lessons.FirstOrDefault(l => l.ID == id);
                if (ret.lesson == null)
                {
                    throw new Exception("Lesson does not exist.");
                }
                if (ret.lesson.Account_ID != loggedInUserId)
                {
                    throw new WrongAccountException();
                }

                ret.host = ret.lesson.Account;

                // timezone out for displaying
                ret.lesson.BookingDate = Rules.Timezone.ConvertFromUTC(ret.lesson.BookingDate);

                ret.lesson.Subject = ret.lesson.Subject ?? "";
            }

            return(ret);
        }