public async Task <IActionResult> Create([Bind("Id,FirstName,LastName,DateOfBirth,MainCategory")] Author author) { if (ModelState.IsValid) { author.Id = Guid.NewGuid(); _context.Add(author); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(author)); }
public async Task <OperationResult <Author> > UpdateAuthor(Author author) { using (CourseLibraryContext context = new CourseLibraryContext(options)) { try { var isAuthorExist = await AuthorCompiledQueries.IsAuthorExist.Invoke(context, author.Id); if (!isAuthorExist) { return(new FailedOperationResult <Author> { Code = ConstOperationCodes.AUTHOR_NOT_FOUND, }); } context.Authors.Update(author); await context.SaveChangesAsync(); return(new SuccessOperationResult <Author> { Code = ConstOperationCodes.AUTHOR_UPDATED, Result = author, }); } catch (Exception e) { logger.Error($"error in update author {e.Message}"); return(new FailedOperationResult <Author> { Code = ConstOperationCodes.FAILED_OPERATION }); } } }
public async Task <OperationResult <Author> > AddAuthor(Author author) { using (CourseLibraryContext context = new CourseLibraryContext(options)) { try { bool isAuthorExisted = await AuthorCompiledQueries.IsExistSameAuthorName.Invoke(context, author.FirstName, author.LastName); if (isAuthorExisted) { return(new FailedOperationResult <Author> { Code = ConstOperationCodes.AUTHOR_NAME_ALREADY_EXISTS, }); } await context.Authors.AddAsync(author); await context.SaveChangesAsync(); return(new SuccessOperationResult <Author> { Code = ConstOperationCodes.AUTHOR_CREATED, Result = author }); } catch (Exception e) { logger.Error($"error in adding author {e.Message}"); return(new FailedOperationResult <Author> { Code = ConstOperationCodes.FAILED_OPERATION }); } } }
public async Task <OperationResult <bool> > DeleteCourse(Guid courseId) { using (CourseLibraryContext context = new CourseLibraryContext(options)) { try { if (!await IsCourseExist(courseId)) { return(new FailedOperationResult <bool> { Code = ConstOperationCodes.COURSE_NOT_FOUND, }); } var course = await context.Courses.FindAsync(courseId); context.Courses.Remove(course); await context.SaveChangesAsync(); return(new SuccessOperationResult <bool> { Code = ConstOperationCodes.COURSE_DELETED, Result = true, }); } catch (Exception e) { logger.Error($"error in delete course {e} {e.Message}"); return(new FailedOperationResult <bool> { Code = ConstOperationCodes.FAILED_OPERATION }); } } }
public async Task <OperationResult <Course> > UpdateCourse(Course course) { using (CourseLibraryContext context = new CourseLibraryContext(options)) { try { var author = await AuthorCompiledQueries.GetAuthor.Invoke(context, course.AuthorId); if (author == null) { return(new FailedOperationResult <Course> { Code = ConstOperationCodes.AUTHOR_NOT_FOUND, }); } var isCourseExist = await CoursesCompiledQueries.IsCourseExistForAuthor.Invoke(context, course.Id, course.AuthorId); if (!isCourseExist) { return(new FailedOperationResult <Course> { Code = ConstOperationCodes.COURSE_NOT_FOUND }); } context.Courses.Update(course); await context.SaveChangesAsync(); return(new SuccessOperationResult <Course> { Code = ConstOperationCodes.COURSE_UPDATED, Result = course, }); } catch (Exception e) { logger.Error($"error in updating course {e.Message}"); return(new FailedOperationResult <Course> { Code = ConstOperationCodes.FAILED_OPERATION, }); } } }
public async Task <OperationResult <Course> > AddCourse(Course course) { using (CourseLibraryContext context = new CourseLibraryContext(options)) { try { bool isCourseExistWithSameName = await context.Courses.AnyAsync(c => c.Title == course.Title); if (isCourseExistWithSameName) { return(new FailedOperationResult <Course> { Code = ConstOperationCodes.COURSE_NAME_ALREADY_EXISTS }); } await context.AddAsync(course); await context.SaveChangesAsync(); return(new SuccessOperationResult <Course> { Code = ConstOperationCodes.COURSE_CREATED, Result = course }); } catch (Exception e) { logger.Error("error in adding course " + e.Message); return(new FailedOperationResult <Course> { Code = ConstOperationCodes.FAILED_OPERATION }); } } }
public async Task <bool> SaveAsync() { return(await _context.SaveChangesAsync() >= 0); }
public async Task <bool> SaveAsync() { var retVal = await _context.SaveChangesAsync() >= 0; return(retVal); }