Esempio n. 1
0
        public Chamado Novo(int idUsuario, bool quadro, int idClienteAgendamento, int idAgendamento)
        {
            _repUsuario.PermissaoMensagem(idUsuario, _tipoPrograma, EnTipoManutencao.Incluir);

            var model       = new Chamado();
            var tipoServico = new TipoServico();

            var modelTipo = tipoServico.RetornarUmRegistro(_tipoChamadoAtividade);

            if (modelTipo != null)
            {
                model.Tipo = modelTipo;
            }

            var usuario = _repUsuario.ObterPorId(idUsuario);

            if (usuario != null)
            {
                model.UsuarioAbertura = usuario;
                if (usuario.ClienteId != null && usuario.ClienteId > 0)
                {
                    model.Cliente = usuario.Clientes.FirstOrDefault(x => x.Id == usuario.ClienteId.Value);
                }
            }

            var observacaoServico = new ObservacaoServico();
            var obsModel          = observacaoServico.ObterPadrao((int)EnumChamado.Chamado);

            if (obsModel != null)
            {
                model.Descricao = obsModel.Descricao;
            }

            if (quadro && idClienteAgendamento > 0)
            {
                model.Cliente = new ClienteServico().ObterPorId(idClienteAgendamento);
            }

            if (idAgendamento > 0)
            {
                BuscarAgendamento(idAgendamento, model);
            }

            model.DataAbertura = DateTime.Now.Date;

            return(model);
        }
Esempio n. 2
0
        public void SalvarAplicativo(ChamadoAplicativoInputViewModel chamadoInputModel)
        {
            try
            {
                string codigoUsuario = UsuarioAplicativo();
                if (string.IsNullOrWhiteSpace(codigoUsuario))
                {
                    throw new Exception("Informe o Código do Usuário do Aplicativo (parâmetro 54)");
                }

                var usuario = _repUsuario.ObterPorCodigo(int.Parse(codigoUsuario));

                int idUsuario = usuario.Id;

                var clienteServico = new ClienteServico();
                var tipoServico    = new TipoServico();

                var chamado = new Chamado
                {
                    DataAbertura = DateTime.Now,
                    HoraAbertura = TimeSpan.Parse(DateTime.Now.ToShortTimeString()),

                    Contato       = chamadoInputModel.Contato,
                    Descricao     = chamadoInputModel.Descricao,
                    Nivel         = 2,
                    TipoMovimento = 1,
                    Origem        = 4,

                    UsuarioAberturaId = idUsuario
                };

                var cliente = clienteServico.ObterPorCNPJ(chamadoInputModel.CNPJ);
                if (cliente != null)
                {
                    chamado.ClienteId = cliente.Id;
                }

                var modelTipo = tipoServico.RetornarUmRegistro(_tipoChamadoAtividade);
                if (modelTipo != null)
                {
                    chamado.TipoId = modelTipo.Id;
                }

                var codStatusAbertura = StatusAbertura();

                if (string.IsNullOrWhiteSpace(codStatusAbertura))
                {
                    throw new Exception("Informe o código do Status de Abertura. (Parâmetro 9,1)");
                }

                var statusServico = new StatusServico();

                var status = statusServico.ObterPorCodigo(int.Parse(codStatusAbertura));
                if (status != null)
                {
                    chamado.StatusId = status.Id;
                }

                Salvar(chamado);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }