예제 #1
0
        public async Task <BaseModel> UpdateAsync(AuthorsModelItem model)
        {
            var response = new BaseModel();

            if (model == null)
            {
                response.Errors.Add(ErrorConstants.ModelIsNull);
                return(response);
            }
            var author = await _authorRepository.GetByIdAsync(model.Id);

            if (author == null)
            {
                response.Errors.Add(ErrorConstants.ImpossibleToFindAuthor);
                return(response);
            }
            var updatedAuthor = AuthorMapper.MapModelToUpdateEntity(author, model);
            var result        = await _authorRepository.UpdateAsync(updatedAuthor);

            if (!result)
            {
                response.Errors.Add(ErrorConstants.ImpossibleToUpdateAuthor);
            }
            return(response);
        }
예제 #2
0
        public static AuthorsModelItem MapEntityToModel(Author author)
        {
            var model = new AuthorsModelItem()
            {
                Id   = author.Id,
                Name = author.Name
            };

            return(model);
        }
예제 #3
0
        public static AuthorsModelItem MapResponseModelToModelItem(AuthorsResponseModel returnModel)
        {
            var resultModel = new AuthorsModelItem()
            {
                Id   = returnModel.Author.Id,
                Name = returnModel.Author.Name,
                PrintingEditionTitles = returnModel.PrintingEditionTitles
            };

            return(resultModel);
        }
예제 #4
0
        public static Author MapModelToEntity(AuthorsModelItem model)
        {
            var author = new Author()
            {
                CreationDate = DateTime.Now,
                Name         = model.Name,
                BooksTitles  = model.PrintingEditionTitles
            };

            return(author);
        }
예제 #5
0
        public async Task <AuthorsModelItem> GetByIdAsync(long id)
        {
            var responce = new AuthorsModelItem();
            var author   = await _authorRepository.GetByIdAsync(id);

            if (author == null)
            {
                responce.Errors.Add(ErrorConstants.ImpossibleToFindAuthor);
                return(responce);
            }
            var authorModel = AuthorMapper.MapEntityToModel(author);

            return(authorModel);
        }
예제 #6
0
        public async Task <BaseModel> CreateAsync(AuthorsModelItem model)
        {
            var response = new BaseModel();

            if (model == null)
            {
                response.Errors.Add(ErrorConstants.ModelIsNull);
                return(response);
            }
            var author = AuthorMapper.MapModelToEntity(model);
            var result = await _authorRepository.CreateAsync(author);

            if (!result)
            {
                response.Errors.Add(ErrorConstants.ImpossibleToCreateAuthor);
            }
            return(response);
        }
예제 #7
0
        public async Task <IActionResult> UpdateAsync(AuthorsModelItem model)
        {
            var result = await _authorService.UpdateAsync(model);

            return(Ok(result));
        }
예제 #8
0
 public static Author MapModelToUpdateEntity(Author author, AuthorsModelItem model)
 {
     author.Name        = model.Name;
     author.BooksTitles = model.PrintingEditionTitles;
     return(author);
 }