public IHttpActionResult GetById(int id) { try { var entity = _classificacaoBusiness.GetById(id); if (entity == null) { return(NotFound()); } //Monta response _result = Ok(Retorno <ClassificacaoResponse> .Criar(true, "Consulta Realizada Com Sucesso", Mapper.Map <Classificacao, ClassificacaoResponse>(entity))); //Retorna o response return(_result); } catch (Exception) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
//[AllowAnonymous] public IHttpActionResult UpdateClassificacao([FromBody] TicketUpdateClassificacaoRequest request) { AtendenteEmpresa atendenteEmpresa = null; List <AtendenteEmpresa> listaAtendentes = null; try { //Valida objeto if (!ModelState.IsValid) { return(BadRequest("Dados inválidos.")); } var entityInDb = _ticketBusiness.GetById(request.Id); //Verifica se objeto existe if (entityInDb == null) { return(NotFound()); } entityInDb.IdClassificacao = request.IdClassificacao; entityInDb.DataHoraAlteracao = DateTime.Now; if (_ticketBusiness.Update(entityInDb)) { //Recupera o ticket atualizado entityInDb = _ticketBusiness.GetById(request.Id); //Monta response _result = Ok(Retorno <Ticket> .Criar(true, "Atualização Realizada Com Sucesso", entityInDb)); //=========================================================================================== //Enviar email de atualização do atendimento //=========================================================================================== var usuarioCliente = _usuarioClienteBusiness.GetById(request.IdUsuarioCliente); var classificacao = _classificacaoBusiness.GetById(entityInDb.IdClassificacao); if (request.UserTypeAgent == "S") { atendenteEmpresa = _atendenteEmpresaBusiness.GetById(request.IdAtendente); if (atendenteEmpresa != null) { if (atendenteEmpresa.Copia) { listaAtendentes = _atendenteEmpresaBusiness.GetList(x => x.IdEmpresa == atendenteEmpresa.IdEmpresa && x.Id != atendenteEmpresa.Id).ToList(); } } } try { _ticketBusiness.EnviarEmailConfirmacao(request.UserTypeAgent, null, classificacao, entityInDb, usuarioCliente, atendenteEmpresa, listaAtendentes, nameof(classificacao)); } catch (Exception) { //Monta response _result = Ok(Retorno <Ticket> .Criar(true, "Atualização Realizada Com Sucesso - Email de confirmação não enviado", entityInDb)); } //=========================================================================================== //Retorna o response return(_result); } else { return(BadRequest("Nenhum registro atualizado. Verifique os dados enviados.")); } } catch (Exception) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } }