public IHttpActionResult Post(AuthorViewModel author) { var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId(); author.UserCreated = new Models.Users.UserViewModel() { Id = loggedUserId }; author.DateCreated = DateTimeOffset.Now; var request = new SaveAuthorRequest() { RequestToken = Guid.NewGuid(), UserId = loggedUserId, Author = author.MapToView() }; var authorsResponse = _authorService.SaveAuthor(request); if (!authorsResponse.Success) { return(BadRequest(authorsResponse.Message)); } return(Ok(author = authorsResponse.Author.MapToViewModel())); }
public SaveAuthorResponse SaveAuthor(SaveAuthorRequest request) { var response = new SaveAuthorResponse() { Request = request, ResponseToken = Guid.NewGuid() }; try { if (request.Author?.Id == 0) { response.Author = request.Author; response.Author.Id = _repository.Add(request.Author.MapToModel()); response.Success = true; } else if (request.Author?.Id > 0) { response.Author = _repository.Save(request.Author.MapToModel()).MapToView(); response.Success = true; } else { response.Success = false; } } catch (Exception ex) { response.Message = ex.Message; response.Success = false; } return(response); }