public void PostHistoricoStatus(ChamadoHistoricoStatusDto historicoStatus) { _conexao.ExecuteProcedure(Procedures.GKSSP_InsChamadoHistoricoStatus); _conexao.AddParameter("IdChamado", historicoStatus.IdChamado); _conexao.AddParameter("IdStatus", historicoStatus.IdStatus); _conexao.AddParameter("IdColaborador", historicoStatus.IdColaborador == default(int) ? (int?)null : historicoStatus.IdColaborador); _conexao.AddParameter("IdCliente", historicoStatus.IdCliente == default(int) ? (int?)null : historicoStatus.IdCliente); _conexao.ExecuteNonQuery(); }
public void PutStatus(ChamadoHistoricoStatusDto chamadoHistoricoStatus) { var cliente = _clienteRepository.Get(chamadoHistoricoStatus.NumeroCpfCliente); if (cliente == null) { _notification.Add("Cliente não cadastrado"); return; } chamadoHistoricoStatus.IdCliente = cliente.Id; chamadoHistoricoStatus.IsValid(_notification); if (_notification.Any) { return; } var dadosChamado = _chamadoRepository.Get(chamadoHistoricoStatus.IdChamado); if (dadosChamado == null) { _notification.Add("Chamado não encontrado"); return; } if (chamadoHistoricoStatus.IsCancel && dadosChamado.IdStatus != 1 && dadosChamado.IdStatus != 2) { _notification.Add("Não é possível cancelar um chamado que já não está mais em análise"); return; } _chamadoRepository.PutStatus(chamadoHistoricoStatus.IdChamado, chamadoHistoricoStatus.IdStatus, chamadoHistoricoStatus.DescricaoMotivoCancel); _chamadoRepository.PostHistoricoStatus(chamadoHistoricoStatus); if (chamadoHistoricoStatus.IdStatus == 2) // Em análise { _chamadoRepository.Put(new Entities.Chamado { Id = dadosChamado.Id, NomeProblema = dadosChamado.NomeProblema, IdStatus = chamadoHistoricoStatus.IdStatus, IdTipo = dadosChamado.IdTipo, IdCriticidade = dadosChamado.IdCriticidade, Descricao = dadosChamado.Descricao, IdClienteAlt = dadosChamado.IdClienteAlt, IdColaboradorPrincipal = chamadoHistoricoStatus.IdColaborador //Post na tabela de ColaboradorChamado }); } }
public IHttpActionResult PutStatus(int idChamado, ChamadoHistoricoStatusDto chamadoHistorico) { if (chamadoHistorico == null) { return(BadRequest("Os dados do chamado não foram enviados")); } chamadoHistorico.IdChamado = idChamado; //_chamadoRepository.OpenTransaction(); _chamadoService.PutStatus(chamadoHistorico); if (_notification.Any) { //_chamadoRepository.RollbackTransaction(); return(Content(HttpStatusCode.BadRequest, _notification.Get)); } //_chamadoRepository.CommitTransaction(); return(Ok()); }