Ejemplo n.º 1
0
        public async Task <IActionResult> Update(UpdatePostInputModel input)
        {
            var result = await _httpSender.SendPutAsync <Response, UpdatePostInputModel>(input, PostsRoot);

            if (result.Status == Status.Ok)
            {
                return(Ok(new Response
                {
                    Status = result.Status,
                    Error = result.Error
                }));
            }
            else if (result.Status == Status.InvalidData)
            {
                return(BadRequest(new Response
                {
                    Status = result.Status,
                    Error = result.Error
                }));
            }
            else
            {
                return(StatusCode(500, (new Response
                {
                    Status = result.Status,
                    Error = result.Error
                })));
            }
        }
        public IActionResult UpdatePostage([FromRoute] int id, [FromBody] UpdatePostInputModel data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                data.id = id;
                var result = _service.UpdatePost(data);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
        }
        public UpdatePostViewModel UpdatePost(UpdatePostInputModel data)
        {
            var files = _repository.GetByPostId(data.id);

            var post = files.FirstOrDefault().Post;

            post.Title   = data.title;
            post.Content = data.content;

            foreach (var file in files)
            {
                file.Post = post;
                _repository.Update(file);
            }

            return(new UpdatePostViewModel(
                       post.Id,
                       post.CreatedAt,
                       post.ProjectKey,
                       post.Title,
                       post.Content,
                       files.Select(x => new UpdatePostViewModel.UpdatePostFiles(x.Name, x.Session))
                       ));
        }