Ejemplo n.º 1
0
        public void Put(Entities.Chamado chamado)
        {
            var dadosChamado = _chamadoRepository.Get(chamado.Id);

            if (dadosChamado == null)
            {
                _notification.Add("Chamado não encontrado");
                return;
            }
            var cliente = _clienteRepository.Get(chamado.NumeroCpfCliente);

            if (cliente == null)
            {
                _notification.Add("Cliente não cadastrado");
                return;
            }
            if (!dadosChamado.IsPendenteAnalise)
            {
                _notification.Add("Não é possivel editar chamdados que não estejam pendentes de análise.");
                return;
            }
            chamado.IdClienteAlt = cliente.Id;
            chamado.IdStatus     = dadosChamado.IdStatus;
            _chamadoRepository.Put(chamado);
        }
Ejemplo n.º 2
0
        public void Post(Entities.Chamado chamado)
        {
            // validando o chamado
            if (!chamado.IsValid(_notification))
            {
                return;
            }

            var cliente = _clienteRepository.Get(chamado.NumeroCpfCliente);

            if (cliente == null)
            {
                _notification.Add("Cliente não cadastrado");
                return;
            }

            // buscando a empresa do cliente
            var empresa = _empresaRepository.GetAll(cliente.Id).ToList().FirstOrDefault(x => x.Id == chamado.IdEmpresa);

            if (empresa == null)
            {
                _notification.Add("A empresa do cliente não foi encontrada");
                return;
            }

            // buscando o próximo numero para o chamado
            chamado.NumeroChamado = _chamadoRepository.GetProximoNumeroChamado(empresa.Id);

            // cadastrando o chamado
            chamado.IdStatus     = 1; // Pendente de Análise
            chamado.IdClienteCad = cliente.Id;
            var idChamado = _chamadoRepository.Post(chamado);

            // inserindo historico de status
            _chamadoRepository.PostHistoricoStatus(new ChamadoHistoricoStatusDto
            {
                IdChamado = idChamado,
                IdStatus  = chamado.IdStatus,
                IdCliente = chamado.IdClienteCad
            });
        }