public ActionResult ViewDetails(int studentId, int sHId)
        {
            StudentHomeworkServices  service  = new StudentHomeworkServices();
            StudentHomeworkViewModel homework = service.GetHomeworkDetails(studentId, sHId);

            return(View(homework));
        }
        public ActionResult UploadHomeworkFiles(StudentHomeworkViewModel sh)
        {
            if (sh.files.ElementAt(0) == null)
            {
                return(RedirectToAction("Homeworks", "Student"));
            }
            string username = Request.Cookies["UserSettings"].Values["UserName"];

            string dir = "~/Homeworks/" + username + "/" + sh.SHomeID;

            bool   exists = System.IO.Directory.Exists(Server.MapPath(dir.ToString()));
            string myPath = sh.Path;

            foreach (var file in sh.files)
            {
                if (file != null)
                {
                    if (!exists)
                    {
                        System.IO.Directory.CreateDirectory(Server.MapPath(dir.ToString()));
                    }

                    var fileName = Path.GetFileName(file.FileName);
                    var path     = Path.Combine(Server.MapPath(dir.ToString()), fileName);
                    file.SaveAs(path);
                    myPath = fileName + " " + myPath;
                }
            }
            StudentHomeworkServices HService = new StudentHomeworkServices();

            HService.UpdateStudentHomework(sh.SHomeID, 0, "Uploaded", myPath);

            return(RedirectToAction("Homeworks", "Student"));
        }
        //get all homeworks by student id
        public List <StudentHomeworkViewModel> GetStudentHomeWorks(int id)
        {
            var            studentHomeworks = new List <StudentHomework>();
            StudentService instance         = new StudentService();
            Student        student          = instance.GetStudentByID(id);

            studentHomeworks = StudentHomeworkRepository.GetStudentHomeWorks(id);
            List <StudentHomeworkViewModel> ShowList = new List <StudentHomeworkViewModel>();

            foreach (var studentHomework in studentHomeworks)
            {
                if ((studentHomework.StatusID != "Rejected") && (studentHomework.EndDate < DateTime.Now))
                {
                    studentHomework.StatusID = "Rejected";
                    studentHomework.Grade    = 1;
                    StudentHomeworkRepository.UpdateStudentHomeworkBySHomeworkID(studentHomework.SHomeID, studentHomework.Grade, studentHomework.StatusID, "");//update in DB
                    EmailNotification notification = new EmailNotification(new EmailSender());

                    notification.NotifystudentWhenHomeworkIsRejected(student.Email, student.FirstName, studentHomework.SHomeID);
                }

                StudentHomeworkViewModel homework = new StudentHomeworkViewModel(studentHomework.SHomeID, studentHomework.Grade, studentHomework.StatusID, studentHomework.StudentID, studentHomework.StartDate, studentHomework.EndDate, studentHomework.Requirements, studentHomework.UploadedFiles);
                homework.StudentName = student.UserName;
                homework.StudentID   = id;
                homework.Comments    = studentHomework.Comments;
                ShowList.Add(homework);
            }

            return(ShowList);
        }
        public StudentHomeworkViewModel GetHomeworkDetails(int studentId, int SHId)
        {
            StudentHomeworkServices         service   = new StudentHomeworkServices();
            List <StudentHomeworkViewModel> homeworks = service.GetStudentHomeWorks(studentId);
            StudentHomeworkViewModel        homework  = homeworks.Where(a => a.SHomeID == SHId).FirstOrDefault();

            return(homework);
        }