コード例 #1
0
        public override async Task <EditoraResponse> GetById(EditoraFilter request, ServerCallContext context)
        {
            var editoraResponse = new EditoraResponse();

            var result = await _servico.GetEditoraAsync(Guid.Parse(request.EditoraId));

            if (result.Status is ResultStatus.NotFound)
            {
                editoraResponse.Code = (int)context.Status.StatusCode;
                editoraResponse.Errors.AddRange(result.Errors);
                editoraResponse.Message = $"Nenhum editora com o id '{request.EditoraId}' foi encontrada";

                return(editoraResponse);
            }

            editoraResponse.Code = (int)result.Status;
            editoraResponse.Errors.AddRange(result.Errors);
            editoraResponse.Message = "Busca realizada com sucesso";
            editoraResponse.Data    = new EditoraModel
            {
                Id       = result.Value.Id.ToString(),
                Nome     = result.Value.Nome,
                SiteURL  = result.Value.SiteURL,
                Endereco = result.Value.Endereco
            };

            return(editoraResponse);
        }
コード例 #2
0
        public override async Task <EditoraResponse> Update(EditoraUpdateRequest request, ServerCallContext context)
        {
            var editoraResponse = new EditoraResponse();
            var editoraModel    = new Application.Models.EditoraModel
            {
                Nome     = request.Nome,
                SiteURL  = request.SiteURL,
                Endereco = request.Endereco
            };

            var result = await _servico.UpdateEditoraAsync(Guid.Parse(request.EditoraId), editoraModel);

            if (result.Status is ResultStatus.NotFound)
            {
                editoraResponse.Code = (int)context.Status.StatusCode;
                editoraResponse.Errors.AddRange(result.Errors);
                editoraResponse.Message = $"Nenhum editora com o id '{request.EditoraId}' foi encontrada";

                return(editoraResponse);
            }

            if (result.Status is ResultStatus.Invalid)
            {
                editoraResponse.Code = (int)context.Status.StatusCode;
                editoraResponse.Errors.AddRange(result.Errors);
                editoraResponse.Message = $"Editora possui erros de validação";
                editoraResponse.Validations.AddRange(result.ValidationErrors
                                                     .Select(x => new EditoraValidationErrorsModel
                {
                    Error    = x.ErrorMessage,
                    Property = x.Identifier,
                    Nivel    = x.Severity.ToString()
                }));

                return(editoraResponse);
            }

            editoraResponse.Code = (int)result.Status;
            editoraResponse.Errors.AddRange(result.Errors);
            editoraResponse.Message = "Editora atualizado com sucesso";
            editoraResponse.Data    = new EditoraModel
            {
                Id       = result.Value.Id.ToString(),
                Nome     = result.Value.Nome,
                SiteURL  = result.Value.SiteURL,
                Endereco = result.Value.Endereco
            };

            return(editoraResponse);
        }
コード例 #3
0
        public async Task <ActionResult <EditoraResponse> > ConsultarEditoraPorIdController(int ideditora)
        {
            try
            {
                Models.TbEditora editora = await business.ConsultarEditoraPorIdBusiness(ideditora);

                EditoraResponse response = ConvertEditora.Conversor(editora);
                return(response);
            }
            catch (System.Exception ex)
            {
                return(NotFound(
                           new ErroResponse(404, ex.Message)
                           ));
            }
        }
コード例 #4
0
        public async Task <ActionResult <EditoraResponse> > InserirEditoraController([FromForm] EditoraRequest editora)
        {
            try
            {
                Models.TbEditora nova = ConvertEditora.Conversor(editora);
                nova.DsLogo = gerenciadorFoto.GerarNovoNome(editora.logo.FileName);
                Models.TbEditora result = await business.InserirEditoraBuseness(nova);

                gerenciadorFoto.SalvarFile(nova.DsLogo, editora.logo);
                EditoraResponse response = ConvertEditora.Conversor(result);

                return(response);
            }
            catch (System.Exception ex)
            {
                return(BadRequest(
                           new ErroResponse(400, ex.Message)
                           ));
            }
        }
コード例 #5
0
        public override async Task <EditoraResponse> Delete(EditoraFilter request, ServerCallContext context)
        {
            var editoraResponse = new EditoraResponse();

            var result = await _servico.DeleteEditoraAsync(Guid.Parse(request.EditoraId));

            if (result.Status is ResultStatus.NotFound)
            {
                editoraResponse.Code = (int)context.Status.StatusCode;
                editoraResponse.Errors.AddRange(result.Errors);
                editoraResponse.Message = $"Nenhum editora com o id '{request.EditoraId}' foi encontrada";

                return(editoraResponse);
            }

            editoraResponse.Code = (int)result.Status;
            editoraResponse.Errors.AddRange(result.Errors);
            editoraResponse.Message = "Editora deletada com sucesso";

            return(editoraResponse);
        }