public IActionResult AddNewFile(string subjectName, int homeworkId)
        {
            var model = new AddNewFileInputModel
            {
                SubjectName = subjectName,
                HomeworkId  = homeworkId,
            };

            return(this.View(model));
        }
        public async Task <IActionResult> AddNewFile(string subjectName, int homeworkId, AddNewFileInputModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var fileUri = string.Empty;

            if (input.File != null)
            {
                fileUri = await this.themesService
                          .UploadFileToCloudinary(input.File.FileName, input.File.OpenReadStream());

                if (input.FileDescription == null)
                {
                    input.FileDescription = "document";
                }
            }

            await this.homeworksService.AddNewFileAsync(homeworkId, fileUri, input.FileDescription);

            return(this.RedirectToAction("Themes", "Subjects", new { subjectName }));
        }