public async Task ShouldAddAuthor() { var expected = new SuccessOperationResult <Author> { Result = mockAuthor.Object, Code = ConstOperationCodes.AUTHOR_CREATED }; var result = await mockCourseLibraryService.Object.AddAuthor(mockAuthor.Object); Assert.Equal(expected, result); }
public async Task ShouldGetAuthor() { //arrange var expected = new SuccessOperationResult <Author> { Code = ConstOperationCodes.AUTHOR_FOUND, Result = mockAuthor.Object, }; //act var result = await mockCourseLibraryService.Object.GetAuthor(Guid.NewGuid()); var comparer = new Comparer(); //assert Assert.True(comparer.Compare(result, expected)); }
public async Task <ActionResult <AuthorDto> > GetAuthor(Guid id, [FromQuery] bool withCourses = false) { var result = await courseLibraryService.GetAuthor(id, withCourses); if (result.Success) { var successOperation = result as SuccessOperationResult <Author>; var authorDto = mapper.Map <AuthorDto>(successOperation.Result); var operationReturn = new SuccessOperationResult <AuthorDto> { Result = authorDto, Code = successOperation.Code, }; return(Ok(operationReturn)); } return(Ok(result)); }
public async Task <ActionResult <OperationResult <IEnumerable <CourseDto> > > > GetCourses([FromQuery] CoursesQueryParameters queryParameters) { OperationResult <PaginationList <Course> > result = await _courseLibraryService.GetCourses(queryParameters); if (result.Success) { var successOperation = result as SuccessOperationResult <PaginationList <Course> >; var coursesDto = _mapper.Map <IEnumerable <CourseDto> >(successOperation.Result.ListData); var operationReturn = new SuccessOperationResult <IEnumerable <CourseDto> > { Result = coursesDto, Code = successOperation.Code, }; return(Ok(operationReturn)); } var failedOperation = result as FailedOperationResult <PaginationList <Course> >; return(Ok(failedOperation)); }
public async Task <IActionResult> AddAuthor([FromBody] CreateAuthorDto createAuthorDto) { Author author = mapper.Map <Author>(createAuthorDto); var result = await courseLibraryService.AddAuthor(author); if (result.Success) { SuccessOperationResult <Author> successOperation = result as SuccessOperationResult <Author>; AuthorDto authorDto = mapper.Map <AuthorDto>(successOperation.Result); return(Ok(new SuccessOperationResult <AuthorDto> { Result = authorDto, Code = ConstOperationCodes.AUTHOR_CREATED, })); } var failedOperation = result as FailedOperationResult <Author>; return(Ok(failedOperation)); }
public async Task <IActionResult> AddCourse([FromBody] AddCourseDto addCourseDto) { var course = _mapper.Map <Course>(addCourseDto); var result = await _courseLibraryService.AddCourse(course); if (result.Success) { var successOperation = result as SuccessOperationResult <Course>; var courseDto = _mapper.Map <CourseDto>(successOperation.Result); var operationReturn = new SuccessOperationResult <CourseDto> { Result = courseDto, Code = successOperation.Code, }; return(Ok(operationReturn)); } var failedOperation = result as FailedOperationResult <Course>; return(Ok(failedOperation)); }
public async Task <ActionResult <CourseDto> > GetCourse(Guid courseId) { var result = await _courseLibraryService.GetCourseById(courseId); if (result.Success) { var successOperation = result as SuccessOperationResult <Course>; var courseDto = _mapper.Map <CourseDto>(successOperation.Result); var operationResult = new SuccessOperationResult <CourseDto> { Result = courseDto, Code = successOperation.Code, }; return(Ok(operationResult)); } var failedOperation = result as FailedOperationResult <Course>; return(Ok(failedOperation)); }
public ActionResult <IEnumerable <AuthorDto> > GetAuthors([FromQuery] AuthorsQueryParamters queryParamters) { try { OperationResult <PaginationList <Author> > result = courseLibraryService.GetAuthors(queryParamters); if (result.Success) { var successOperation = result as SuccessOperationResult <PaginationList <Author> >; IEnumerable <AuthorDto> mappingResult = mapper.Map <IEnumerable <AuthorDto> >(successOperation.Result.ListData); var paginationMetaData = new { totalCount = successOperation.Result.TotalCount, totalPages = successOperation.Result.TotalPages, currentPage = successOperation.Result.CurrentPage, pageSize = successOperation.Result.PageSize }; Response.Headers.Add("paginationMetaData", JsonConvert.SerializeObject(paginationMetaData)); var operationReturn = new SuccessOperationResult <IEnumerable <AuthorDto> > { Result = mappingResult, Code = successOperation.Code, }; return(Ok(operationReturn)); } else { var failedOperation = result as FailedOperationResult <PaginationList <Author> >; return(Ok(failedOperation)); } } catch (Exception ex) { loggerService.Error($"Error in Authors Controller GetAuthors {ex}"); return(StatusCode(StatusCodes.Status500InternalServerError)); } }