Exemple #1
0
        public void preencherListaDestinatarios()
        {
            // Agrupar Associados
            if (this.ONotificacaoSistema.flagAssociadosEspecificos == true)
            {
                this.agruparAssociados(SessionNotificacoes.getListAssociadosEspecificos());

                return;
            }

            var queryAssociados = this.OAssociadoBL.listar(0, "", "", this.ONotificacaoSistema.flagStatusAssociados);

            // Todos
            if (this.ONotificacaoSistema.flagTodosAssociados == true)
            {
                this.listaDestinatarios = this.monstaListaEnvioAssociados(queryAssociados);
            }


            // Agrupar Usuarios
            if (this.ONotificacaoSistema.flagUsuariosEspecificos == true)
            {
                this.agruparUsuarios(SessionNotificacoes.getListUsuariosEspecificos());
            }

            // Agrupar Usuarios - Por Perfil
            if (this.ONotificacaoSistema.flagUsuariosEspecificos == true)
            {
                var idsPerfis = SessionNotificacoes.getListPerfisEspecificos().Select(x => x.id).ToArray();

                var listaUsuarios = this.OUsuarioSistemaBL.listar(0, "", "").Where(x => idsPerfis.Contains(x.idPerfilAcesso)).ToList();

                this.agruparUsuarios(listaUsuarios);
            }
        }
        public JsonResult excluirAssociadoEspecifico(int id)
        {
            var list = SessionNotificacoes.getListAssociadosEspecificos();

            list.Remove(list.FirstOrDefault(x => x.idReferencia == id));

            SessionNotificacoes.setListAssociadosEspecificos(list);

            return(Json(true));
        }
        public ActionResult autocompletarAssociados(string term, int?idPessoa)
        {
            var queryAssociados = this.OAssociadoBL.autocompletar(term, UtilNumber.toInt32(idPessoa));

            if (SessionNotificacoes.getListAssociadosEspecificos().Any())
            {
                var idsPessoasAdicionadas = SessionNotificacoes.getListAssociadosEspecificos().Select(x => x.id).ToList();
                queryAssociados = queryAssociados.Where(x => !idsPessoasAdicionadas.Contains(x.idPessoa));
            }

            var page = UtilRequest.getInt32("page");

            page = page > 0 ? page : 1;

            var listAssociados = queryAssociados.OrderBy(x => x.value).ToPagedList(page, 30);

            var listaJson = listAssociados.Select(x => new { x.id, text = x.value.ToUpper() + " (" + UtilString.formatCPFCNPJ(x.nroDocumento) + ")" }).ToList();

            return(Json(new { items = listaJson, page, total_count = listAssociados.TotalItemCount }, JsonRequestBehavior.AllowGet));
        }
        public void adicionarAssociadoIndividual(int idAssociado)
        {
            var listAssociadosEspecificos = SessionNotificacoes.getListAssociadosEspecificos() ?? new List <NotificacaoSistemaEnvio>();

            // Verificar se o associado já está adicionado
            if (listAssociadosEspecificos.FirstOrDefault(x => x.idReferencia == idAssociado) != null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "O associado já está adicionado na sua lista.");
                return;
            }

            var OAssociado = this.OAssociadoBL.listar(0, "", "", "").Where(x => x.id == idAssociado)
                             .Select(x => new AssociadoDadosBasicos()
            {
                id              = x.id, idPessoa = x.idPessoa, nome = x.Pessoa.nome, nroDocumento = x.Pessoa.nroDocumento,
                emailPrincipal  = x.Pessoa.listaEmails.FirstOrDefault(y => y.idTipoEmail == TipoEmailConst.PESSOAL && y.dtExclusao == null).email,
                emailSecundario = x.Pessoa.listaEmails.FirstOrDefault(y => y.idTipoEmail == TipoEmailConst.COMERCIAL && y.dtExclusao == null).email
            }).FirstOrDefault();

            // Verificar se o associado já está adicionado
            if (OAssociado == null)
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "O associado não foi encontrado.");
                return;
            }

            if (!UtilValidation.isEmail(OAssociado.emailPrincipal) &&
                !UtilValidation.isEmail(OAssociado.emailSecundario))
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, $"O associado { OAssociado.nome } (Doc.: { UtilString.formatCPFCNPJ(OAssociado.nroDocumento) }) não possui e-mails válidos cadastrados.");
                return;
            }

            var listaEmails = new List <string> {
                OAssociado.emailPrincipal, OAssociado.emailSecundario
            };

            foreach (var email in listaEmails)
            {
                var OEnvio = new NotificacaoSistemaEnvio();

                OEnvio.idReferencia = OAssociado.id;

                OEnvio.idPessoa = OAssociado.idPessoa;

                OEnvio.nome = OAssociado.nome;

                OEnvio.email = email;

                if (!UtilValidation.isEmail(OEnvio.email))
                {
                    OEnvio.flagExcluido = true;

                    OEnvio.motivoExclusao = "O e-mail configurado não é válido.";
                }

                listAssociadosEspecificos.Add(OEnvio);
            }

            SessionNotificacoes.setListAssociadosEspecificos(listAssociadosEspecificos);
        }
Exemple #5
0
 private bool conterAssociado(AvisoNotificacaoForm ViewModel)
 {
     return(SessionNotificacoes.getListAssociadosEspecificos().Count > 0);
 }