public static Autor ToAutor(AutorResponse request) { return(new Autor { IdAutor = request.Id, NumeAutor = request.Nume, }); }
public override async Task <AutorResponse> Update(AutorUpdateRequest request, ServerCallContext context) { var autorResponse = new AutorResponse(); var autorModel = new Application.Models.AutorModel { Nome = request.Nome, Sobrenome = request.Sobrenome, Email = request.Email, Bio = request.Bio, Avatar = request.Avatar }; var result = await _servico.UpdateAutorAsync(Guid.Parse(request.AutorId), autorModel); if (result.Status is ResultStatus.NotFound) { autorResponse.Code = (int)context.Status.StatusCode; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = $"Nenhum autor com o id '{request.AutorId}' foi encontrado"; return(autorResponse); } if (result.Status is ResultStatus.Invalid) { autorResponse.Code = (int)context.Status.StatusCode; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = $"Autor possui erros de validação"; autorResponse.Validations.AddRange(result.ValidationErrors .Select(x => new AutorValidationErrorsModel { Error = x.ErrorMessage, Property = x.Identifier, Nivel = x.Severity.ToString() })); return(autorResponse); } autorResponse.Code = (int)result.Status; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = "Autor atualizado com sucesso"; autorResponse.Data = new AutorModel { Id = result.Value.Id.ToString(), Nome = result.Value.Nome, Sobrenome = result.Value.Sobrenome, Email = result.Value.Email, Bio = result.Value.Bio, Avatar = result.Value.Avatar }; return(autorResponse); }
public override async Task <AutorResponse> Delete(AutorFilter request, ServerCallContext context) { var autorResponse = new AutorResponse(); var result = await _servico.DeleteAutorAsync(Guid.Parse(request.AutorId)); if (result.Status is ResultStatus.NotFound) { autorResponse.Code = (int)context.Status.StatusCode; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = $"Nenhum autor com o id '{request.AutorId}' foi encontrado"; return(autorResponse); } autorResponse.Code = (int)result.Status; autorResponse.Errors.AddRange(result.Errors); autorResponse.Message = "Autor deletado com sucesso"; return(autorResponse); }