public void EncaminharChamadoRh(ChamadoDTO chamado) { var client = new RestClient("http://sige-rh.herokuapp.com"); var request = new RestRequest("request", Method.POST); List <employeeTypes> lista = new List <employeeTypes>(); for (int i = 0; i < chamado.quantidade; i++) { employeeTypes employee = new employeeTypes(); employee.uid = chamado.idProduto.ToString(); lista.Add(employee); } var valor = JsonConvert.SerializeObject(new { employeeTypes = lista.ToArray() }); request.AddParameter("application/json; charset=utf-8", valor, ParameterType.RequestBody); client.ExecuteAsync(request, response => { var ret = JsonConvert.DeserializeObject <retorno>(response.Content); if (ret.success == 1) { chamado.status = DTO.Enums.StatusChamado.Fechado_RH; } else { chamado.status = DTO.Enums.StatusChamado.Cancelado_RH; } chamado.motivo = ret.description; new ChamadoDAL().Alterar(chamado); }); }
public async Task Atualizar(string id, ChamadoDTO chamadoDto) { var chamado = await _unitOfWork.ChamadoRepositorio.Consultar(id); if (chamado != null) { if (!string.IsNullOrEmpty(chamadoDto.ClienteId)) { var cliente = await _unitOfWork.UsuarioRepositorio.Consultar(chamadoDto.ClienteId); chamado.ClienteId = cliente.Id; } if (!string.IsNullOrEmpty(chamadoDto.AtendenteId)) { var atendente = await _unitOfWork.UsuarioRepositorio.Consultar(chamadoDto.AtendenteId); chamado.AtendenteId = atendente.Id; } chamado.AssuntoId = chamadoDto.AssuntoId; chamado.DataUltimaInteracao = DateTime.Now; chamado.DepartamentoId = chamadoDto.DepartamentoId; chamado.NotaAvaliacaoId = chamadoDto.NotaAvaliacaoId; chamado.ObservacoesEncerramento = chamadoDto.ObservacoesEncerramento; chamado.PrioridadeId = chamadoDto.PrioridadeId; chamado.Situacao = chamadoDto.Situacao; chamado.Status = chamadoDto.Status; await _unitOfWork.Commit(); } }
public async Task <ChamadoDTO> Cadastrar(ChamadoDTO chamadoDto) { Usuario cliente = null; Assunto assunto = null; Departamento departamento = null; Franquia franquia = null; cliente = await _unitOfWork.UsuarioRepositorio.Consultar(chamadoDto.ClienteId); assunto = await _unitOfWork.AssuntoRepositorio.Consultar(chamadoDto.AssuntoId); franquia = await _unitOfWork.FranquiaRepositorio.ConsultarPorId(chamadoDto.FranquiaId); if (assunto != null) { departamento = await _unitOfWork.DepartamentoRepositorio .Consultar(assunto.DepartamentoId); } if (cliente != null && departamento != null && franquia != null) { var chamado = new Chamado(); chamado.AssuntoId = assunto.Id; chamado.Assunto = assunto; chamado.ClienteId = cliente.Id; chamado.PrioridadeId = chamadoDto.PrioridadeId; chamado.Situacao = Situacao.AguardandoRespostaAtendente; chamado.Status = Status.EmProcesso; chamado.DepartamentoId = departamento.Id; chamado.Departamento = departamento; chamado.DataAbertura = DateTime.Now; chamado.DataUltimaInteracao = DateTime.Now; chamado.Protocolo = await GerarProtocolo(); chamado.FranquiaId = franquia.Id; var mensagem = new Mensagem(); mensagem.Conteudo = chamadoDto.MensagemInicial; mensagem.ChamadoId = chamado.Id; mensagem.Chamado = chamado; mensagem.UsuarioId = cliente.Id; mensagem.Usuario = cliente; mensagem.DataCriacao = DateTime.Now; chamado.Mensagens.Add(mensagem); await _unitOfWork.ChamadoRepositorio.Adicionar(chamado); await _unitOfWork.MensagemRepositorio.Adicionar(mensagem); await _unitOfWork.Commit(); return(_mapper.Map <ChamadoDTO>(chamado)); } else { return(null); } }
public void Alterar(Guid idChamado, StatusChamado status, string motivo) { ChamadoDTO chamado = chamadoDAL.BuscarPorId(idChamado); chamado.status = status; chamado.motivo = motivo; chamado.dataEdicao = DateTime.Now; chamadoDAL.Alterar(chamado); }
public void Alterar(ChamadoDTO chamado) { using (IDbConnection dbConnection = Conexao.Connection) { dbConnection.Open(); using (var dbContextTransaction = dbConnection.BeginTransaction()) { dbConnection.Update(chamado, dbContextTransaction); dbContextTransaction.Commit(); } dbConnection.Close(); } }
public void Inserir(ChamadoDTO chamado) { using (IDbConnection dbConnection = conexao) { dbConnection.Open(); using (var dbContextTransaction = dbConnection.BeginTransaction()) { dbConnection.Insert(chamado, dbContextTransaction); dbContextTransaction.Commit(); } dbConnection.Close(); } }
public async Task <IActionResult> AtualizarChamado(string id, [FromBody] ChamadoDTO chamadoDto) { try { await _chamadoService.Atualizar(id, chamadoDto); return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> NovoChamado([FromBody] ChamadoDTO chamadoDto) { try { var chamado = await _chamadoService.Cadastrar(chamadoDto); return(Ok(chamado)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public void EncaminharChamadoPicking(ChamadoDTO chamado) { var client = new RestClient("http://pickingapi.azurewebsites.net/api"); var request = new RestRequest("chamado", Method.POST); request.AddParameter("idChamado", chamado.idChamado); request.AddParameter("idProduto", chamado.idProduto); request.AddParameter("quantidade", chamado.quantidade); client.ExecuteAsync(request, response => { }); }
public Guid Inserir(Guid idProduto, string descricao, StatusChamado status, int quantidade) { ChamadoDTO chamado = new ChamadoDTO(); chamado.idChamado = Guid.NewGuid(); chamado.dataCriacao = DateTime.Now; chamado.descricao = descricao; chamado.idProduto = idProduto; chamado.status = status; chamado.quantidade = quantidade; chamadoDAL.Inserir(chamado); if (chamado.status == StatusChamado.Aberto_PIK) { new ApiPickingDAL().EncaminharChamadoPicking(chamado); } if (chamado.status == StatusChamado.Aberto_RH) { new ApiRhDAL().EncaminharChamadoRh(chamado); } return(chamado.idChamado); }