public async Task <IActionResult> Update([FromBody] Models.DadosAcessoPut pDadosAcesso) { DadosAcessoModelValidator validator = new DadosAcessoModelValidator(); var dadosAcesso = _mapper.Map <Models.DadosAcessoPut, Model.Models.DadosAcesso>(pDadosAcesso); if (dadosAcesso.CpfCnpj != 0) { _logger.LogInformation(LoggingEvents.GetItem, $"Buscando Dados de Acesso pelo CPF {pDadosAcesso.CpfCnpj}"); var item = await _DadosAcessoServico.Read(pDadosAcesso.CpfCnpj); if (item == null)//QUERY RETORNOU NULA, NÃO HÁ O CPF NA BASE DE DADOS { var message = Mensagem.GetMensagem("CpfInexistente"); _logger.LogWarning(message); return(Ok(new { Codigo = message.Split('-')[0], Mensagem = message.Split('-')[1] })); } else//DADOS ATUALIZADOS { //var dadosAcesso = await _mapper.Map<Task<IEnumerable<DadosAcesso>>, Task<IEnumerable<DadosAcessoViewModel>>>(_DadosAcessoServico.Update(pDadosAcesso)); IActionResult result = Ok(await _DadosAcessoServico.Update(dadosAcesso)); return(StatusCode(200, new { Mensagem = "Dados atualizados com sucesso!" })); }; } else//MODELO FORA DO FORMATO ESPERADO { return(StatusCode(503, new { Mensagem = "CPF CNPJ Inválido" })); } }
public async Task <IActionResult> Create([FromBody] Models.DadosAcessoPost pDadosAcesso) { DadosAcessoModelValidator validator = new DadosAcessoModelValidator(); ValidationResult results = validator.Validate(_mapper.Map <Models.DadosAcessoPost, Model.Models.DadosAcesso>(pDadosAcesso)); if (results.IsValid) { _logger.LogInformation(LoggingEvents.GetItem, $"Listando os Dados de Acesso pelo CPF {pDadosAcesso.CpfCnpj}"); var dadosAcesso = await _mapper.Map <Task <Model.Models.DadosAcesso>, Task <Models.DadosAcessoPost> >(_DadosAcessoServico.Read(pDadosAcesso.CpfCnpj)); if (dadosAcesso == null) { if (Task.Run(() => _DadosAcessoServico.Create(_mapper.Map <Models.DadosAcessoPost, Model.Models.DadosAcesso>(pDadosAcesso))).Result) { _logger.LogInformation(LoggingEvents.InsertItem, $"CPF {pDadosAcesso.CpfCnpj} criado com sucesso"); var message = Mensagem.GetMensagem("DadosAcessoCriados"); return(StatusCode(200, new { Mensagem = message.Split('-')[1] })); } else { var message = results.Errors.Select(e => e.ErrorMessage).FirstOrDefault(); _logger.LogError("Dados de acesso inválidos." + message); return(StatusCode(503, new { Codigo = message.Split('-')[0], Mensagem = message.Split('-')[1] })); } } else if (dadosAcesso != null) { //Já existe só pode atualizar o Assessor IActionResult result = Ok(await _DadosAcessoServico.Update(_mapper.Map <Models.DadosAcessoPost, Model.Models.DadosAcesso>(pDadosAcesso))); return(StatusCode(200, new { Mensagem = "Dados atualizados com sucesso!" })); } else { _logger.LogInformation(LoggingEvents.InsertItem, $"Erro ao tentar criar os dados acesso do CPF {pDadosAcesso.CpfCnpj}"); var message = Mensagem.GetMensagem("ErroCriarDadosAcesso"); return(StatusCode(503, new { Codigo = message.Split('-')[0], Mensagem = message.Split('-')[1] })); } } else { var message = results.Errors.Select(e => e.ErrorMessage).FirstOrDefault(); _logger.LogError("Dados de acesso inválidos." + message); return(StatusCode(503, new { Codigo = message.Split('-')[0], Mensagem = message.Split('-')[1] })); } }