public JsonResult excluirAssociadoEspecifico(int id)
        {
            var list = SessionNotificacoes.getListAssociadosEspecificos();

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

            SessionNotificacoes.setListAssociadosEspecificos(list);

            return(Json(true));
        }
        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);
        }
Example #3
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));
        }