public void Execute()
        {
            try
            {
                Console.WriteLine("\nPlease give homework's Id - string: ");
                var id = Console.ReadLine();
                Console.WriteLine("\nPlease give homework's description - string: ");
                var desc = Console.ReadLine();
                Console.WriteLine("\nPlease give homework's receiving week - integer: ");
                var @recvWeek = int.Parse(Console.ReadLine());
                Console.WriteLine("\nPlease give homework's deadline week - integer: ");
                var deadlineWeek = int.Parse(Console.ReadLine());
                var retValue     = _srv.AddHomework(id, desc, recvWeek, deadlineWeek);

                Console.WriteLine(retValue == null
                                        ? "The homework was added successfully!\n"
                                        : "The homework is already in the repository!\n");
            }
            catch (ValidatorException e)
            {
                Console.WriteLine("\n" + e.Message + "\n");
            }
            catch (FormatException e)
            {
                Console.WriteLine("\n" + e.Message + "\n");
            }
        }
 public ActionResult AddHomework(Homework homework)
 {
     try
     {
         _homeworkService.AddHomework(homework);
         _homeworkService.Save();
         ModelState.Clear();
         ViewData["Message"] = "Success";
     }
     catch
     {
         ViewData["Message"] = "Error";
     }
     return(View());
 }
        public ActionResult Create(HomeworkViewModel homework)
        {
            if (homework.endDate <= DateTime.Now)
            {
                ModelState.AddModelError("", "Please choose another end date!");
                return(View());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    HomeworkService service = new HomeworkService();
                    int             id      = Int32.Parse(Request.Cookies["UserSettings"].Values["UserID"]);
                    homework.TeacherID = id;
                    service.AddHomework(homework);
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
                    return(View());
                }
                try
                {
                    StudentService           studentService = new StudentService();
                    int                      id             = Int32.Parse(Request.Cookies["UserSettings"].Values["UserID"]);
                    List <StudInfoViewModel> studentsList   = studentService.GetStudentsByTeacherID(id);//all students

                    EmailNotification notification = new EmailNotification(new EmailSender());

                    foreach (var student in studentsList)
                    {
                        notification.NotifystudentWhenHomeworkIsCreated(student.Email, student.FirstName, homework.endDate);
                    }
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "Unable to send email to all students. Try again, and if the problem persists, see your system administrator.");
                    return(RedirectToAction("MyHomeworks", "Teacher"));
                }
            }


            return(RedirectToAction("MyHomeworks", "Teacher"));
        }