protected void btnSalvar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                try
                {
                    _notificacaoEnvioEdicao = new classes.NotificacaoEnvio();

                    if (Request["Id"] == null)
                    {
                        _notificacaoEnvioEdicao = ObterObjetoNotificacaoEnvio();
                        manterNotificacaoEnvio.IncluirNotificacaoEnvio(_notificacaoEnvioEdicao);
                    }
                    else
                    {
                        _notificacaoEnvioEdicao = ObterObjetoNotificacaoEnvio();
                        manterNotificacaoEnvio.AlterarNotificacaoEnvio(_notificacaoEnvioEdicao);
                    }

                    idNotificacaoGerada = _notificacaoEnvioEdicao.ID;

                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Dados Gravados com Sucesso!", "EdicaoNotificacaoEnvio.aspx?Id=" + _notificacaoEnvioEdicao.ID + "&acao=Salvar");
                }
                catch (AcademicoException ex)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                }
                catch (AlertException ex)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao, ex.Message);
                }
            }
        }
        private classes.NotificacaoEnvio ObterObjetoNotificacaoEnvio()
        {
            if (Request["Id"] != null)
            {
                _notificacaoEnvioEdicao = new ManterNotificacaoEnvio().ObterNotificacaoEnvioPorID((int.Parse(Request["Id"])));
            }
            else
            {
                _notificacaoEnvioEdicao = new classes.NotificacaoEnvio();
            }

            //Texto
            _notificacaoEnvioEdicao.Texto = txtTexto.Text.Trim();

            //Link
            _notificacaoEnvioEdicao.Link = txtLink.Text.Trim();

            AdicionarPermissao(_notificacaoEnvioEdicao);

            if (_notificacaoEnvioEdicao.Uf == null)
            {
                using (var bmusuario = new ManterUsuario())
                {
                    var usuario = bmusuario.ObterUsuarioLogado();
                    _notificacaoEnvioEdicao.Uf = new ManterUf().ObterUfPorID(usuario.UF.ID);
                }
            }

            return(_notificacaoEnvioEdicao);
        }
        private void AdicionarOuRemoverAlunos(classes.NotificacaoEnvio notificacaoEnvioEdicao)
        {
            IList <NotificacaoEnvioPermissao> listaNot = notificacaoEnvioEdicao.ListaPermissao.Where(x => x.Usuario != null).ToList();

            // Remove todos do Objeto sempre e aloca somente os selecionados no grid view
            notificacaoEnvioEdicao.RemoverUsuarios();

            GridView gridViewUsuarios = (GridView)this.ucLupaMultiplosUsuarios.FindControl("GridViewUsuariosSelecionados");

            if (gridViewUsuarios.Rows.Count > 0)
            {
                BMUsuario bmUsu         = new BMUsuario();
                Usuario   usuarioLogado = bmUsu.ObterUsuarioLogado();

                foreach (GridViewRow row in gridViewUsuarios.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        CheckBox chkRow = (row.Cells[0].FindControl("chkRow") as CheckBox);

                        // Se estiver selecionado
                        if (chkRow.Checked)
                        {
                            ManterUsuario   mantUsuario = new ManterUsuario();
                            classes.Usuario user        = mantUsuario.ObterPorCPF(row.Cells[2].Text);

                            notificacaoEnvioEdicao.AdicionarUsuario(user, usuarioLogado);
                        }
                    }
                }
            }
        }
        private void AdicionarOuRemoverTurma(classes.NotificacaoEnvio notificacaoEnvioEdicao)
        {
            IList <NotificacaoEnvioPermissao> listaNot = notificacaoEnvioEdicao.ListaPermissao.Where(x => x.Turma != null).ToList();

            // Já tinha alguma turma escolhida
            if (ddlTurma.SelectedItem != null && ddlTurma.SelectedItem.Value != null && ddlTurma.SelectedItem.Value != "0")
            {
                // Se a seleção não conter o valor escolhido, se já estiver não precisa atualizar nada
                if (!listaNot.Any(x => x.Turma.ID.Equals(int.Parse(ddlTurma.SelectedItem.Value))))
                {
                    BMUsuario bmUsu         = new BMUsuario();
                    Usuario   usuarioLogado = bmUsu.ObterUsuarioLogado();

                    //classes.Turma tur = new classes.Turma();
                    //tur = new ManterTurma().ObterTurmaPorID(ddlTurma.SelectedItem.Value);
                    ManterTurma   mantTurma = new ManterTurma();
                    classes.Turma tur       = mantTurma.ObterTurmaPorID(Convert.ToInt32(ddlTurma.SelectedItem.Value));

                    notificacaoEnvioEdicao.AdicionarTurma(tur, usuarioLogado);
                    notificacaoEnvioEdicao.RemoverTurmasExceto(tur);
                }
            }// Se não selecinou nada mas tem algo no banco limpa
            else if (listaNot.Count() > 0)
            {
                notificacaoEnvioEdicao.RemoverTurmas();
            }
        }
        private void AdicionarOuRemoverUf(classes.NotificacaoEnvio notificacaoEnvio)
        {
            try
            {
                var ufs           = ucPermissoes1.ObterUfs();
                var usuarioLogado = new BMUsuario().ObterUsuarioLogado();

                foreach (var ufDto in ufs)
                {
                    var uf = new Uf {
                        ID = ufDto.ID
                    };

                    if (ufDto.IsSelecionado)
                    {
                        notificacaoEnvio.AdicionarUfs(uf, usuarioLogado);
                    }
                    else
                    {
                        notificacaoEnvio.RemoverUfs(uf);
                    }
                }
            }
            catch
            {
                throw new ExecutionEngineException("Erro ao salvar UFs das permissões.");
            }
        }
        private void AdicionarOuRemoverPerfil(classes.NotificacaoEnvio notificacaoEnvioEdicao)
        {
            var todosPerfis = this.ucPermissoes1.ObterTodosPerfis;

            if (todosPerfis != null && todosPerfis.Count > 0)
            {
                for (int i = 0; i < todosPerfis.Count; i++)
                {
                    var perfilSelecionado = new Perfil()
                    {
                        ID   = int.Parse(todosPerfis[i].Value),
                        Nome = todosPerfis[i].Text
                    };

                    if (todosPerfis[i].Selected)
                    {
                        notificacaoEnvioEdicao.AdicionarPerfil(perfilSelecionado);
                    }
                    else
                    {
                        notificacaoEnvioEdicao.RemoverPerfil(perfilSelecionado);
                    }
                }
            }
        }
 private void PreencherListas(classes.NotificacaoEnvio notificacaoEnvio)
 {
     PreencherListaUfs(notificacaoEnvio);
     PreencherListaNivelOcupacional(notificacaoEnvio);
     PreencherListaPerfil(notificacaoEnvio);
     PreencherListaUsuarios(notificacaoEnvio);
     PreencherListaStatus(notificacaoEnvio);
 }
 private void AdicionarPermissao(classes.NotificacaoEnvio notificacaoEnvioEdicao)
 {
     AdicionarOuRemoverPerfil(notificacaoEnvioEdicao);
     AdicionarOuRemoverUf(notificacaoEnvioEdicao);
     AdicionarOuRemoverNivelOcupacional(notificacaoEnvioEdicao);
     AdicionarOuRemoverTurma(notificacaoEnvioEdicao);
     AdicionarOuRemoverAlunos(notificacaoEnvioEdicao);
     AdicionarOuRemoverStatus(notificacaoEnvioEdicao);
 }
        private void PreencherListaStatus(classes.NotificacaoEnvio notificacaoEnvio)
        {
            var permissoesStatus = notificacaoEnvio.ListaPermissao.Where(x => x.Status != null);

            foreach (ListItem item in chkStatus.Items.Cast <ListItem>())
            {
                item.Selected = permissoesStatus.Any(x => x.Status.ID == int.Parse(item.Value));
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                lkbAlunos.Attributes.Add("class", "collapsed");

                PreencherCombos();

                if (Request["Id"] != null)
                {
                    var idNotificacaoEnvio = int.Parse(Request["Id"]);

                    idNotificacaoGerada = idNotificacaoEnvio;

                    _notificacaoEnvioEdicao = manterNotificacaoEnvio.ObterNotificacaoEnvioPorID(idNotificacaoEnvio);

                    if (_notificacaoEnvioEdicao != null)
                    {
                        btnEnviarNotificacao.Enabled = true;
                    }
                }

                // Preenche o Status
                var listaStatus = Enum.GetValues(typeof(enumStatusMatricula)).Cast <enumStatusMatricula>().Select(x => new { nome = x.GetDescription(), valor = (int)x });
                WebFormHelper.PreencherListaCustomizado(listaStatus.ToList(), chkStatus, "valor", "nome");

                PreencherCampos(_notificacaoEnvioEdicao);

                // Preenche o combo de Soluções Educacionais
                ObterSolucaoEducacional();

                if (_notificacaoEnvioEdicao != null)
                {
                    var notPerm = _notificacaoEnvioEdicao.ListaPermissao.FirstOrDefault(x => x.Turma != null);

                    if (notPerm != null)
                    {
                        var solId   = notPerm.Turma.Oferta.SolucaoEducacional.ID;
                        var offerId = notPerm.Turma.Oferta.ID;

                        ddlSolucaoEducacional.SelectedValue = solId.ToString();

                        // Preenche o combo de Oferta
                        ObterOferta(solId);
                        ddlOferta.SelectedValue = offerId.ToString();

                        // Preenche o combo de turmas
                        ObterTurma(offerId);
                        ddlTurma.SelectedValue = notPerm.Turma.ID.ToString();
                    }
                }
            }
            else
            {
                MostrarTab(lkbAlunos, collapseSelecionados);
            }
        }
        private void PreencherCampos(classes.NotificacaoEnvio notificacaoEnvio)
        {
            if (notificacaoEnvio != null)
            {
                txtTexto.Text = notificacaoEnvio.Texto;

                txtLink.Text = notificacaoEnvio.Link;

                PreencherListas(notificacaoEnvio);
            }
        }
        private void PreencherListaUfs(classes.NotificacaoEnvio notificacaoEnvio)
        {
            var permissoesUfIds = notificacaoEnvio.ListaPermissao.Where(x => x.Uf != null).Select(x => x.Uf.ID).ToList();

            ucPermissoes1.PreencherUfs(new ManterUf().ObterTodosUf().Select(x => new DTOUf
            {
                ID            = x.ID,
                Nome          = x.Sigla,
                IsSelecionado = permissoesUfIds.Contains(x.ID)
            }).ToList(), false);
        }
        private void PreencherListaUsuarios(classes.NotificacaoEnvio notificacaoEnvio)
        {
            var usuarios =
                notificacaoEnvio.ListaPermissao.Where(x => x.Usuario != null)
                .Select(x => new Usuario {
                ID = x.Usuario.ID, Nome = x.Usuario.Nome, CPF = x.Usuario.CPF
            })
                .ToList();

            ucLupaMultiplosUsuarios.PreencherGridUsuarios(usuarios);
        }
        private void PreencherListaPerfil(classes.NotificacaoEnvio notificacaoEnvio)
        {
            var permissoesPerfisIds =
                notificacaoEnvio.ListaPermissao.Where(x => x.Perfil != null).Select(x => x.Perfil.ID).ToList();

            ucPermissoes1.PreencherPerfis(
                new ManterPerfil().ObterTodosPerfis().Select(x => new DTOPerfil
            {
                ID            = x.ID,
                Nome          = x.Nome,
                IsSelecionado = permissoesPerfisIds.Contains(x.ID)
            }).ToList());
        }
        private void PreencherListaNivelOcupacional(classes.NotificacaoEnvio notificacaoEnvio)
        {
            var permissoesNiveisIds =
                notificacaoEnvio.ListaPermissao.Where(x => x.NivelOcupacional != null)
                .Select(x => x.NivelOcupacional.ID)
                .ToList();

            ucPermissoes1.PreencherNiveisOcupacionais(
                new ManterNivelOcupacional().ObterTodosNivelOcupacional().Select(x => new DTONivelOcupacional
            {
                ID            = x.ID,
                Nome          = x.Nome,
                IsSelecionado = permissoesNiveisIds.Contains(x.ID)
            }).ToList());
        }
        private classes.NotificacaoEnvio ObterNotificacaoEnvio()
        {
            classes.NotificacaoEnvio Notificacao = new classes.NotificacaoEnvio();

            if (!string.IsNullOrWhiteSpace(this.txtNome.Text))
            {
                Notificacao.Texto = this.txtNome.Text.Trim();
            }

            if (!string.IsNullOrWhiteSpace(this.txtLink.Text))
            {
                Notificacao.Link = this.txtLink.Text.Trim();
            }

            return(Notificacao);
        }
        private void AdicionarOuRemoverStatus(classes.NotificacaoEnvio notificacaoEnvioEdicao)
        {
            var statusSelecionados = WebFormHelper.ObterValoresSelecionadosCheckBoxList(chkStatus);

            notificacaoEnvioEdicao.RemoverStatus();

            if (statusSelecionados.Any())
            {
                var bmUsu         = new BMUsuario();
                var usuarioLogado = bmUsu.ObterUsuarioLogado();

                var manterStatusMatricula            = new ManterStatusMatricula();
                var listaStatusMatricula             = manterStatusMatricula.ObterTodosStatusMatricula();
                var listaStatusMatriculaSelecionadas = listaStatusMatricula.Where(x => statusSelecionados.Contains(x.ID));

                notificacaoEnvioEdicao.AdicionarStatus(listaStatusMatriculaSelecionadas, usuarioLogado);
            }
        }
        protected void btnEnviarNotificacao_Click(object sender, EventArgs e)
        {
            if (Request["Id"] != null)
            {
                var notificaoId = int.Parse(Request["Id"]);

                _notificacaoEnvioEdicao = manterNotificacaoEnvio.ObterNotificacaoEnvioPorID(notificaoId);

                var usuarios = manterNotificacaoEnvio.CompilarUsuarios(_notificacaoEnvioEdicao);

                totalGerado = usuarios.Count();

                AlterarMensagemModal(totalGerado);
            }

            rptFiltros.DataSource = _notificacaoEnvioEdicao.ListaPermissao;
            rptFiltros.DataBind();

            ExibirModal();
        }
        private void AdicionarOuRemoverNivelOcupacional(classes.NotificacaoEnvio solucaoEducacionalEdicao)
        {
            var niveisDto = ucPermissoes1.ObterNiveis();

            foreach (var nivelDto in niveisDto)
            {
                var nivel = new NivelOcupacional {
                    ID = nivelDto.ID
                };

                if (nivelDto.IsSelecionado)
                {
                    solucaoEducacionalEdicao.AdicionarNivelOcupacional(nivel);
                }
                else
                {
                    solucaoEducacionalEdicao.RemoverNivelOcupacional(nivel);
                }
            }
        }
        protected void btnSim_Click(object sender, EventArgs e)
        {
            if (totalGerado == 0)
            {
                OcultarModal();
                return;
            }

            if (Request["Id"] != null)
            {
                OcultarModal();

                var idNotificacaoEnvio = int.Parse(Request["Id"]);

                _notificacaoEnvioEdicao = manterNotificacaoEnvio.ObterNotificacaoEnvioPorID(idNotificacaoEnvio);

                var manterNotificacao = new ManterNotificacao();
                try
                {
                    try
                    {
                        var usuarios = manterNotificacaoEnvio.CompilarUsuarios(_notificacaoEnvioEdicao);

                        foreach (var usuario in usuarios)
                        {
                            manterNotificacao.PublicarNotificacao(_notificacaoEnvioEdicao.Link, _notificacaoEnvioEdicao.Texto, usuario.ID, _notificacaoEnvioEdicao);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "Notificação realizada com Sucesso!",
                                                 "ListarNotificacaoEnvio.aspx");
                }
                catch (Exception ex)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                }
            }
        }
예제 #21
0
        private void AtualizaCargaHoraria(int idItemTrilha)
        {
            _ItemTrilha = new BMItemTrilha().ObterPorID(idItemTrilha);

            if (!string.IsNullOrWhiteSpace(txtCargHoraria.Text) && _ItemTrilha.CargaHoraria >= 0 && txtCargHoraria.Text != _ItemTrilha.CargaHoraria.ToString())
            {
                int cargaHoraria;

                if (int.TryParse(txtCargHoraria.Text, out cargaHoraria))
                {
                    _ItemTrilha.CargaHoraria = int.Parse(txtCargHoraria.Text);

                    new ManterItemTrilha().AlterarItemTrilha(_ItemTrilha);

                    var manterNotificacao = new ManterNotificacao();

                    var nivel = _ItemTrilha.Missao.PontoSebrae.TrilhaNivel;

                    var link = string.Format("/trilhas/trilha/{0}/nivel/{1}",
                                             nivel.Trilha.ID, nivel.ID);

                    var textoPublicacao = "Carga horária não aprovada.";
                    var usuarioLogado   = new BMUsuario().ObterUsuarioLogado();

                    var notificacaoEnvio = new Sebrae.Academico.Dominio.Classes.NotificacaoEnvio
                    {
                        Texto = textoPublicacao,
                        Link  = link
                    };

                    new ManterNotificacaoEnvio().AlterarNotificacaoEnvio(notificacaoEnvio);

                    manterNotificacao.PublicarNotificacao(link, textoPublicacao, usuarioLogado.ID, notificacaoEnvio);
                }
                else
                {
                    throw new AcademicoException("Carga horária informada é inválida.");
                }
            }
        }
        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                try
                {
                    classes.NotificacaoEnvio Notificacao            = ObterNotificacaoEnvio();
                    ManterNotificacaoEnvio   manterNotificacaoEnvio = new ManterNotificacaoEnvio();

                    using (var manterUsuario = new ManterUsuario())
                    {
                        var usuario = manterUsuario.ObterUsuarioLogado();
                        if (usuario.IsGestor())
                        {
                            Notificacao.Uf = usuario.UF;
                        }
                    }

                    IList <classes.NotificacaoEnvio> ListaNotificacao = manterNotificacaoEnvio.ObterNotificacaoEnvioPorFiltro(Notificacao);
                    WebFormHelper.PreencherGrid(ListaNotificacao, this.dgvNotificacaoEnvio);

                    if (ListaNotificacao != null && ListaNotificacao.Count > 0)
                    {
                        WebFormHelper.PreencherGrid(ListaNotificacao, this.dgvNotificacaoEnvio);
                        pnlNotificacaoEnvio.Visible = true;
                    }
                    else
                    {
                        pnlNotificacaoEnvio.Visible = false;
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao, "Nenhuma Informação Encontrada");
                    }
                }
                catch (AcademicoException ex)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message);
                }
            }
        }