public async Task <IActionResult> AddTaskFile(AddTaskFileViewModel model)
        {
            if (ModelState.IsValid)
            {
                var teacherID = Context.Users.FirstOrDefault(x => x.UserName == this.User.Identity.Name).Id;
                var task      = Documentation.Tasks.FirstOrDefault(x => x.StTaskID == model.TaskID);
                if (task == null)
                {
                    return(LocalRedirect(model.ReturnUrl));
                }
                if (Files.StudentTaskFiles.Any(x => x.FileName == model.File.FileName && x.StTaskId == model.TaskID))
                {
                    ModelState.AddModelError("", "File with name " + model.File.FileName + " is alredy exist.");
                    return(View(model));
                }

                var directory = Directory.GetFiles(environment.ContentRootPath + @"/wwwroot/FileExtansions");

                var ext = new String(model.File.FileName.TakeLast(model.File.FileName.Length - (model.File.FileName.LastIndexOf('.') == -1 ? model.File.FileName.Length : model.File.FileName.LastIndexOf('.')) - 1).ToArray());
                if (!directory.Any(x => x == ("File" + ext + ".png")))
                {
                    ext = "";
                }
                var File = new TaskFile()
                {
                    FileName      = model.File.FileName,
                    FileExtansion = ext,
                    StTaskId      = model.TaskID,
                    Description   = model.Desription
                };
                using (var reader = new BinaryReader(model.File.OpenReadStream()))
                {
                    byte[] data = reader.ReadBytes((int)model.File.Length);
                    File.FileSize = String.Format(new FileSizeFormatProvider(), "{0:fs}", data.LongLength);
                    File.Value    = data;
                }

                Files.AddFile(File);
                task.IsChecked = true;
                Documentation.AddAnswer(
                    new Answer
                {
                    AnswerDate = DateTime.Now,
                    StTaskID   = model.TaskID,
                    UserID     = teacherID,
                    TextData   = $"Adding file {File.FileName} to task."
                });
                return(LocalRedirect(model.ReturnUrl));
            }
            return(View(model));
        }
        public async Task <IActionResult> AddTaskFile(string returnUrl, int TaskID)
        {
            var task = Documentation.Tasks.FirstOrDefault(x => x.StTaskID == TaskID);

            if (task == null)
            {
                return(LocalRedirect(returnUrl));
            }
            var model = new AddTaskFileViewModel {
                ReturnUrl = returnUrl, TaskID = TaskID
            };

            return(View(model));
        }
        public async Task <IActionResult> AddTaskFile(string returnUrl, int TaskID)
        {
            var student = await Manager.FindByNameAsync(User.Identity.Name);

            var task = Docs.Tasks.FirstOrDefault(x => x.StTaskID == TaskID && x.UserID == student.Id);

            if (task == null)
            {
                return(LocalRedirect(returnUrl));
            }
            var model = new AddTaskFileViewModel {
                ReturnUrl = returnUrl, TaskID = TaskID
            };

            return(View(model));
        }