예제 #1
0
        public JsonResult excluirUsuarioEspecifico(int id)
        {
            var list = SessionNotificacoes.getListUsuariosEspecificos();

            list.Remove(list.Where(x => x.id == id).FirstOrDefault());
            return(Json(true));
        }
예제 #2
0
        public PartialViewResult adicionarUsuarioEspecifico()
        {
            int    idUsuario    = UtilRequest.getInt32("idUsuarioEspecifico");
            string nomeUsuario  = UtilRequest.getString("nomeUsuarioEspecifico");
            string loginUsuario = UtilRequest.getString("loginUsuarioEspecifico");
            string emailUsuario = UtilRequest.getString("emailUsuarioEspecifico");

            if (idUsuario > 0)
            {
                var listUsuariosEspecificos = SessionNotificacoes.getListUsuariosEspecificos();

                if (!listUsuariosEspecificos.Any(x => x.id == idUsuario))
                {
                    var OAssociado = new UsuarioSistema()
                    {
                        id = idUsuario, nome = nomeUsuario, login = loginUsuario, email = emailUsuario
                    };
                    listUsuariosEspecificos.Add(OAssociado);
                    SessionNotificacoes.setListUsuariosEspecificos(listUsuariosEspecificos);
                }
                else
                {
                    this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Esse usuário já está adicionado na sua lista.");
                }
            }
            else
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Selecione um usuário para adicionar à lista.");
            }

            return(PartialView("partialUsuariosEspecificos"));
        }
예제 #3
0
        public PartialViewResult adicionarPerfilEspecifico()
        {
            int    idPerfil   = UtilRequest.getInt32("idPerfilEspecifico");
            string nomePerfil = UtilRequest.getString("nomePerfilEspecifico");

            if (idPerfil > 0)
            {
                var listPerfisEspecificos = SessionNotificacoes.getListPerfisEspecificos();

                if (!listPerfisEspecificos.Any(x => x.id == idPerfil))
                {
                    var OAssociado = new PerfilAcesso()
                    {
                        id = idPerfil, descricao = nomePerfil
                    };
                    listPerfisEspecificos.Add(OAssociado);
                    SessionNotificacoes.setListPerfisEspecificos(listPerfisEspecificos);
                }
                else
                {
                    this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Esse perfil já está adicionado na sua lista.");
                }
            }
            else
            {
                this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Selecione um perfil para adicionar à lista.");
            }

            return(PartialView("partialPerfisEspecificos"));
        }
예제 #4
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);
        }
예제 #8
0
 private bool conterUsuario(AvisoNotificacaoForm ViewModel)
 {
     return(SessionNotificacoes.getListUsuariosEspecificos().Count > 0 || SessionNotificacoes.getListPerfisEspecificos().Count > 0);
 }
예제 #9
0
 private bool conterAssociado(AvisoNotificacaoForm ViewModel)
 {
     return(SessionNotificacoes.getListAssociadosEspecificos().Count > 0);
 }
예제 #10
0
        public ActionResult editar(AvisoNotificacaoForm ViewModel)
        {
            ViewModel.carregarFlags();

            if (!ModelState.IsValid)
            {
                return(View(ViewModel));
            }

            ViewModel.ONotificacaoSistema.flagAssociadosAdimplentes = ViewModel.flagAssociados == SituacaoContribuicaoConst.ADIMPLENTE;

            ViewModel.ONotificacaoSistema.flagAssociadosEspecificos = ViewModel.flagAssociados == "espec";

            ViewModel.ONotificacaoSistema.flagAssociadosInadimplentes = ViewModel.flagAssociados == SituacaoContribuicaoConst.INADIMPLENTE;

            ViewModel.ONotificacaoSistema.dtProgramacaoEnvio = ViewModel.ONotificacaoSistema.dtProgramacaoEnvio ?? DateTime.Today;

            ViewModel.preencherListaDestinatarios();

            if (!ViewModel.listaDestinatarios.Any())
            {
                if (ViewModel.ONotificacaoSistema.flagAssociadosEspecificos == true)
                {
                    this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Informe ao menos um destinatário para a criação da notificação.");
                }

                if (ViewModel.ONotificacaoSistema.flagAssociadosEspecificos != true)
                {
                    this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Nenhum destinatário foi encontrado com as condições informadas.");
                }

                return(View(ViewModel));
            }

            if (ViewModel.ONotificacaoSistema.idTemplate > 0)
            {
                var OTemplate = OTemplateMensagemConsultaBL.carregar(ViewModel.ONotificacaoSistema.idTemplate.toInt());

                ViewModel.ONotificacaoSistema.notificacao      = OTemplate.corpoHTML;
                ViewModel.ONotificacaoSistema.notificacaoTexto = OTemplate.corpoTexto;
            }

            var flagSucesso = this.ONotificacaoAssociadoAvulsaBL.salvar(ViewModel.ONotificacaoSistema, ViewModel.listaDestinatarios);

            if (flagSucesso)
            {
                SessionNotificacoes.setListAssociadosEspecificos(new List <NotificacaoSistemaEnvio>());

                SessionNotificacoes.setListUsuariosEspecificos(new List <UsuarioSistema>());

                SessionNotificacoes.setListPerfisEspecificos(new List <PerfilAcesso>());

                this.Flash(UtilMessage.TYPE_MESSAGE_SUCCESS, "Os dados foram salvos com sucesso.");

                return(RedirectToAction("editar", new { ViewModel.ONotificacaoSistema.id }));
            }

            this.Flash(UtilMessage.TYPE_MESSAGE_ERROR, "Houve um problema ao salvar o registro. Tente novamente.");

            return(View(ViewModel));
        }