private string CreateDocument(UploadDocumentVM viewModel, string roleVisibleTo)
        {
            try
            {
                Document document = new Document
                {
                    DocumentName  = viewModel.File.FileName,
                    ContentType   = viewModel.File.ContentType,
                    UploaderID    = User.Identity.GetUserId(),
                    RoleID        = new RolesRepository().RoleByName(roleVisibleTo).Id,
                    UploadingDate = DateTime.Now,
                    CourseID      = viewModel.CourseID
                };

                document.DocumentContent = new byte[viewModel.File.ContentLength];
                viewModel.File.InputStream.Read(document.DocumentContent, 0, viewModel.File.ContentLength);

                repository.Add(document);

                return(string.Empty);
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
        public ActionResult UploadDocumentForSpecificCourse(UploadDocumentVM viewModel)
        {
            if (ModelState.IsValid && viewModel.File != null)
            {
                string result = CreateDocument(viewModel, RoleConstants.Student);

                if (result.Length == 0)
                {
                    return(RedirectToAction("MyDocuments"));
                }
                else
                {
                    ViewBag.ErrorMessage = result;
                    ViewBag.Courses      = GetCourses(false);

                    return(View(viewModel));
                }
            }

            ViewBag.Courses = GetCourses(false);
            return(View(viewModel));
        }