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()));
        }
Beispiel #2
0
        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);
        }