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);
            });
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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();
     }
 }
Пример #7
0
        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));
            }
        }
Пример #8
0
        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));
            }
        }
Пример #9
0
        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 => {
            });
        }
Пример #10
0
        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);
        }