public AnotacaoFormViewModel CarregarAdicionarAnotacao(long?ocorrenciaId, long?atividadeId)
        {
            var retorno = new AnotacaoFormViewModel();

            if (ocorrenciaId != null)
            {
                var ocorrencia = _servicoOcorrencia.ObterPorId((long)ocorrenciaId);

                if (ocorrencia != null)
                {
                    retorno.OcorrenciaId     = ocorrencia.Id;
                    retorno.PessoaFisicaId   = ocorrencia.PessoaFisicaId;
                    retorno.PessoaJuridicaId = ocorrencia.PessoaJuridicaId;
                    retorno.AnotacaoTipos    =
                        new SelectList(_anotacaoTipoServico.ObterOcorrenciaTipoId(ocorrencia.OcorrenciasTiposId), "id",
                                       "nome");
                }
            }
            else if (atividadeId != null)
            {
                var atividade = _servicoAtividade.ObterPorId((long)atividadeId);
                if (atividade != null)
                {
                    retorno.OcorrenciaId        = atividade.OcorrenciaId;
                    retorno.PessoaFisicaId      = atividade.PessoasFisicasId;
                    retorno.PessoaJuridicaId    = atividade.PessoasJuridicasId;
                    retorno.PotenciaisClienteId = atividade.PotenciaisClientesId;
                    retorno.AnotacaoTipos       = new SelectList(_anotacaoTipoServico.ObterPadrao(), "id", "nome");
                }
            }

            return(retorno);
        }
Пример #2
0
        public AlterarResponsavelViewModel CarregarAlterarResponsavel(long?ocorrenciaId, long?atividadeId)
        {
            Usuario usuarioAtual;

            if (ocorrenciaId.HasValue)
            {
                var ocorrencia = _ocorrenciaServico.ObterPorId((long)ocorrenciaId);
                usuarioAtual = _usuarioServico.ObterPorUserId(ocorrencia.ResponsavelPorAspNetUserId);
            }
            else
            {
                var atividade = _atividadeServico.ObterPorId((long)atividadeId);
                usuarioAtual = _usuarioServico.ObterPorUserId(atividade.ResponsavelPorUserId);
            }

            var listaUsuarios = _usuarioServico.ObterResponsaveisAtribuicao(ocorrenciaId, atividadeId);

            if (usuarioAtual == null)
            {
                usuarioAtual = new Usuario();
            }

            return(new AlterarResponsavelViewModel(ocorrenciaId, atividadeId, usuarioAtual.Id, usuarioAtual.Nome,
                                                   new System.Web.Mvc.SelectList(listaUsuarios, "id", "nome")));
        }
Пример #3
0
        public StatusEntidadeAlterarViewModel CarregarAlterarStatus(long?ocorrenciaId)
        {
            var ocorrencia     = new Ocorrencia();
            var statusEntidade = new StatusEntidade();

            if (ocorrenciaId != null)
            {
                ocorrencia     = _ocorrenciaServico.ObterPorId((long)ocorrenciaId);
                statusEntidade = _statusEntidadeServico.ObterPorId(ocorrencia.StatusEntidadesId);
            }

            //var ListaStatusEntidade = this._servicoStatusEntidade.ObterStatusEntidadeOcorrencia();
            //var ListaStatusEntidade = this._servicoStatusEntidade.AxaObterStatusLojista();
            //Carregar Somente os Status Vinculados
            var listaStatusEntidade = _statusEntidadeServico.ObterPorOcorrenciaTipoId(ocorrencia.OcorrenciasTiposId);

            if (!listaStatusEntidade.Any(w => w.finalizador))
            {
                ((List <StatusEntidade>)listaStatusEntidade).Add(_statusEntidadeServico.ObterStatusOcorrenciaFinalizadoraPadrao());
            }

            return(new StatusEntidadeAlterarViewModel(statusEntidade, listaStatusEntidade, ocorrencia.Id));
        }
Пример #4
0
        public AtividadeNewViewModel Editar(long id, string userId, bool linkFila)
        {
            if (linkFila) //Limpando Atividade da Fila atual
            {
                _atividadeServico.AtualizarDadosAtividadeEAtividadeFila(userId, id);
            }

            var model     = new AtividadeNewViewModel();
            var atividade = _atividadeServico.ObterPorIdDal(id);

            if (atividade != null)
            {
                if (atividade.AtividadeTipoId == 3)
                {
                    var clienteTratativa = _atividadeParteEnvolvidaServico.BuscarUltimoClienteTratativa(atividade.Id);
                    if (clienteTratativa != null)
                    {
                        atividade.PessoasFisicasId   = clienteTratativa.PessoasFisicasId;
                        atividade.PessoasJuridicasId = clienteTratativa.PessoasJuridicasId;
                    }
                    else
                    {
                        atividade.PessoasFisicasId   = null;
                        atividade.PessoasJuridicasId = null;
                    }
                }

                model = Carregar(atividade.CriadoPorUserId, atividade.PessoasFisicasId, atividade.PessoasJuridicasId,
                                 atividade.PotenciaisClientesId, atividade.OcorrenciaId);

                var clienteContato = _atividadeParteEnvolvidaServico.BuscarClienteContato(atividade.Id);
                if (clienteContato != null)
                {
                    if (clienteContato.PessoasFisicasId.HasValue)
                    {
                        model.ContatoPessoaFisicaId = (long)clienteContato.PessoasFisicasId;
                    }
                    else if (clienteContato.PessoasJuridicasId.HasValue)
                    {
                        model.ContatoPessoaJuridicaId = (long)clienteContato.PessoasJuridicasId;
                    }
                }

                model.id                  = atividade.Id;
                model.atendimentoID       = atividade.AtendimentoId;
                model.atividadeFinalizada = atividade.FinalizadoEm != null;
                model.atividadeTipoID     = (int)atividade.AtividadeTipoId;
                model.contratoID          = atividade.ContratoId;
                model.criadoEm            = atividade.CriadoEm;
                model.descricao           = atividade.Descricao;
                model.midiaID             = atividade.MidiasId;
                model.previsaoDeExecucao  = atividade.PrevisaoDeExecucao;
                model.statusAtividadeID   = atividade.StatusAtividadeId;
                model.titulo              = atividade.Titulo;
                model.UsuarioId           = atividade.UsuarioId;
                model.finalizadoEm        = atividade.FinalizadoEm;

                CarregarAtividadeLigacao(model, atividade.Id);
                CarregarAtividadeTarefa(model, atividade.Id);
                CarregarAtividadeEmail(model, atividade, userId);
                CarregarAtividadeChat(model, atividade, userId);

                if (model.Ligacao.sentido.ToLower().Contains("ativa"))
                {
                    model.listaStatusAtividade = _statusAtividadeServico.ObterStatusAtividadeLigacaoAtiva();
                }

                var listaAtividadesFilas =
                    _atividadeFilaServico.ObterPorAtividadeId(atividade.Id).Where(c => c.SaiuDaFilaEm == null);
                if (listaAtividadesFilas.Any())
                {
                    model.filaID = listaAtividadesFilas.OrderByDescending(c => c.EntrouNaFilaEm).FirstOrDefault().FilaId;
                }

                if (atividade.AtendimentoId != null)
                {
                    var atendimento = _atendimentoServico.ObterPorId((long)atividade.AtendimentoId);
                    if (atendimento != null)
                    {
                        model.protocolo = atendimento.Protocolo;

                        if (atendimento.MidiasId.HasValue && atendimento.MidiasId != 0)
                        {
                            var midia = _midiaServico.ObterPorId((int)atendimento.MidiasId);
                            if (midia != null)
                            {
                                model.midia   = midia.Nome;
                                model.midiaID = (int)midia.Id;
                            }
                        }
                    }
                }

                if (atividade.MidiasId != null && !model.midiaID.HasValue)
                {
                    var midia = _midiaServico.ObterPorId((int)atividade.MidiasId);
                    if (midia != null)
                    {
                        model.midia = midia.Nome;
                    }
                }

                if (atividade.OcorrenciaId != null)
                {
                    var ocorrencia = _ocorrenciaServico.ObterPorId((long)atividade.OcorrenciaId);
                    if (ocorrencia != null)
                    {
                        if (!model.pessoaFisicaID.HasValue)
                        {
                            model.pessoaFisicaID = ocorrencia.PessoaFisicaId;
                        }

                        if (!model.pessoaJuridicaID.HasValue)
                        {
                            model.pessoaJuridicaID = ocorrencia.PessoaJuridicaId;
                        }

                        var ocorrenciaTipo = _ocorrenciaTipoServico.ObterPorId(ocorrencia.OcorrenciasTiposId);
                        if (ocorrenciaTipo != null)
                        {
                            model.referente = ocorrenciaTipo.NomeExibicao;
                        }
                    }
                }

                var statusAtividade = _statusAtividadeServico.ObterPorId(atividade.StatusAtividadeId);
                if (statusAtividade != null)
                {
                    model.nomeStatusAtividade = statusAtividade.Descricao;
                    model.atividadeFinalizada = statusAtividade.FinalizaAtividade;
                }

                var criadoPor = _usuarioServico.ObterPorUserId(atividade.CriadoPorUserId);
                if (criadoPor != null)
                {
                    model.criadoPor = criadoPor.Nome.ToUpper();
                }

                var responsavel =
                    _usuarioServico.ObterPorUserId(string.IsNullOrEmpty(atividade.ResponsavelPorUserId)
                        ? atividade.CriadoPorUserId
                        : atividade.ResponsavelPorUserId);
                if (responsavel != null)
                {
                    model.responsavel = responsavel.Nome.ToUpper();
                }

                model.podeEditar = string.IsNullOrEmpty(atividade.ResponsavelPorUserId)
                    ? atividade.CriadoPorUserId == userId
                    : atividade.ResponsavelPorUserId == userId;


                if (!string.IsNullOrEmpty(atividade.FinalizadoPorUserId))
                {
                    var usuarioFinalizador = _usuarioServico.ObterPorUserId(atividade.FinalizadoPorUserId);
                    if (usuarioFinalizador != null)
                    {
                        model.UsuarioFinalizador = usuarioFinalizador.Nome;
                    }
                }
            }
            else
            {
                model.ValidationResult.Add(
                    new DomainValidation.Validation.ValidationError(
                        "Não foram encontradas atividades para o ID informado."));
            }

            return(model);
        }
Пример #5
0
        public OcorrenciaFormViewModel CarregarVisualizar(long ocorrenciaId)
        {
            var ocorrencia = _servicoOcorrencia.ObterPorId(ocorrenciaId);

            if (ocorrencia != null)
            {
                var pessoaFisica   = new PessoaFisica();
                var pessoaJuridica = new PessoaJuridica();
                var Cidade         = new Cidade();
                var statusEntidade = new StatusEntidade();

                var viewModel = new OcorrenciaFormViewModel
                {
                    OcorrenciaID = ocorrenciaId,
                    OcorrenciaTiposXOcorrencia =
                        _ocorrenciaTiposXOcorrenciaServico.ObterDadosOcorrenciaTiposXOcorrencia(ocorrenciaId),
                    atualizadoEm   = ocorrencia.AtualizadoEm,
                    criadoEm       = ocorrencia.CriadoEm,
                    StatusEntidade = _servicoStatusEntidade.ObterPorId(ocorrencia.StatusEntidadesId)
                };

                statusEntidade = ocorrencia.StatusEntidadesId > 0
                    ? _servicoStatusEntidade.ObterPorId(ocorrencia.StatusEntidadesId)
                    : null;

                viewModel.StatusEntidade = statusEntidade;
                viewModel.criadoEm       = ocorrencia.CriadoEm;
                viewModel.atualizadoEm   = ocorrencia.AtualizadoEm;

                if (ocorrencia.PessoaFisicaId != null)
                {
                    pessoaFisica = _servicoPessoaFisica.ObterPorId((long)ocorrencia.PessoaFisicaId);

                    if (pessoaFisica.CidadeId != null)
                    {
                        Cidade = _servicoCidadeServico.ObterPorId((long)pessoaFisica.CidadeId);
                    }

                    _cliente       = new ClientePerfilViewModel(pessoaFisica, "", Cidade, false);
                    pessoaJuridica = null;
                }
                else if (ocorrencia.PessoaJuridicaId != null)
                {
                    pessoaJuridica = _servicoPessoaJuridica.ObterPorId((long)ocorrencia.PessoaJuridicaId);
                    if (pessoaJuridica.CidadeId != null)
                    {
                        Cidade = _servicoCidadeServico.ObterPorId((long)pessoaJuridica.CidadeId);
                    }
                    _cliente     = new ClientePerfilViewModel(pessoaJuridica, "", Cidade, false);
                    pessoaFisica = null;
                }

                _cliente.Visualizar = true;
                viewModel.Cliente   = _cliente;

                //Carregar Local
                var local = _servicoLocal.ObterLocalPorOcorrenciaId(ocorrencia.Id);
                if (local != null)
                {
                    string nomeCidade = "";
                    string nomeEstado = "";

                    if (local.LocalOcorrencia.CidadesId != null)
                    {
                        var cidade = _servicoCidadeServico.ObterPorId((int)local.LocalOcorrencia.CidadesId);
                        if (cidade != null)
                        {
                            nomeCidade = cidade.Nome;
                            nomeEstado = cidade.Uf;
                        }
                    }

                    var enderecoProduto = new EnderecoProdutoViewModel(local.LocalOcorrencia.Logradouro,
                                                                       local.LocalOcorrencia.Numero, local.LocalOcorrencia.Cep, local.LocalOcorrencia.Bairro,
                                                                       nomeCidade, nomeEstado, local.LocalOcorrencia.Complemento);
                    var local2 = new LocalViewModel(local.nome, local.LocalTipo.Nome, local.logradouro, local.numero,
                                                    local.bairro, local.cidade, local.estado, local.cep, local.telefone01, local.telefone02,
                                                    local.telefone03, local.email01, local.email02, local.webSite, enderecoProduto.EnderecoCompleto,
                                                    local.LocalOcorrencia.LocalTipoAtendimento.nome);
                    viewModel.Local = local2;
                }

                return(viewModel);
            }
            var validacaoRetorno = new ValidationResult();

            validacaoRetorno.Add(new ValidationError("Nenhuma ocorrência encontrada com os parâmetros informados."));
            return(new OcorrenciaFormViewModel {
                ValidationResult = validacaoRetorno
            });
        }
        public ValidationResult AdicionarSolicitacaoLigacaoCorretor(long ocorrenciaId, string criadoPorUserId,
                                                                    string descricao)
        {
            var retorno         = new ValidationResult();
            var statusAtividade = _servicoStatusAtividade.ObterStatusAtividadePadraoParaLigacao();
            var valorEncontrado = statusAtividade != null;

            if (!valorEncontrado)
            {
                retorno.Add(
                    new ValidationError(
                        "Não foi possível cadastrar a solicitação de ligação: nenhum status atividade padrão para ligação retornado"));
                return(retorno);
            }

            valorEncontrado = false;
            var atividadeTipo = _servicoAtividadeTipo.BuscarPorNome("Ligação");

            if (atividadeTipo != null)
            {
                valorEncontrado = true;
            }

            if (!valorEncontrado)
            {
                retorno.Add(
                    new ValidationError(
                        "Não foi possível cadastrar a solicitação de ligação: nenhuma atividade tipo para o nome Ligação foi retornado"));
                return(retorno);
            }

            var ocorrencia = _servicoOcorrencia.ObterPorId(ocorrenciaId);

            var atividade = new Atividade()
            {
                CriadoPorUserId    = criadoPorUserId,
                CriadoEm           = DateTime.Now,
                StatusAtividadeId  = statusAtividade.Id,
                AtividadeTipoId    = atividadeTipo.Id,
                Titulo             = "Ligação Ativa",
                Descricao          = descricao,
                OcorrenciaId       = ocorrenciaId,
                PessoasFisicasId   = ocorrencia.PessoaFisicaId,
                PessoasJuridicasId = ocorrencia.PessoaJuridicaId
            };

            retorno = Adicionar(atividade);

            if (!retorno.IsValid)
            {
                return(retorno);
            }

            var configuracao = new Configuracao();

            configuracao.SetarListaSolicitacaoLigacaoCorretor();
            var nomeFilaSolicitacaoCorretor = _servicoConfiguracao.ObterPor(configuracao);

            valorEncontrado = false;

            if (nomeFilaSolicitacaoCorretor != null)
            {
                if (nomeFilaSolicitacaoCorretor.Any())
                {
                    valorEncontrado = true;
                }
            }

            if (!valorEncontrado)
            {
                retorno.Add(
                    new ValidationError(
                        "Não foi possível cadastrar a solicitação de ligação: nenhuma lista para tratativa de solicitações Corretor cadastrada."));
                return(retorno);
            }

            retorno = _servicoAtividadeFila.AdicionarAtividadeFila(nomeFilaSolicitacaoCorretor.FirstOrDefault().Valor,
                                                                   atividade.Id);

            return(retorno);
        }