public async Task <IActionResult> EditCourse(EditCourseViewModel inputModel) { if (!this.ModelState.IsValid) { return(this.View(inputModel)); } var imageUri = string.Empty; if (inputModel.Thumbnail != null) { imageUri = this.coursesService.UploadImageToCloudinary(inputModel.Thumbnail.OpenReadStream()); } var userId = this.userManager.GetUserId(this.User); await this.coursesService.EditCourse(inputModel.Id, inputModel.Name, inputModel.CategoryName, inputModel.Difficulty, imageUri, inputModel.Description, userId); var viewModel = new CourseIdViewModel { CourseId = inputModel.Id, }; return(this.RedirectToAction("EditLessons", "Lessons", viewModel)); }
public async Task UpdateCourseAsync([FromBody] CourseIdViewModel course) { if (ModelState.IsValid) { try { var newCourse = await courseRepository.Get(course.Id); if (newCourse == null) { throw new Exception("Курс не найден!"); } newCourse.Number = course.Number.Value; await courseRepository.Update(newCourse); string msg = String.Format("Курс '{0}' успешно изменен!", course.Number); Response.StatusCode = StatusCodes.Status200OK; await Response.WriteAsync(JsonConvert.SerializeObject(new { success = msg }, new JsonSerializerSettings { Formatting = Formatting.Indented })); } catch (Exception e) { ModelState.AddModelError("error", e.Message); await Response.BadRequestHelper(ModelState.Values); } } else { await Response.BadRequestHelper(ModelState.Values); } }
public async Task <ActionResult <string> > GetCourseName([FromBody] CourseIdViewModel CourseId) { var res = Json(new { Name = (await _repository.GetCourseName(CourseId.CourseId)) }); return(Ok(res)); }
public IActionResult Publish(CourseIdViewModel model) { var course = this._context.Courses.FirstOrDefault(p => p.Id == model.Id); if (course != null) { course.IsPublished = true; this._context.Courses.Update(course); this._context.SaveChanges(); return(Ok()); } return(null); }
public async Task <IActionResult> CompleteLesson(string lessonId, string courseId) { var userId = this.userManager.GetUserId(this.User); await this.lessonsService.CreateUserLesson(userId, lessonId); var viewModel = new CourseIdViewModel { CourseId = courseId, }; return(this.RedirectToAction("Study", "Courses", viewModel)); }
public async Task <ActionResult <Boolean> > DeleteUser([FromBody] CourseIdViewModel id) { var userid = id.CourseId; var user = await _userManager.FindByIdAsync(userid); var result = await _userManager.DeleteAsync(user); var userId = await _userManager.GetUserIdAsync(user); if (!result.Succeeded) { throw new InvalidOperationException($"Unexpected error occurred deleteing user with ID '{userId}'."); } var tempcoursuser = _context.CourseUsers.Where(cu => cu.LMSUserId == userid); _context.CourseUsers.RemoveRange(tempcoursuser); try { await _context.SaveChangesAsync(); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } _logger.LogInformation("User with ID '{UserId}' deleted themselves.", userId); var res = Json(new { Ok = true }); return(Ok(res)); }
public async Task <ActionResult <ICollection <CourseUserViewModel> > > GetusersOff([FromBody] CourseIdViewModel CourseId) { var res = (await _repository.GetUsers(CourseId.CourseId, false)) .Select(cu => new CourseUserViewModel { Userid = cu.Id, FirstName = cu.FirstName, LastName = cu.LastName }).ToList(); return(Ok(res)); }
public async Task <ActionResult <string> > GetUser([FromBody] CourseIdViewModel userid) { var id = userid.CourseId; if (!User.IsInRole("Teacher")) { if (id != null) { throw new AccessViolationException("A student may just access him/her-self"); } } var usertmp = await _userManager.FindByNameAsync(User.Identity.Name); if (id == null) { id = usertmp.Id; } List <LMSUser> workonuser = await _userManager.Users.Where(u => id == null || u.Id == id) .ToListAsync(); /* var res = workonuser.Select( * u => new ManageUserViewModel * { * Id = u.Id, * Email = u.Email, * FirstName = u.FirstName, * LastName = u.LastName, * Password = "", * Confirmpassword = "", * * } * * * );*/ var res = new List <ManageUserViewModel>(); foreach (var user in workonuser) { var roles = await _userManager.GetRolesAsync(user); if (roles.Count == 1) { res.Add( new ManageUserViewModel { Id = user.Id, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, Password = "", Confirmpassword = "", Role = roles[0] } ); } else { res.Add( new ManageUserViewModel { Id = user.Id, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, Password = "", Confirmpassword = "", Role = string.Join(", ", roles) } ); } } /* var res = Json(new * { * Name = workonuser.FirstName + " " + workonuser.LastName * * * }); * */ /* var res = (await _repository.GetUsers(CourseId.CourseId, false)) * .Select(cu => new CourseUserViewModel { Userid = cu.Id, FirstName = cu.FirstName, LastName = cu.LastName }).ToList();*/ return(Ok(res)); }