public ValidationResult Adicionar(Atividade entidade)
        {
            if (!entidade.ValidationResult.IsValid)
            {
                return(entidade.ValidationResult);
            }

            var selfValidationEntity = entidade as ISelfValidation;

            if (selfValidationEntity != null && !selfValidationEntity.IsValid)
            {
                return(selfValidationEntity.ValidationResult);
            }

            var adicionou = _repositorio.Adicionar(entidade);

            if (adicionou == null)
            {
                entidade.ValidationResult.Add(
                    new ValidationError(
                        "A Entidade que você está tentando gravar está nula, por favor tente novamente!" + entidade));
            }

            if (entidade.AtividadeTipoId != null)
            {
                var atividadeTipo = _servicoAtividadeTipo.ObterPorId((int)entidade.AtividadeTipoId);

                if (atividadeTipo != null)
                {
                    if (atividadeTipo.Nome.ToLower() == "ligação")
                    {
                        var atividadePartesEnvolvidas = new AtividadeParteEnvolvida(entidade.Id,
                                                                                    entidade.PessoasFisicasId, entidade.PessoasJuridicasId, entidade.PotenciaisClientesId,
                                                                                    entidade.CriadoPorUserId, TipoParteEnvolvida.Destinatario.Value, null, null);
                        _servicoAtividadeParteEnvolvida.Adicionar(atividadePartesEnvolvidas);
                    }
                }
            }

            foreach (var envolvido in entidade.Envolvidos)
            {
                envolvido.SetarAtividadeId(entidade.Id);
                _servicoAtividadeParteEnvolvida.Adicionar(envolvido);
            }

            return(entidade.ValidationResult);
        }
예제 #2
0
        public IEnumerable <ContatoViewModel> ObterContatos(long?pessoaFisicaId, long?pessoaJuridicaId, int?quantidade)
        {
            var retorno    = new List <ContatoViewModel>();
            var atividades = _atividadeServico.ObterAtividadesPorCliente(pessoaFisicaId, pessoaJuridicaId, quantidade);

            if (atividades == null)
            {
                return(retorno);
            }

            foreach (var atividade in atividades)
            {
                atividade.StatusAtividade = _statusAtividadeServico.ObterPorId(atividade.StatusAtividadeId);
                if (atividade.AtividadeTipoId != null)
                {
                    atividade.AtividadeTipo = _atividadeTipoServico.ObterPorId((long)atividade.AtividadeTipoId);
                }
                retorno.Add(new ContatoViewModel(atividade));
            }

            return(retorno);
        }
        public ReportFiltroViewModel CarregarFiltrosPorExtenso(ReportFiltroViewModel model)
        {
            //model.dsAtividadeTipo
            if (model.AtividadeTipoId != null && string.IsNullOrEmpty(model.DsAtividadeTipo))
            {
                model.DsAtividadeTipo = _servicoAtividadeTipo.ObterPorId((int)model.AtividadeTipoId).Nome;
            }

            //model.dsCanal
            if (model.AtividadeTipoId != null && string.IsNullOrEmpty(model.DsCanal))
            {
                model.DsCanal = _servicoAtividadeTipo.ObterPorId((int)model.AtividadeTipoId).Nome;
            }

            //model.dsCriadoPor
            if (!string.IsNullOrEmpty(model.CriadoPor) && string.IsNullOrEmpty(model.DsCriadoPor))
            {
                model.DsCriadoPor = _servicoUsuario.ObterPorUserId(model.CriadoPor).Nome;
            }

            //model.dsCliente
            if (model.PessoaFisicaId != null || model.PessoaJuridicaId != null ||
                model.PotenciaisClientesId != null && string.IsNullOrEmpty(model.DsCliente))
            {
                if (model.PessoaFisicaId != null)
                {
                    model.DsCliente = _servicoPessoaFisica.ObterPorId((long)model.PessoaFisicaId).Nome;
                }

                if (model.PessoaJuridicaId != null)
                {
                    model.DsCliente = _servicoPessoaJuridica.ObterPorId((long)model.PessoaJuridicaId).RazaoSocial;
                }

                if (model.PotenciaisClientesId != null)
                {
                    model.DsCliente = _servicoPotenciaisCliente.ObterPorId((long)model.PotenciaisClientesId).nome;
                }
            }

            //model.dsMidia
            if (model.MidiaId != null && string.IsNullOrEmpty(model.DsMidia) && model.MidiaId != 99999)
            {
                model.DsMidia = _servicoMidia.ObterPorId((int)model.MidiaId).Nome;
            }

            //model.dsOcorrenciaTipo
            if (model.OcorrenciaTipoId != null)
            {
                model.DsOcorrenciaTipo = _servicoOcorrenciaTipo.ObterPorId((int)model.OcorrenciaTipoId).Nome;
            }

            //model.dsOcorrenciaTratativa
            if (!string.IsNullOrEmpty(model.OcorrenciaTratativa) && string.IsNullOrEmpty(model.DsOcorrenciaTratativa))
            {
                model.DsOcorrenciaTratativa = model.OcorrenciaTratativa.ToLower() == "c" ? "Criado" : "Tratado";
            }

            //model.dsSentido
            if (!string.IsNullOrEmpty(model.Sentido) && string.IsNullOrEmpty(model.DsSentido))
            {
                model.DsSentido = model.Sentido.ToLower() == "e" ? "Receptivo" : "Ativo";
            }

            //model.dsStatusAtividade
            if (model.StatusAtividadeId != null && string.IsNullOrEmpty(model.DsStatusAtividade))
            {
                model.DsStatusAtividade = _servicoStatusAtividade.ObterPorId((int)model.StatusAtividadeId).Descricao;
            }

            //model.dsStatusEntidade
            if (model.StatusEntidadeId != null && string.IsNullOrEmpty(model.DsStatusEntidade))
            {
                model.DsStatusEntidade = _servicoStatusEntidade.ObterPorId((int)model.StatusEntidadeId).nome;
            }

            if (model.FilaId != null && string.IsNullOrEmpty(model.DsFila))
            {
                model.DsFila = _servicoFila.ObterPorId((int)model.FilaId).Nome;
            }


            if (model.CanalId.HasValue && string.IsNullOrEmpty(model.DsCanal))
            {
                model.DsCanal = _canalServico.ObterPorId((int)model.CanalId).Nome;
            }

            if (model.AtividadesNoPrazo.HasValue)
            {
                model.DsAtividadesNoPrazo = model.AtividadesNoPrazo.Value ? "Sim" : "Não";
            }

            if (model.ProdutoId.HasValue && string.IsNullOrEmpty(model.DsProduto))
            {
                model.DsProduto = _produtoServico.ObterPorId(model.ProdutoId.Value).nome;
            }

            return(model);
        }