protected void LoadSession(SYS_Usuario entityUsuario)
        {
            __SessionWEB.__UsuarioWEB.Usuario = entityUsuario;

            System.Web.Configuration.PagesSection pagesSection = System.Configuration.ConfigurationManager.GetSection("system.web/pages") as System.Web.Configuration.PagesSection;
            if ((pagesSection != null))
            {
                __SessionWEB.TemaPadraoLogado = CFG_TemaPadraoBO.CarregarPorNome(pagesSection.Theme);
            }

            // Armazena o cid_id referente a entidade do usuário na Session
            Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id);
            SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id
            };

            SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

            END_Endereco entityEndereco = new END_Endereco {
                end_id = entityEntidadeEndereco.end_id
            };

            END_EnderecoBO.GetEntity(entityEndereco);
            __SessionWEB._cid_id = entityEndereco.cid_id;

            // Armazena o nome da pessoa ou o login do usuário na Session
            PES_Pessoa EntityPessoa = new PES_Pessoa {
                pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
            };

            PES_PessoaBO.GetEntity(EntityPessoa);
            __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome;
        }
示例#2
0
    private void _CarregarPessoa(Guid pes_id)
    {
        PES_Pessoa pessoa = new PES_Pessoa();

        pessoa.pes_id    = pes_id;
        _txtPes_id.Value = pes_id.ToString();
        PES_PessoaBO.GetEntity(pessoa);
        _txtPessoa.Text = pessoa.pes_nome;
    }
示例#3
0
        private void LoadSession(SYS_Usuario entityUsuario)
        {
            __SessionWEB.__UsuarioWEB.Usuario     = entityUsuario;
            __SessionWEB.__UsuarioWEB.responsavel = RadioButtonList1.SelectedIndex == 1;
            if (__SessionWEB.__UsuarioWEB.responsavel)
            {
                SYS_Usuario entityUsuarioAluno = new SYS_Usuario
                {
                    ent_id = UCComboEntidade1.Valor
                    ,
                    usu_login = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) + txtLogin.Text
                };

                SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuarioAluno);
                __SessionWEB.__UsuarioWEB.pes_idAluno = entityUsuarioAluno.pes_id;
            }

            // Carrega grupos do usuário
            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB.AreaAlunoSistemaID);

            // Verifica se foi carregado os grupos do usuário
            if (list.Count > 0)
            {
                __SessionWEB.__UsuarioWEB.Grupo = list[0];
            }
            else
            {
                throw new ValidationException("Não foi possível atender a solicitação, nenhum grupo de usuário encontrado.");
            }

            // Armazena o cid_id referente a entidade do usuário na Session
            Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(__SessionWEB.__UsuarioWEB.Usuario.ent_id);
            SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id, ene_id = ene_id
            };

            SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

            END_Endereco entityEndereco = new END_Endereco {
                end_id = entityEntidadeEndereco.end_id
            };

            END_EnderecoBO.GetEntity(entityEndereco);
            __SessionWEB._cid_id = entityEndereco.cid_id;

            // Armazena o nome da pessoa ou o login do usuário na Session
            PES_Pessoa EntityPessoa = new PES_Pessoa {
                pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
            };

            PES_PessoaBO.GetEntity(EntityPessoa);
            __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(EntityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : EntityPessoa.pes_nome;
        }
示例#4
0
    protected void _grvPessoa_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Associar")
        {
            int    index    = int.Parse(e.CommandArgument.ToString());
            Guid   pes_id   = new Guid(_grvPessoa.DataKeys[index].Values[0].ToString());
            string pes_nome = ((Label)_grvPessoa.Rows[index].FindControl("_lblNome")).Text;
            string data     = ((Label)_grvPessoa.Rows[index].FindControl("_lblData")).Text;
            string cpf      = ((Label)_grvPessoa.Rows[index].FindControl("_lblCPF")).Text;
            string rg       = ((Label)_grvPessoa.Rows[index].FindControl("_lblRG")).Text;

            _AssociarPessoa(pes_id, pes_nome, data, cpf, rg);
            _CarregarGridAssociarPessoa();
        }
        else if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid pes_id = new Guid(_grvPessoa.DataKeys[index].Values[0].ToString());

                if (!_VerificaExistenciaPessoa(pes_id))
                {
                    PES_Pessoa entityPessoa = new PES_Pessoa {
                        pes_id = pes_id
                    };
                    PES_PessoaBO.GetEntity(entityPessoa);

                    if (PES_PessoaBO.Delete(entityPessoa, null))
                    {
                        _grvPessoa.PageIndex = 0;
                        _grvPessoa.DataBind();
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "pes_id: " + pes_id);
                        _lblMessage.Text = UtilBO.GetErroMessage("Pessoa excluída com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir a pessoa.", UtilBO.TipoMensagem.Erro);
                    }
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Pessoa não pode ser excluída, pois está preparada para associação. Remover pessoa da associação.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
示例#5
0
        /// <summary>
        /// Decrementa a integridade da pessoa, e exclui ela caso a integridade fique 0.
        /// </summary>
        /// <param name="bancoCore">Transação - obrigatório</param>
        /// <param name="entPessoa">entidade da Pessoa</param>
        private static void DecrementaIntegridadePessoa(TalkDBTransaction bancoCore, PES_Pessoa entPessoa)
        {
            entPessoa.pes_integridade--;
            PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_id, bancoCore);

            if (entPessoa.pes_integridade <= 0)
            {
                // Se integridade for 0 - excluir pessoa.
                PES_PessoaBO.Delete(entPessoa, bancoCore);
                PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_idFiliacaoMae, bancoCore);
                PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_idFiliacaoPai, bancoCore);
            }
        }
示例#6
0
    protected void btnExcluir_Click(object sender, EventArgs e)
    {
        try
        {
            CFG_Arquivo entArquivo = PES_PessoaBO.RetornaFotoPor_Pessoa(_VS_pes_id);
            if (entArquivo.IsNew && _iptFoto.PostedFile != null)
            {
                entArquivo = CFG_ArquivoBO.CriarEntidadeArquivo(_iptFoto.PostedFile);
            }

            _VS_excluir_foto = (byte)(ACA_AlunoBO.ExcluirFotoAluno(_VS_pes_id, entArquivo.arq_id) ? 1 : 2);

            string script = String.Format("RemoveConfirmDialogButton('{0}');", String.Concat("#", btnCapturaFoto.ClientID));
            btnCapturaFoto.OnClientClick = script;
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar excluir foto.", UtilBO.TipoMensagem.Erro);
        }
    }
示例#7
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        /// <author>juliano.real</author>
        /// <datetime>12/10/2013-09:20</datetime>
        /// <exception cref="System.ComponentModel.DataAnnotations.ValidationException">Usuário não autorizado a exibir o area aluno.</exception>
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                String sMensagemLog = "";

                divResponsavel.Visible = __SessionWEB.__UsuarioWEB.responsavel;

                Int64 alu_id     = 0;
                long  arq_idFoto = 0;
                if (__SessionWEB.__UsuarioWEB.responsavel && __SessionWEB.__UsuarioWEB.alu_id > 0)
                {
                    alu_id = __SessionWEB.__UsuarioWEB.alu_id;
                    PES_Pessoa pesAluno = new PES_Pessoa {
                        pes_id = __SessionWEB.__UsuarioWEB.pes_idAluno
                    };
                    PES_PessoaBO.GetEntity(pesAluno);
                    arq_idFoto = pesAluno.arq_idFoto;
                }
                else if (__SessionWEB.__UsuarioWEB.responsavel)
                {
                    alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.pes_idAluno);
                    PES_Pessoa pesAluno = new PES_Pessoa {
                        pes_id = __SessionWEB.__UsuarioWEB.pes_idAluno
                    };
                    PES_PessoaBO.GetEntity(pesAluno);
                    arq_idFoto = pesAluno.arq_idFoto;
                }
                else
                {
                    alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.Usuario.pes_id);
                    PES_Pessoa pesAluno = new PES_Pessoa {
                        pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
                    };
                    PES_PessoaBO.GetEntity(pesAluno);
                    arq_idFoto = pesAluno.arq_idFoto;
                }

                if (alu_id <= 0)
                {
                    sMensagemLog = "Usuário não autorizado a exibir Area do Aluno: usu_id: " + __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString();
                    throw new ValidationException("Usuário não autorizado a exibir o Area do Aluno.");
                }

                ACA_Aluno entityAluno = ACA_AlunoBO.GetEntity(new ACA_Aluno {
                    alu_id = alu_id
                });
                bool boletimBloqueado           = false;
                bool compromissoEstudoBloqueado = !ACA_TipoCicloBO.VerificaSeExibeCompromissoAluno(alu_id);

                if (entityAluno.alu_possuiInformacaoSigilosa && entityAluno.alu_bloqueioBoletimOnline)
                {
                    if (__SessionWEB.__UsuarioWEB.responsavel)
                    {
                        Fieldset2.Visible            = true;
                        lblBoletimNaoDisponivel.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("AreaAluno", "Index.lblBoletimNaoDisponivel.Text").ToString(), UtilBO.TipoMensagem.Informacao);
                        Fieldset1.Visible            = false;
                        return;
                    }
                    else
                    {
                        boletimBloqueado = true;
                    }
                }

                if (arq_idFoto > 0)
                {
                    string      imagem  = "";
                    CFG_Arquivo arquivo = new CFG_Arquivo {
                        arq_id = arq_idFoto
                    };
                    CFG_ArquivoBO.GetEntity(arquivo);
                    byte[] bufferData = arquivo.arq_data;

                    using (MemoryStream stream = new MemoryStream(bufferData))
                    {
                        System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
                        imagem = Convert.ToBase64String(stream.ToArray());
                    }

                    imgFotoAluno.ImageUrl = "data:" + arquivo.arq_typeMime + ";base64," + imagem;
                }

                DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);

                if (dtCurriculo.Rows.Count <= 0)
                {
                    sMensagemLog = "Aluno não possui dados para a Area do Aluno: alu_id: " + alu_id.ToString();
                    throw new ValidationException("Aluno não possui dados para a Area do Aluno.");
                }

                string nomeAluno         = dtCurriculo.Rows[0]["pes_nome"].ToString();
                string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString();
                string numeroMatricula   = dtCurriculo.Rows[0]["alc_matricula"].ToString();

                //Nome Aluno
                lblInformacaoAluno.Text = "Aluno: <b>" + nomeAluno + "</b><br/>";

                //Matricula
                if (!string.IsNullOrEmpty(ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id)))
                {
                    if (!string.IsNullOrEmpty(matriculaEstadual))
                    {
                        lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoMatriculaEstadual(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": " + "</b>" + matriculaEstadual + "&nbsp;&nbsp;&nbsp;";
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(numeroMatricula))
                    {
                        lblInformacaoAluno.Text += GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": <b>" + numeroMatricula + "</b>" + "&nbsp;&nbsp;&nbsp;";
                    }
                }

                __SessionWEB.__UsuarioWEB.alu_id = Convert.ToInt64(dtCurriculo.Rows[0]["alu_id"].ToString());
                __SessionWEB.__UsuarioWEB.esc_id = Convert.ToInt32(dtCurriculo.Rows[0]["esc_id"].ToString());
                __SessionWEB.__UsuarioWEB.uni_id = Convert.ToInt32(dtCurriculo.Rows[0]["uni_id"].ToString());
                __SessionWEB.__UsuarioWEB.mtu_id = Convert.ToInt32(dtCurriculo.Rows[0]["mtu_id"].ToString());
                __SessionWEB.__UsuarioWEB.tpc_id = Convert.ToInt32(string.IsNullOrEmpty(dtCurriculo.Rows[0]["tpc_id"].ToString()) ? "-1" : dtCurriculo.Rows[0]["tpc_id"].ToString());

                int mod_id = GetModuloId;

                string menuXml = SYS_ModuloBO.CarregarSiteMapXML2(
                    __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                    __SessionWEB.__UsuarioWEB.Grupo.sis_id,
                    __SessionWEB.__UsuarioWEB.Grupo.vis_id,
                    mod_id
                    );
                if (String.IsNullOrEmpty(menuXml))
                {
                    menuXml = "<menus/>";
                }
                menuXml = menuXml.Replace("url=\"~/", String.Concat("url=\"", ApplicationWEB._DiretorioVirtual));

                // Verifica se o aluno está com o boletim bloqueado. Se estiver, retiro do menu.
                int indiceBoletim = menuXml.IndexOf("<menu id=\"Boletim");
                if (boletimBloqueado && indiceBoletim >= 0)
                {
                    menuXml = menuXml.Remove(indiceBoletim, menuXml.IndexOf("/>", indiceBoletim) - indiceBoletim + 2);
                }

                IDictionary <string, ICFG_Configuracao> configuracao;
                MSTech.GestaoEscolar.BLL.CFG_ConfiguracaoBO.Consultar(eConfig.Academico, out configuracao);
                if (configuracao.ContainsKey("AppURLAreaAlunoInfantil") && !string.IsNullOrEmpty(configuracao["AppURLAreaAlunoInfantil"].cfg_valor))
                {
                    string url            = HttpContext.Current.Request.Url.AbsoluteUri;
                    string configInfantil = configuracao["AppURLAreaAlunoInfantil"].cfg_valor;

                    if (url.Contains(configInfantil))
                    {
                        menuXml = menuXml.Replace("menu id=\"Boletim Online\"", "menu id=\"" + (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimInfantil") + "\"");
                    }
                }

                // Verifica se o aluno está com o compromisso estudo bloqueado. Se estiver, retiro do menu.
                int indiceCompromissoEstudo = menuXml.IndexOf("<menu id=\"Compromisso de Estudo");
                if (compromissoEstudoBloqueado && indiceCompromissoEstudo >= 0)
                {
                    menuXml = menuXml.Remove(indiceCompromissoEstudo, menuXml.IndexOf("/>", indiceCompromissoEstudo) - indiceCompromissoEstudo + 2);
                }

                XmlTextReader        reader  = new XmlTextReader(new StringReader(menuXml));
                XPathDocument        treeDoc = new XPathDocument(reader);
                XslCompiledTransform siteMap = new XslCompiledTransform();

                if (__SessionWEB.__UsuarioWEB.responsavel)
                {
                    siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapResponsavel.xslt"));
                }
                else
                {
                    siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMap.xslt"));
                }

                StringWriter sw = new StringWriter();
                siteMap.Transform(treeDoc, null, sw);
                string result = sw.ToString();

                List <CFG_ModuloClasse> lstModClasse = CFG_ModuloClasseBO.SelecionaAtivos(ApplicationWEB.AreaAlunoSistemaID);

                if (lstModClasse.Any())
                {
                    //Carrega a lista de link e moduloId
                    Dictionary <string, string> linkModulo = new Dictionary <string, string>();
                    string[] linkMenusXml = menuXml.Split(new[] { "<menu id=\"" }, StringSplitOptions.None);
                    if (linkMenusXml.Length > 0)
                    {
                        bool primeiroItem = true;
                        foreach (string item in linkMenusXml)
                        {
                            if (!primeiroItem)
                            {
                                string link   = item.Substring(item.IndexOf("url=\"") + 5, item.Substring(item.IndexOf("url=\"") + 5).IndexOf("\""));
                                string modulo = item.Substring(0, item.IndexOf("\""));
                                linkModulo.Add(link, modulo);
                            }
                            primeiroItem = false;
                        }
                    }

                    //Carrega a lista de link e classe css atual
                    Dictionary <string, string> linkClasse = new Dictionary <string, string>();
                    string[] linkMenus = result.Split(new[] { "<li class=\"txtSubMenu\"><a " }, StringSplitOptions.None);
                    if (linkMenus.Length > 0)
                    {
                        bool primeiroItem = true;
                        foreach (string item in linkMenus)
                        {
                            if (!primeiroItem)
                            {
                                string link   = item.Substring(item.IndexOf("href=\"") + 6, item.Substring(item.IndexOf("href=\"") + 6).IndexOf("\""));
                                string classe = item.Substring(item.IndexOf("class=\"") + 7, item.Substring(item.IndexOf("class=\"") + 7).IndexOf("\""));
                                linkClasse.Add(link, "class=\"" + classe + "\" " + "href=\"" + link);
                            }
                            primeiroItem = false;
                        }
                    }

                    //Troca a classe css atual do link conforme o que está configurado na tabela filtrando pelo modulo
                    if (linkModulo.Count > 0 && linkClasse.Count > 0)
                    {
                        foreach (var item in linkClasse)
                        {
                            string modulo = linkModulo[item.Key];
                            if (!string.IsNullOrEmpty(modulo) && lstModClasse.Any(p => p.mod_nome == modulo))
                            {
                                string classeCfg = lstModClasse.Where(p => p.mod_nome == modulo).FirstOrDefault().mdc_classe;
                                if (!string.IsNullOrEmpty(classeCfg))
                                {
                                    result = result.Replace(item.Value, "class=\"link " + classeCfg + "\" " + "href=\"" + item.Key);
                                }
                            }
                        }
                    }
                }

                //Control ctrl = Page.ParseControl(result);
                _lblSiteMap.Text = result;

                if (!string.IsNullOrEmpty(ApplicationWEB.UrlAcessoExternoBoletimOnline))
                {
                    string[] crp_ordem = ApplicationWEB.Crp_ordem_AcessoExternoBoletimOnline;
                    // Só exibe o ícone caso o aluno esteja em alguma das séries parametrizadas.
                    if (crp_ordem.Contains(dtCurriculo.Rows[0]["crp_ordem"].ToString()))
                    {
                        // Seta um nó de menu para acesso ao site externo.
                        ulItemAcessoExterno.Visible     = true;
                        lblAcessoExterno.Text           = GetGlobalResourceObject("AreaAluno", "Index.lblAcessoExternoNome").ToString();
                        lnkAcessoExterno.HRef           = ApplicationWEB.UrlAcessoExternoBoletimOnline;
                        h2TituloAcessoExterno.InnerHtml = GetGlobalResourceObject("AreaAluno", "Index.lblAcessoExternoNome").ToString();
                    }
                }

                sMensagemLog = "Area do Aluno exibida para aluno: alu_id: " + alu_id.ToString();
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Query, sMensagemLog);
            }
            catch (ValidationException ex)
            {
                lblMessage.Text       = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                btnVoltar.PostBackUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx";
                btnVoltar.Visible     = true;
                divInformacao.Visible = false;
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text       = UtilBO.GetErroMessage("Erro ao exibir a Area do aluno", UtilBO.TipoMensagem.Erro);
                btnVoltar.PostBackUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx";
                btnVoltar.Visible     = true;
                divInformacao.Visible = false;
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
示例#8
0
        public HttpResponseMessage PostLogin(Usuario usuario)
        {
            try
            {
                var user = new SYS_Usuario {
                    usu_login = usuario.login, usu_senha = usuario.senha, ent_id = usuario.entidade
                };
                LoginStatus status = SYS_UsuarioBO.ValidarLogin(user);

                if (status == LoginStatus.Sucesso)
                {
                    if (SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(user))
                    {
                        var grupos = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(user.usu_id, ApplicationWEB.SistemaID);
                        if (grupos.Count > 0)
                        {
                            var grupo = grupos.First();
                            Dictionary <string, object> dic = new Dictionary <string, object>();
                            dic.Add("login", user.usu_login);
                            dic.Add("entity", user.ent_id);
                            dic.Add("group", grupo.gru_id);

                            var jwtKey            = System.Configuration.ConfigurationManager.AppSettings["jwtKey"];
                            SymmetricAlgorithm sa = new SymmetricAlgorithm(SymmetricAlgorithm.Tipo.TripleDES);

                            PES_Pessoa entityPessoa = new PES_Pessoa {
                                pes_id = user.pes_id
                            };
                            PES_PessoaBO.GetEntity(entityPessoa);

                            bool docente = false;
                            if (grupo.vis_id == SysVisaoID.Individual)
                            {
                                // Carrega a entidade docente de acordo com a pessoa do usuário logado.
                                ACA_Docente entityDocente;
                                ACA_DocenteBO.GetSelectBy_Pessoa(user.ent_id, user.pes_id, out entityDocente);
                                docente = entityDocente.doc_id > 0;
                            }

                            UsuarioLogado usuarioLogado = new UsuarioLogado {
                                grupo   = grupos.First().gru_nome,
                                nome    = (string.IsNullOrEmpty(entityPessoa.pes_nome) ? user.usu_login : entityPessoa.pes_nome),
                                docente = docente,
                                token   = JWT.JsonWebToken.Encode(dic, sa.Decrypt(jwtKey), JWT.JwtHashAlgorithm.HS256)
                            };

                            return(Request.CreateResponse(HttpStatusCode.OK, usuarioLogado));
                        }
                        else
                        {
                            return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário não está vinculado a um grupo"));
                        }
                    }
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário não encontrado"));
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Usuário ou senha inválidos"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
示例#9
0
    /// <summary>
    /// Metodo atribui a label informações sobre aluno(nome, escola, curso, ano, matricula, turma, avaliação, nºchamada).
    /// </summary>
    /// <param name="alu_id">ID do aluno</param>
    /// <param name="dtCurriculo">Último currículo do aluno (parâmetro opcional)</param>
    public void InformacaoComplementarAluno(long alu_id, DataTable dtCurriculo = null, bool documentoOficial = false)
    {
        try
        {
            if (alu_id > 0)
            {
                ACA_Aluno  entityAluno  = new ACA_Aluno();
                PES_Pessoa entityPessoa = new PES_Pessoa();

                // Carrega entidade ACA_Aluno
                entityAluno.alu_id = alu_id;
                ACA_AlunoBO.GetEntity(entityAluno);

                // Carrega entidade PES_Pessoa
                entityPessoa.pes_id = entityAluno.pes_id;
                PES_PessoaBO.GetEntity(entityPessoa);

                eExibicaoNomePessoa exibicaoNome = documentoOficial ? eExibicaoNomePessoa.NomeSocial | eExibicaoNomePessoa.NomeRegistro : eExibicaoNomePessoa.NomeSocial;

                string nomeAluno = entityPessoa.NomeFormatado(exibicaoNome);
                string turno     = string.Empty;
                Guid   ent_id    = __SessionWEB.__UsuarioWEB.Usuario.ent_id;

                bool paramOrdenar = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, ent_id);

                //Nome
                lblInformacaoAluno.Text = "<b>Nome do aluno: </b>" + nomeAluno + "<br/>";

                //Idade
                if (entityPessoa.pes_dataNascimento != new DateTime() && entityPessoa.pes_dataNascimento < DateTime.Today)
                {
                    string dataExtenso = GestaoEscolarUtilBO.DiferencaDataExtenso(entityPessoa.pes_dataNascimento, DateTime.Today);
                    if (!string.IsNullOrEmpty(dataExtenso))
                    {
                        lblInformacaoAluno.Text += "<b>Idade: </b>" + dataExtenso + "<br/>";
                    }
                }

                // Caso estiver sendo chamada da tela de cadastro de aluno, o datatable com a ultima matricula já virá preenchido
                if (dtCurriculo == null)
                {
                    dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);
                }

                if (dtCurriculo.Rows.Count > 0)
                {
                    #region Carrega os dados

                    Esc_id = (string.IsNullOrEmpty(dtCurriculo.Rows[0]["esc_id"].ToString())) ? -1 : Convert.ToInt32(dtCurriculo.Rows[0]["esc_id"]);
                    string nomeEscola        = dtCurriculo.Rows[0]["esc_nome"].ToString();
                    string codigoEscola      = dtCurriculo.Rows[0]["esc_codigo"].ToString();
                    string cursoNome         = dtCurriculo.Rows[0]["cur_nome"].ToString();
                    string descricaoPeriodo  = dtCurriculo.Rows[0]["crp_descricao"].ToString();
                    string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString();
                    string numeroMatricula   = dtCurriculo.Rows[0]["alc_matricula"].ToString();
                    string turmaCodigo       = dtCurriculo.Rows[0]["tur_codigo"].ToString();
                    string mtu_numeroChamada = dtCurriculo.Rows[0]["mtu_numeroChamada"].ToString();
                    string nomeAvaliacao     = dtCurriculo.Rows[0]["crp_nomeAvaliacao"].ToString();
                    string numeroAvaliacao   = dtCurriculo.Rows[0]["tca_numeroAvaliacao"].ToString();
                    string cal_ano           = dtCurriculo.Rows[0]["cal_ano"].ToString();
                    turno = dtCurriculo.Rows[0]["ttn_nome"].ToString();

                    #endregion Carrega os dados

                    //Escola

                    lblInformacaoAluno.Text += "<b>Escola: </b>";
                    lblInformacaoAluno.Text += (paramOrdenar ? codigoEscola + " - " : "") + nomeEscola + "<br/>";

                    if (!HistoricoEscolar)
                    {
                        //Curso
                        lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoCurso(ent_id) + ": </b>" + cursoNome;


                        //Periodo
                        lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(ent_id) + ": </b>" + descricaoPeriodo + "<br/>";

                        //Matricula
                        if (!string.IsNullOrEmpty(ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, ent_id)))
                        {
                            if (!string.IsNullOrEmpty(matriculaEstadual))
                            {
                                lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoMatriculaEstadual(ent_id) + ": " + "</b>" + matriculaEstadual + "&nbsp;&nbsp;&nbsp;";
                            }
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(numeroMatricula))
                            {
                                lblInformacaoAluno.Text += "<b> " + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + numeroMatricula + "&nbsp;&nbsp;&nbsp;";
                            }
                        }

                        //Turma
                        lblInformacaoAluno.Text += "<b>Turma: </b>" + turmaCodigo;

                        if (!string.IsNullOrEmpty(turno))
                        {
                            //Turno
                            lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>Turno: </b>" + turno;
                        }

                        //Avaliação
                        if (!string.IsNullOrEmpty(nomeAvaliacao) && !string.IsNullOrEmpty(numeroAvaliacao))
                        {
                            lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>" + nomeAvaliacao + ": </b>" + numeroAvaliacao;
                        }
                    }
                    else
                    {
                        //Turma
                        lblInformacaoAluno.Text += "<b>Ciclo de alfabetização: </b>" + turmaCodigo + "<br/>";

                        //Ano
                        lblInformacaoAluno.Text += "<b>Ano: </b>" + cal_ano;
                    }

                    //Número de chamada
                    int numeroChamada;
                    Int32.TryParse(mtu_numeroChamada, out numeroChamada);

                    if (numeroChamada > 0)
                    {
                        lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>Nº chamada: </b>" + mtu_numeroChamada;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            __SessionWEB.PostMessages = UtilBO.GetErroMessage("Erro ao tentar carregar as informações do aluno.", UtilBO.TipoMensagem.Erro);
        }
    }
示例#10
0
        /// <summary>
        /// Carrega as informações do aluno que serão mostradas na tela.
        /// </summary>
        private void LoadInformacoesAluno()
        {
            try
            {
                ACA_Aluno  alu = new ACA_Aluno();
                PES_Pessoa pes = new PES_Pessoa();
                PES_Pessoa mae = new PES_Pessoa();

                if (_VS_alu_id > 0)
                {
                    alu.alu_id = _VS_alu_id;
                    ACA_AlunoBO.GetEntity(alu);

                    if (alu.ent_id != Ent_id)
                    {
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage("O aluno não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta);

                        Response.Redirect("Busca.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }

                    pes.pes_id = alu.pes_id;
                    PES_PessoaBO.GetEntity(pes);

                    mae.pes_id = pes.pes_idFiliacaoMae;
                    PES_PessoaBO.GetEntity(mae);
                }

                lblNome.Text           += pes.NomeFormatado(VS_exibicaoNomePessoa) + "<br />";
                lblDataNascimento.Text += (Convert.ToDateTime(pes.pes_dataNascimento).ToShortDateString()) + "<br />";
                string nomeMae = String.IsNullOrEmpty(mae.pes_nome) ? "-" : mae.pes_nome;
                lblNomeMae.Text       += nomeMae + "<br />";
                lblDataCadastro.Text  += (Convert.ToDateTime(pes.pes_dataCriacao).ToShortDateString()) + "<br />";
                lblDataAlteracao.Text += (Convert.ToDateTime(pes.pes_dataAlteracao).ToShortDateString()) + "<br />";
                lblSituacao.Text      += situacao(alu.alu_situacao) + "<br />";

                DataTable matricula = VS_mtu_id >= 0 ? MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAlunoMtu(_VS_alu_id, VS_mtu_id) : MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAluno(_VS_alu_id);

                if (matricula.Rows.Count > 0)
                {
                    if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
                    {
                        lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_codigo"] + " - " + matricula.Rows[0]["esc_nome"] + "<br />";
                    }
                    else
                    {
                        lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_nome"] + "<br />";
                    }

                    lblCurso.Text   = String.IsNullOrEmpty(matricula.Rows[0]["cur_nome"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["cur_nome"] + "<br />";
                    lblPeriodo.Text = String.IsNullOrEmpty(matricula.Rows[0]["crp_descricao"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["crp_descricao"] + "<br />";

                    lblTurma.Text += String.IsNullOrEmpty(matricula.Rows[0]["tur_codigo"].ToString()) ? " - <br />" : matricula.Rows[0]["tur_codigo"] + "<br />";

                    if (string.IsNullOrEmpty(matricula.Rows[0]["crp_nomeAvaliacao"].ToString()))
                    {
                        lblAvaliacao.Visible = false;
                    }
                    else
                    {
                        lblAvaliacao.Text    = "<b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + ": </b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + " " + matricula.Rows[0]["tca_numeroAvaliacao"] + "<BR />";
                        lblAvaliacao.Visible = true;
                    }
                    if (!String.IsNullOrEmpty(matricula.Rows[0]["mtu_numeroChamada"].ToString()))
                    {
                        if (Convert.ToInt32(matricula.Rows[0]["mtu_numeroChamada"]) > 0)
                        {
                            lblNChamada.Text += matricula.Rows[0]["mtu_numeroChamada"] + "<br />";
                        }
                        else
                        {
                            lblNChamada.Text += " - <br />";
                        }
                    }
                    else
                    {
                        lblNChamada.Text += " - <br />";
                    }


                    string matriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    if (!String.IsNullOrEmpty(matriculaEstadual))
                    {
                        string mtrEstadual = String.IsNullOrEmpty(matricula.Rows[0]["alc_matriculaEstadual"].ToString()) ? "-" : matricula.Rows[0]["alc_matriculaEstadual"].ToString();
                        lblRA.Text    = "<b>" + matriculaEstadual + ": </b>" + mtrEstadual + "<br />";
                        lblRA.Visible = true;
                    }
                    else
                    {
                        string mtr = String.IsNullOrEmpty(matricula.Rows[0]["alc_matricula"].ToString()) ? "-" : matricula.Rows[0]["alc_matricula"].ToString();
                        lblRA.Text    = "<b>" + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + mtr + "<br />";
                        lblRA.Visible = true;
                    }

                    //Carrega nas propriedades os ids: Escola, Curso, Turma
                    VS_cur_id  = Convert.ToInt32(matricula.Rows[0]["cur_id"]);
                    VS_esc_id  = Convert.ToInt32(matricula.Rows[0]["esc_id"]);
                    VS_tur_id  = Convert.ToInt32(matricula.Rows[0]["tur_id"]);
                    VS_cal_id  = Convert.ToInt32(matricula.Rows[0]["cal_id"]);
                    VS_cal_ano = Convert.ToInt32(matricula.Rows[0]["cal_ano"]);
                }
                else
                {
                    lblEscola.Visible    = false;
                    lblCurso.Visible     = false;
                    lblPeriodo.Visible   = false;
                    lblTurma.Visible     = false;
                    lblNChamada.Visible  = false;
                    lblRA.Visible        = false;
                    lblAvaliacao.Visible = false;
                }

                if (FitroCalendario)
                {
                    ddlAnoCalendario.Items.Clear();
                    odsAnoCalendario.SelectParameters.Add("alu_id", _VS_alu_id.ToString());
                    ddlAnoCalendario.DataBind();

                    int cal_id = -1;
                    int max    = -1;
                    //Pega o calendário do ano atual ou o último ano que o aluno possui anotação.
                    foreach (ListItem lst in ddlAnoCalendario.Items)
                    {
                        if (Convert.ToInt32(lst.Text) == DateTime.Today.Year)
                        {
                            cal_id = Convert.ToInt32(lst.Value);
                            break;
                        }
                        else if (Convert.ToInt32(lst.Text) > max)
                        {
                            cal_id = Convert.ToInt32(lst.Value);
                            max    = Convert.ToInt32(lst.Text);
                        }
                    }
                    ddlAnoCalendario.SelectedValue = cal_id.ToString();

                    if (ddlAnoCalendario.Items.Count == 0)
                    {
                        ddlAnoCalendario.Visible = false;
                        lblAnoCalendario.Visible = false;
                    }
                }
                else
                {
                    divAnoCalendario.Visible = false;
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar dados do aluno.", UtilBO.TipoMensagem.Erro);
            }
        }
示例#11
0
        /// <summary>
        /// Verifica se a Session do usuário está nula,
        /// se estiver verifica o FormsIdentity e carrega a Session
        /// </summary>
        private void GetFormsIdentityLoadSession()
        {
            try
            {
                if (HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    //var identity = HttpContext.Current.User.Identity as FormsIdentity;
                    //if (identity != null)
                    //{
                    var identity = HttpContext.Current.User.Identity;
                    var entityId = identity.GetEntityId();
                    var usuLogin = identity.GetUsuLogin();
                    if (identity != null && entityId != null && usuLogin != null)
                    {
                        //    // Recupera Ticket de autenticação gravado em Cookie
                        //    FormsIdentity id = identity;
                        //FormsAuthenticationTicket ticket = id.Ticket;

                        // Carrega usuário na session através do ticket de authenticação
                        __SessionWEB.__UsuarioWEB.Usuario = new SYS_Usuario
                        {
                            ent_id    = new Guid(entityId),
                            usu_login = usuLogin
                        };
                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(__SessionWEB.__UsuarioWEB.Usuario);

                        // Carrega grupo na session através do ticket de autenticação
                        var gru_id = identity.GetGrupoId();
                        if (!string.IsNullOrEmpty(gru_id))
                        {
                            __SessionWEB.__UsuarioWEB.Grupo = SYS_GrupoBO.GetEntity(new SYS_Grupo {
                                gru_id = new Guid(gru_id)
                            });
                        }
                        else
                        {
                            // Carrega grupos do usuário
                            IList <SYS_Grupo> list = SYS_GrupoBO.GetSelectBySis_idAndUsu_id(
                                __SessionWEB.__UsuarioWEB.Usuario.usu_id
                                , ApplicationWEB.SistemaID);

                            // Verifica se foi carregado os grupos do usuário
                            if (list.Count > 0)
                            {
                                // Seleciona o primeiro grupo do usuário logado para carregar na Session
                                __SessionWEB.__UsuarioWEB.Grupo = list[0];

                                DataTable dtUaPermissao = ESC_EscolaBO.RetornaUAPermissaoUsuarioGrupo(__SessionWEB.__UsuarioWEB.Usuario.usu_id, ApplicationWEB._EntidadeID, __SessionWEB.__UsuarioWEB.Grupo.gru_id);
                                if (dtUaPermissao.Rows.Count > 0)
                                {
                                    int esc_id;
                                    Int32.TryParse(dtUaPermissao.Rows[0]["esc_id"].ToString(), out esc_id);
                                    __SessionWEB.__UsuarioWEB.Esc_idPermissao = esc_id;

                                    //Caso não tenha escola, significa que o usuário possui permissão de Gestão
                                    if (esc_id == 0)
                                    {
                                        if (!string.IsNullOrEmpty(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString()))
                                        {
                                            __SessionWEB.__UsuarioWEB.Uad_idSuperiorPermissao = new Guid(dtUaPermissao.Rows[0]["uad_idSuperior"].ToString());
                                        }
                                    }
                                }
                            }
                        }
                        // Carrega o cid_id na session referente a entidade do usuário autenticado
                        Guid ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id;
                        Guid ene_id = SYS_EntidadeEnderecoBO.Select_ene_idBy_ent_id(ent_id);

                        SYS_EntidadeEndereco entityEntidadeEndereco = new SYS_EntidadeEndereco {
                            ent_id = ent_id, ene_id = ene_id
                        };
                        SYS_EntidadeEnderecoBO.GetEntity(entityEntidadeEndereco);

                        END_Endereco entityEndereco = new END_Endereco {
                            end_id = entityEntidadeEndereco.end_id
                        };
                        END_EnderecoBO.GetEntity(entityEndereco);

                        __SessionWEB._cid_id = entityEndereco.cid_id;

                        // Carrega nome ou login na session do usuário autenticado
                        PES_Pessoa entityPessoa = new PES_Pessoa {
                            pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
                        };
                        PES_PessoaBO.GetEntity(entityPessoa);
                        __SessionWEB.UsuarioLogado = string.IsNullOrEmpty(entityPessoa.pes_nome) ? __SessionWEB.__UsuarioWEB.Usuario.usu_login : entityPessoa.pes_nome;

                        LoadSessionSistema();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
            }
        }
示例#12
0
        /// <summary>
        /// Override do Save passando o banco - salva tambem a tabela CLS_CompensacaoAusenciaAluno
        /// </summary>
        /// <param name="entity">Entidade a ser salva</param>
        /// <param name="lista">Lista de CLS_CompensacaoAusenciaAluno a ser salva</param>
        /// <param name="fechamentoAutomatico">Indica se o fechamento é automático.</param>
        /// <param name="banco">Transação com banco</param>
        /// <returns>Se salvou com sucesso</returns>
        public static bool Save(CLS_CompensacaoAusencia entity, List <CLS_CompensacaoAusenciaAluno> lista, bool fechamentoAutomatico, int cal_id, TalkDBTransaction banco)
        {
            // permite cadatrar compensacao apenas para o ultimo periodo aberto,
            // o metodo ja retorna os periodos abertos ordenados do mais recente para o mais antigo
            List <sComboPeriodoCalendario> dtPeriodos = ACA_TipoPeriodoCalendarioBO.SelecionaPor_PeriodoVigente_EventoEfetivacaoVigente(-1, entity.tud_id, -1, Guid.Empty, true);

            if (dtPeriodos.Count > 0 && dtPeriodos.Any(p => p.tpc_id == entity.tpc_id))
            {
                //validacoes
                DataTable dt = MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusencia(
                    entity.tud_id,
                    entity.tpc_id,
                    0,
                    entity.cpa_id
                    );
                dt.PrimaryKey = new DataColumn[1] {
                    dt.Columns["alu_id"]
                };

                TUR_TurmaDisciplina turmaDisciplina = TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina {
                    tud_id = entity.tud_id
                });
                // se for disciplina especial
                if (turmaDisciplina.tud_disciplinaEspecial
                    // e o docente do tipo especial tem permissao de editar a compensacao
                    && CFG_PermissaoDocenteBO.SelecionaPermissaoModulo((byte)EnumTipoDocente.Especial, (byte)EnumModuloPermissao.Compensacoes).Any(p => p.pdc_permissaoEdicao))
                {
                    // adiciono na lista de validacao os aluno especiais
                    DataTable dtEspecial = MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusenciaFiltroDeficiencia(
                        -1,
                        entity.tud_id,
                        entity.tpc_id,
                        0,
                        EnumTipoDocente.Especial,
                        entity.cpa_id);
                    dt.Merge(dtEspecial, false, MissingSchemaAction.AddWithKey);
                }

                bool   valida       = true;
                string msgValidacao = "";

                if (turmaDisciplina.tud_tipo == (byte)TurmaDisciplinaTipo.Experiencia)
                {
                    if (!TUR_TurmaDisciplinaTerritorioBO.VerificaOferecimentoExperienciaBimestre(turmaDisciplina.tud_id, cal_id, entity.tpc_id))
                    {
                        valida        = false;
                        msgValidacao += "A experiência não possui territórios vigentes no bimestre.";
                    }
                }

                // caso exista alguma compensação já criada pro aluno
                // valida se pode existir alguma outra.
                foreach (CLS_CompensacaoAusenciaAluno cpaa in lista)
                {
                    var results = from row in dt.AsEnumerable()
                                  where row.Field <Int64>("alu_id") == cpaa.alu_id
                                  select row;

                    if (results.Count() > 0)
                    {
                        DataTable aux = results.CopyToDataTable();
                        int       totalFaltasCompensar = Convert.ToInt32(aux.Rows[0]["TotalFaltasCompensar"]);
                        if (entity.cpa_quantidadeAulasCompensadas > totalFaltasCompensar)
                        {
                            valida        = false;
                            msgValidacao += String.Format("Aluno(a) {0} não pode ter essa quantidade de ausências compensadas. </br>", aux.Rows[0]["pes_nome"].ToString());
                        }
                    }
                    else
                    {
                        valida = false;
                        ACA_Aluno aluno = ACA_AlunoBO.GetEntity(new ACA_Aluno {
                            alu_id = cpaa.alu_id
                        });
                        PES_Pessoa pes = PES_PessoaBO.GetEntity(new PES_Pessoa {
                            pes_id = aluno.pes_id
                        });
                        msgValidacao += String.Format("Aluno(a) {0} não pode ter ausências compensadas nos bimestres em que não estava na turma. </br>", pes.pes_nome);
                    }
                }
                if (!valida)
                {
                    throw new ValidationException(msgValidacao);
                }

                // Salva CLS_CompensacaoAusencia
                if (!Save(entity, banco))
                {
                    throw new Exception("Erro ao tentar salvar compensação de ausência.");
                }

                // Caso o fechamento seja automático, grava na fila de processamento.
                if (fechamentoAutomatico && entity.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, new Guid()))
                {
                    CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(entity.tud_id, entity.tpc_id, banco);
                }

                List <CLS_CompensacaoAusenciaAluno> listaBanco = CLS_CompensacaoAusenciaAlunoBO.SelectByCpa_id(entity.cpa_id, entity.tud_id);

                foreach (CLS_CompensacaoAusenciaAluno item in lista)
                {
                    CLS_CompensacaoAusenciaAluno ent = listaBanco.Find(p => p.tud_id == item.tud_id &&
                                                                       p.cpa_id == entity.cpa_id &&
                                                                       p.alu_id == item.alu_id &&
                                                                       p.mtd_id == item.mtd_id &&
                                                                       p.mtu_id == item.mtu_id);

                    if (ent != null)
                    {
                        // Achou na lista que vem no banco, altera.
                        ent.IsNew = false;
                        CLS_CompensacaoAusenciaAlunoBO.Save(ent, banco);

                        // Remove o registro da lista do banco para restar somente os que serao excluidos.
                        listaBanco.Remove(ent);
                    }
                    else
                    {
                        // Não achou na lista do banco, inclui.
                        item.cpa_id = entity.cpa_id;
                        CLS_CompensacaoAusenciaAlunoBO.GetEntity(item, banco);
                        if (item.caa_situacao == 3)
                        {
                            item.caa_situacao = 1;
                            item.IsNew        = false;
                        }
                        else
                        {
                            item.IsNew = true;
                        }
                        CLS_CompensacaoAusenciaAlunoBO.Save(item, banco);
                    }
                }

                if (listaBanco.Count > 0)
                {
                    foreach (CLS_CompensacaoAusenciaAluno item in listaBanco)
                    {
                        CLS_CompensacaoAusenciaAlunoBO.Delete(item, banco);
                    }
                }
            }
            else
            {
                throw new ValidationException("Não existe evento de fechamento do bimestre aberto para realizar o lançamento.");
            }
            return(true);
        }
示例#13
0
    private void _CarregarPessoa()
    {
        try
        {
            //Carrega entidade de pessoa
            PES_Pessoa pes = new PES_Pessoa
            {
                pes_id = _VS_pes_id
            };
            PES_PessoaBO.GetEntity(pes);

            _VS_arq_idAntigo = pes.arq_idFoto;

            //_VS_pes_foto = pes.pes_foto;
            UCCadastroPessoa1._imgFoto.ImageUrl = "~/Imagem.ashx?id=" + pes.arq_idFoto;

            CFG_Arquivo entArquivo = new CFG_Arquivo
            {
                arq_id = pes.arq_idFoto
            };
            CFG_ArquivoBO.GetEntity(entArquivo);

            //Exibe imagem caso exista
            if (!entArquivo.IsNew && entArquivo.arq_data.Length > 1)
            {
                System.Drawing.Image img;
                using (MemoryStream ms = new MemoryStream(entArquivo.arq_data, 0, entArquivo.arq_data.Length))
                {
                    ms.Write(entArquivo.arq_data, 0, entArquivo.arq_data.Length);
                    img = System.Drawing.Image.FromStream(ms, true);
                }

                int larguraMaxima = 200;
                int alturaMaxima  = 200;
                int alt;
                int lar;

                decimal proporcaoOriginal = (decimal)((img.Height * 100) / img.Width) / 100;

                if (proporcaoOriginal > 1)
                {
                    proporcaoOriginal = (decimal)((img.Width * 100) / img.Height) / 100;
                    alt = alturaMaxima;
                    lar = Convert.ToInt32(alturaMaxima * proporcaoOriginal);
                }
                else
                {
                    lar = larguraMaxima;
                    alt = Convert.ToInt32(larguraMaxima * proporcaoOriginal);
                }

                UCCadastroPessoa1._imgFoto.Height           = alt;
                UCCadastroPessoa1._imgFoto.Width            = lar;
                UCCadastroPessoa1._imgFoto.Visible          = true;
                UCCadastroPessoa1._chbExcluirImagem.Visible = true;
                UCCadastroPessoa1._chbExcluirImagem.Checked = false;
            }
            else
            {
                UCCadastroPessoa1._imgFoto.Visible          = false;
                UCCadastroPessoa1._chbExcluirImagem.Visible = false;
            }

            UCCadastroPessoa1._VS_pes_id             = pes.pes_id;
            UCCadastroPessoa1._txtNome.Text          = pes.pes_nome;
            UCCadastroPessoa1._txtNomeAbreviado.Text = (!string.IsNullOrEmpty(pes.pes_nome_abreviado) ? pes.pes_nome_abreviado : string.Empty);

            //Exibe cidade naturalidade da pessoa
            if (pes.cid_idNaturalidade != Guid.Empty)
            {
                END_Cidade cid = new END_Cidade
                {
                    cid_id = pes.cid_idNaturalidade
                };
                END_CidadeBO.GetEntity(cid);

                UCCadastroPessoa1._VS_cid_id            = pes.cid_idNaturalidade;
                UCCadastroPessoa1._txtNaturalidade.Text = cid.cid_nome;
            }

            //Exibe dados gerias da pessoa
            UCCadastroPessoa1._txtDataNasc.Text = (pes.pes_dataNascimento != new DateTime()) ? pes.pes_dataNascimento.ToString("dd/MM/yyyy") : string.Empty;
            UCCadastroPessoa1._ComboEstadoCivil.SelectedValue = (pes.pes_estadoCivil > 0 ? pes.pes_estadoCivil.ToString() : "-1");
            UCCadastroPessoa1._ComboSexo.SelectedValue        = (pes.pes_sexo > 0) ? pes.pes_sexo.ToString() : "-1";

            UCCadastroPessoa1._ComboNacionalidade.SelectedValue = (pes.pai_idNacionalidade != Guid.Empty ? pes.pai_idNacionalidade.ToString() : Guid.Empty.ToString());
            UCCadastroPessoa1._chkNaturalizado.Checked          = pes.pes_naturalizado;
            UCCadastroPessoa1._ComboRacaCor.SelectedValue       = (pes.pes_racaCor > 0 ? pes.pes_racaCor.ToString() : "-1");
            UCCadastroPessoa1._VS_pes_idFiliacaoPai             = pes.pes_idFiliacaoPai;
            UCCadastroPessoa1._VS_pes_idFiliacaoMae             = pes.pes_idFiliacaoMae;
            UCCadastroPessoa1._ComboEscolaridade.SelectedValue  = (pes.tes_id != Guid.Empty ? pes.tes_id.ToString() : Guid.Empty.ToString());

            //Carregar tipo de deficiência cadastrada para a pessoa
            DataTable dtPessoaDeficiencia = PES_PessoaDeficienciaBO.GetSelect(_VS_pes_id, false, 1, 1);
            UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue = dtPessoaDeficiencia.Rows.Count > 0 ? dtPessoaDeficiencia.Rows[0]["tde_id"].ToString() : Guid.Empty.ToString();

            //Armazena os os id's antigos em ViewState
            _VS_pai_idAntigo    = pes.pai_idNacionalidade;
            _VS_cid_idAntigo    = pes.cid_idNaturalidade;
            _VS_pes_idPaiAntigo = pes.pes_idFiliacaoPai;
            _VS_pes_idMaeAntigo = pes.pes_idFiliacaoMae;
            _VS_tes_idAntigo    = pes.tes_id;
            _VS_tde_idAntigo    = dtPessoaDeficiencia.Rows.Count > 0 ? new Guid(dtPessoaDeficiencia.Rows[0]["tde_id"].ToString()) : Guid.Empty;

            //Exibe dados do pai da pessoa
            PES_Pessoa pesFiliacaoPai = new PES_Pessoa {
                pes_id = pes.pes_idFiliacaoPai
            };
            PES_PessoaBO.GetEntity(pesFiliacaoPai);
            UCCadastroPessoa1._txtPai.Text = pesFiliacaoPai.pes_nome;

            //Exibe dados da mae da pessoa
            PES_Pessoa pesFiliacaoMae = new PES_Pessoa {
                pes_id = pes.pes_idFiliacaoMae
            };
            PES_PessoaBO.GetEntity(pesFiliacaoMae);
            UCCadastroPessoa1._txtMae.Text = pesFiliacaoMae.pes_nome;

            //Carrega dados dos endereços da pessoa
            DataTable dtEndereco = PES_PessoaEnderecoBO.GetSelect(pes.pes_id, false, 1, 1);

            if (dtEndereco.Rows.Count == 0)
            {
                dtEndereco = null;
            }

            UCEnderecos1.CarregarEnderecosBanco(dtEndereco);

            //Carrega dados dos contatos da pessoa
            DataTable dtContato = PES_PessoaContatoBO.GetSelect(pes.pes_id, false, 1, 1);

            if (dtContato.Rows.Count == 0)
            {
                dtContato = null;
            }

            UCGridContato1._VS_contatos = dtContato;
            UCGridContato1._CarregarContato();

            //Carrega dados dos documentos da pessoa
            UCGridDocumento1._CarregarDocumento(pes.pes_id);

            //Carrega dados da certidões da pessoa
            DataTable dtCertidao = PES_CertidaoCivilBO.GetSelect(pes.pes_id, false, 1, 1);

            if (dtCertidao.Rows.Count == 0)
            {
                dtCertidao = null;
            }

            UCGridCertidaoCivil1._VS_certidoes = dtCertidao;
            UCGridCertidaoCivil1._CarregarCertidaoCivil();

            UCCadastroPessoa1._updCadastroPessoas.Update();
            UCGridContato1._updGridContatos.Update();
            UCGridDocumento1._updGridDocumentos.Update();
            UCGridCertidaoCivil1._updGridCertidaoCivil.Update();

            _btnSalvar.Visible = true;
            _updBotoes.Update();
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a pessoa.", UtilBO.TipoMensagem.Erro);
        }
    }
示例#14
0
        /// <summary>
        /// Salva os responsáveis do aluno, e o pai e a mãe na filiação do aluno.
        /// </summary>
        /// <param name="listaResponsavel">Lista da estrutura do cadastro</param>
        /// <param name="entAluno">Aluno</param>
        /// <param name="bancoGestao">Transação do Gestão</param>
        /// <param name="bancoCore">Transação do Core</param>
        /// <param name="tra_idPrincipal">Id do tipo de responsável principal</param>
        /// <param name="salvarMaiusculo">Indica se os nomes devem ser salvos em maiúsculos</param>
        /// <param name="entPessoaAluno">Pessoa referente ao aluno - seta o id do Pai e da Mãe</param>
        /// <param name="obrigatorioTipoResponsavel">Validar se foi informado o Id do tipo de responsável principal.</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        public static void SalvarResponsaveisAluno
        (
            List <StructCadastro> listaResponsavel,
            ACA_Aluno entAluno,
            TalkDBTransaction bancoGestao,
            TalkDBTransaction bancoCore,
            Int32 tra_idPrincipal,
            bool salvarMaiusculo,
            ref PES_Pessoa entPessoaAluno,
            bool obrigatorioTipoResponsavel,
            Guid ent_id
        )
        {
            List <StructCadastro> listCadastrados = new List <StructCadastro>();
            List <StructCadastro> listaInseridos  = new List <StructCadastro>();
            Guid pes_idMae = Guid.Empty;
            Guid pes_idPai = Guid.Empty;

            if (tra_idPrincipal <= 0 && obrigatorioTipoResponsavel)
            {
                throw new ValidationException("É necessário informar o responsável do aluno.");
            }

            if (listaResponsavel.Count == 0)
            {
                throw new ValidationException("Responsável é obrigatório.");
            }

            if (!entAluno.IsNew)
            {
                // Guardar os responsáveis que já tinham sido cadastrados.
                listCadastrados = RetornaResponsaveisAluno(entAluno.alu_id, null);
            }

            // Buscando ids dos tipos de responsável dos parâmetros.
            Int32 tra_idMae     = TipoResponsavelAlunoParametro.tra_idMae(ent_id);
            Int32 tra_idPai     = TipoResponsavelAlunoParametro.tra_idPai(ent_id);
            Int32 tra_idProprio = TipoResponsavelAlunoParametro.tra_idProprio(ent_id);

            // ID do tipo de documento CPF.
            string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
            Guid   tdo_idCPF    = String.IsNullOrEmpty(docPadraoCPF) ? Guid.Empty : new Guid(docPadraoCPF);

            // ID do tipo de documento RG.
            string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);
            Guid   tdo_idRG    = String.IsNullOrEmpty(docPadraoRG) ? Guid.Empty : new Guid(docPadraoRG);

            // ID do tipo de documento NIS.
            Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, ent_id);

            List <string> ListValidacoesDoc = new List <string>();

            foreach (StructCadastro resp in listaResponsavel)
            {
                //Responsáveis com o mesmo numero de documento
                foreach (PES_PessoaDocumento psd in resp.listPessoaDoc)
                {
                    if (listaResponsavel.Any(p => p.entAlunoResp.pes_id != resp.entAlunoResp.pes_id &&
                                             p.listPessoaDoc.Any(d => d.psd_numero == psd.psd_numero)) &&
                        !ListValidacoesDoc.Contains("Há mais de um responsável com o mesmo número de documento."))
                    {
                        ListValidacoesDoc.Add("Há mais de um responsável com o mesmo número de documento.");
                    }
                }

                // Responável tem data de nascimento maior que a data atual.
                if (resp.entPessoa.pes_dataNascimento > DateTime.Now)
                {
                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idMae(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento da mãe não pode ser maior que a data atual.");
                    }

                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idPai(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento do pai não pode ser maior que a data atual.");
                    }
                }

                // Responsavel do aluno é falecido e mora com ele -- erro
                if (resp.entAlunoResp.alr_moraComAluno && resp.entAlunoResp.alr_situacao == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido))
                {
                    ListValidacoesDoc.Add("Responsável do aluno não pode morar com o aluno e ser falecido.");
                }

                // Responsavel tem data de nascimento mais nova que a do aluno
                if (resp.entPessoa.pes_dataNascimento > entPessoaAluno.pes_dataNascimento)
                {
                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idMae(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento da mãe não pode ser maior que a data de nascimento do aluno.");
                    }

                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idPai(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento do pai não pode ser maior que a data de nascimento do aluno.");
                    }
                }

                //Valida código NIS do aluno
                int index = resp.listPessoaDoc.FindIndex(p => p.tdo_id == tdo_idNis);

                if (index >= 0 && !(string.IsNullOrEmpty(resp.listPessoaDoc[index].psd_numero)))
                {
                    string TipoPessoa;

                    if (resp.entAlunoResp.tra_id == tra_idMae)
                    {
                        TipoPessoa = "A mãe";
                    }
                    else if (resp.entAlunoResp.tra_id == tra_idPai)
                    {
                        TipoPessoa = "O pai";
                    }
                    else
                    {
                        TipoPessoa = "O responsável";
                    }

                    if (ACA_AlunoBO.NISInvalido(resp.listPessoaDoc[index].psd_numero))
                    {
                        ListValidacoesDoc.Add(TipoPessoa + " possui o número do NIS inválido.");
                    }
                }

                // Adiciona na lista dos dados inseridos.
                listaInseridos.Add(
                    SalvarResponsavel(tra_idPrincipal,
                                      entAluno,
                                      resp,
                                      tra_idProprio,
                                      bancoCore,
                                      tra_idMae,
                                      tra_idPai,
                                      bancoGestao,
                                      tdo_idCPF,
                                      tdo_idRG,
                                      tdo_idNis,
                                      ref pes_idMae,
                                      ref pes_idPai,
                                      salvarMaiusculo,
                                      ref ListValidacoesDoc,
                                      listaResponsavel,
                                      ent_id));
            }

            // Se não foi inserido nenhum item na lista como principal.
            if (!listaInseridos.Exists(p => p.entAlunoResp.alr_principal) && obrigatorioTipoResponsavel)
            {
                ListValidacoesDoc.Add("É necessário informar o responsável do aluno.");
            }

            if (ListValidacoesDoc.Count > 0)
            {
                throw new ValidationException(string.Join("<BR/>", ListValidacoesDoc.ToArray()));
            }

            // Salva na pessoa do aluno os Ids do pai e da mãe.
            entPessoaAluno = new PES_Pessoa
            {
                pes_id = entAluno.pes_id
            };
            PES_PessoaBO.GetEntity(entPessoaAluno, bancoCore);

            // Se mudou a mãe.
            if (entPessoaAluno.pes_idFiliacaoMae != pes_idMae)
            {
                entPessoaAluno.pes_idFiliacaoMae = pes_idMae;
                PES_PessoaBO.Save(entPessoaAluno, bancoCore);
            }

            // Se mudou o pai.
            if (entPessoaAluno.pes_idFiliacaoPai != pes_idPai)
            {
                entPessoaAluno.pes_idFiliacaoPai = pes_idPai;
                PES_PessoaBO.Save(entPessoaAluno, bancoCore);
            }

            // Percorrer os itens que existiam antes, para excluir os que não tem mais.
            foreach (StructCadastro item in listCadastrados)
            {
                if (item.entPessoa.pes_id == entAluno.pes_id)
                {
                    continue;
                }
                VerifcaItemCadastrado(listaInseridos, bancoCore, bancoGestao, item, tra_idProprio);
            }
        }
示例#15
0
        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            if (ValidarEsqueciSenha())
            {
                try
                {
                    DataTable dt = SYS_UsuarioBO.GetSelectBy_ent_id_usu_email(UCComboEntidade2.Valor, txtEmail.Text);

                    if (dt.Rows.Count == 0)
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário não encontrado.");
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário não encontrado.", UtilBO.TipoMensagem.Alerta);
                    }
                    else
                    {
                        if (!String.IsNullOrEmpty(dt.Rows[0]["usu_dominio"].ToString()))
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Não é possível recuperar a senha pois o usuário solicitado está ligado no Active Directory.");
                            lblMessage.Text = UtilBO.GetErroMessage("Não é possível recuperar a senha pois o usuário solicitado está ligado no Active Directory, contate o administrador de rede do seu domínio.", UtilBO.TipoMensagem.Alerta);
                        }
                        else if (dt.Rows[0]["usu_situacao"].ToString() == "1" || dt.Rows[0]["usu_situacao"].ToString() == "5")
                        {
                            try
                            {
                                SYS_Usuario usu = new SYS_Usuario {
                                    usu_id = new Guid(dt.Rows[0]["usu_id"].ToString())
                                };
                                SYS_UsuarioBO.GetEntity(usu);

                                PES_Pessoa pes = new PES_Pessoa {
                                    pes_id = usu.pes_id
                                };
                                PES_PessoaBO.GetEntity(pes);

                                usu.usu_situacao = 5;
                                SYS_UsuarioBO.Save(usu, pes.pes_nome, __SessionWEB.TituloGeral, ApplicationWEB._EmailHost, ApplicationWEB._EmailSuporte);

                                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha enviada para o e-mail com sucesso.");
                                lblMessage.Text = UtilBO.GetErroMessage("Senha enviada para o e-mail com sucesso.", UtilBO.TipoMensagem.Sucesso);
                            }
                            catch (DuplicateNameException ex)
                            {
                                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                                ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenhaErro", "$('#divEsqueciSenha').dialog('close');", true);
                            }
                            catch (Exception ex)
                            {
                                ApplicationWEB._GravaErro(ex);
                                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar enviar e-mail com a senha para o usuário.", UtilBO.TipoMensagem.Erro);
                                ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenhaErro", "$('#divEsqueciSenha').dialog('close');", true);
                            }
                        }
                        else if (dt.Rows[0]["usu_situacao"].ToString() == "4")
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário padrão.");
                            lblMessage.Text = UtilBO.GetErroMessage("Usuário padrão.", UtilBO.TipoMensagem.Alerta);
                        }
                        else
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro no envio de senha. Usuário bloqueado.");
                            lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta);
                        }
                    }

                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "EsqueciSenha", "$('#divEsqueciSenha').dialog('close');", true);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessageEsqueciSenha.Text = UtilBO.GetErroMessage("Erro ao tentar enviar e-mail com a senha para o usuário.", UtilBO.TipoMensagem.Erro);
                }
            }
            else
            {
                updEsqueciSenha.Update();
            }
        }
        public static bool Salvar(RelatorioPreenchimentoAluno relatorio, List <CLS_AlunoDeficienciaDetalhe> lstDeficienciaDetalhe, bool permiteAlterarRacaCor, byte racaCor, List <CLS_RelatorioPreenchimentoAcoesRealizadas> lstAcoesRealizadas)
        {
            CLS_RelatorioPreenchimentoDAO dao = new CLS_RelatorioPreenchimentoDAO();

            dao._Banco.Open(IsolationLevel.ReadCommitted);

            PES_PessoaDAO daoCore = new PES_PessoaDAO();

            daoCore._Banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                bool retorno = true;

                if (permiteAlterarRacaCor)
                {
                    ACA_Aluno alu = new ACA_Aluno {
                        alu_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id
                    };
                    ACA_AlunoBO.GetEntity(alu);

                    PES_Pessoa pes = new PES_Pessoa {
                        pes_id = alu.pes_id
                    };
                    PES_PessoaBO.GetEntity(pes);

                    pes.pes_racaCor = racaCor;
                    PES_PessoaBO.Save(pes, daoCore._Banco);
                }

                List <CLS_AlunoDeficienciaDetalhe> lstDeficienciaDetalheBanco =
                    (from sAlunoDeficiencia alunoDeficiencia in CLS_AlunoDeficienciaDetalheBO.SelecionaPorAluno(relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id)
                     from sAlunoDeficienciaDetalhe alunoDeficienciaDetalhe in alunoDeficiencia.lstDeficienciaDetalhe
                     select new CLS_AlunoDeficienciaDetalhe
                {
                    alu_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id
                    ,
                    tde_id = alunoDeficiencia.tde_id
                    ,
                    dfd_id = alunoDeficienciaDetalhe.dfd_id
                }).ToList();

                if (lstDeficienciaDetalheBanco.Any())
                {
                    lstDeficienciaDetalheBanco.ForEach(p => CLS_AlunoDeficienciaDetalheBO.Delete(p, dao._Banco));
                }


                if (relatorio.entityRelatorioPreenchimento.reap_id > 0)
                {
                    CLS_QuestionarioConteudoPreenchimentoBO.ExcluiPorReapId(relatorio.entityRelatorioPreenchimento.reap_id, dao._Banco);
                    CLS_QuestionarioRespostaPreenchimentoBO.ExcluiPorReapId(relatorio.entityRelatorioPreenchimento.reap_id, dao._Banco);
                }

                retorno &= Save(relatorio.entityRelatorioPreenchimento, dao._Banco);

                relatorio.entityPreenchimentoAlunoTurmaDisciplina.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                retorno &= CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.Save(relatorio.entityPreenchimentoAlunoTurmaDisciplina, dao._Banco);

                relatorio.lstQuestionarioConteudoPreenchimento.ForEach
                (
                    p =>
                {
                    p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                    retorno  &= CLS_QuestionarioConteudoPreenchimentoBO.Save(p, dao._Banco);
                }
                );

                relatorio.lstQuestionarioRespostaPreenchimento.ForEach
                (
                    p =>
                {
                    p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                    retorno  &= CLS_QuestionarioRespostaPreenchimentoBO.Save(p, dao._Banco);
                }
                );

                lstDeficienciaDetalhe.ForEach
                (
                    p =>
                {
                    retorno &= CLS_AlunoDeficienciaDetalheBO.Save(p, dao._Banco);
                }
                );

                lstAcoesRealizadas.ForEach
                (
                    p =>
                {
                    if (p.rpa_situacao == (byte)CLS_RelatorioPreenchimentoAcoesRealizadasSituacao.Excluido)
                    {
                        retorno &= CLS_RelatorioPreenchimentoAcoesRealizadasBO.Delete(p, dao._Banco);
                    }
                    else
                    {
                        p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                        retorno  &= CLS_RelatorioPreenchimentoAcoesRealizadasBO.Save(p, dao._Banco);
                    }
                }
                );

                CLS_RelatorioAtendimento relatorioAtendimento = CLS_RelatorioAtendimentoBO.GetEntity(new CLS_RelatorioAtendimento {
                    rea_id = relatorio.entityRelatorioPreenchimento.rea_id
                });

                ACA_CalendarioAnual       calendario    = ACA_CalendarioAnualBO.SelecionaPorTurma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id);
                List <MTR_MatriculaTurma> matriculasAno = MTR_MatriculaTurmaBO.GetSelectMatriculasAlunoAno(relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id, calendario.cal_ano);
                matriculasAno.ForEach(p => CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.LimpaCache_AlunoPreenchimentoPorPeriodoDisciplina(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id, p.tur_id));

                if (relatorioAtendimento.rea_gerarPendenciaFechamento &&
                    ACA_FormatoAvaliacaoBO.CarregarPorTur(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco).fav_fechamentoAutomatico)
                {
                    List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>();
                    if (relatorioAtendimento.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.RP &&
                        relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id > 0)
                    {
                        if (relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id > 0)
                        {
                            FilaProcessamento.Add(
                                new AlunoFechamentoPendencia
                            {
                                tud_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id
                                ,
                                tpc_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id
                                ,
                                afp_frequencia = true
                                ,
                                afp_nota = true
                                ,
                                afp_processado = 2
                            });
                        }
                        else
                        {
                            FilaProcessamento.AddRange(ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(calendario.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo)
                                                       .Select(p => new AlunoFechamentoPendencia
                            {
                                tud_id         = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id,
                                tpc_id         = p.tpc_id,
                                afp_frequencia = true,
                                afp_nota       = false,
                                afp_processado = 2
                            }).ToList());
                        }
                    }
                    else
                    {
                        if (relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id > 0)
                        {
                            FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo)
                                                       .Select(p => new AlunoFechamentoPendencia
                            {
                                tud_id = p.tud_id
                                ,
                                tpc_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id
                                ,
                                afp_frequencia = true
                                ,
                                afp_nota = true
                                ,
                                afp_processado = 2
                            }).ToList());
                        }
                        else
                        {
                            var periodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(calendario.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo);
                            FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo)
                                                       .SelectMany
                                                       (
                                                           tud =>

                                                           periodos.Select
                                                           (
                                                               tpc =>
                                                               new AlunoFechamentoPendencia
                            {
                                tud_id = tud.tud_id
                                ,
                                tpc_id = tpc.tpc_id
                                ,
                                afp_frequencia = true
                                ,
                                afp_nota = true
                                ,
                                afp_processado = 2
                            }
                                                           ).ToList()
                                                       ));
                        }
                    }

                    if (FilaProcessamento.Any())
                    {
                        CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(FilaProcessamento, dao._Banco);
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                dao._Banco.Close(ex);
                daoCore._Banco.Close(ex);
                throw;
            }
            finally
            {
                if (dao._Banco.ConnectionIsOpen)
                {
                    dao._Banco.Close();
                }

                if (daoCore._Banco.ConnectionIsOpen)
                {
                    daoCore._Banco.Close();
                }
            }
        }
示例#17
0
    /// <summary>
    /// Configura os dados da foto.
    /// </summary>
    /// <param name="pagina">Página que chamou o método.</param>
    /// <param name="arq_id">Id do arquivo da foto.</param>
    public void ConfiguraDadosFoto(PaginaGestao pagina, out long arq_id)
    {
        try
        {
            if (_VS_pes_id != new Guid())
            {
                CFG_Arquivo entArquivo = PES_PessoaBO.RetornaFotoPor_Pessoa(_VS_pes_id);
                if (!entArquivo.IsNew)
                {
                    if (pagina == PaginaGestao.Alunos)
                    {
                        imgFoto.ImageUrl = "~/Academico/Aluno/CapturaFoto/Imagem.ashx?idfoto=" + entArquivo.arq_id;

                        string script = String.Format("SetConfirmDialogButton('{0}','{1}');", String.Concat("#", btnCapturaFoto.ClientID), String.Format("Deseja substituir a foto atual por uma nova foto?"));
                        Page.ClientScript.RegisterStartupScript(GetType(), btnCapturaFoto.ClientID, script, true);
                    }
                    else
                    {
                        imgFoto.ImageUrl = __SessionWEB._AreaAtual._Diretorio + "Academico/RecursosHumanos/Colaborador/Imagem.ashx?id=" + _VS_pes_id;
                    }

                    SetarDataImagem(entArquivo);
                }

                // Configura imagem da pessoa, caso existir
                if (entArquivo.arq_data != null && entArquivo.arq_data.Length > 1)
                {
                    if (pagina == PaginaGestao.Alunos)
                    {
                        imgFoto.ImageUrl = "~/Academico/RecursosHumanos/Colaborador/Imagem.ashx?id=" + _VS_pes_id;
                    }

                    System.Drawing.Image img;
                    using (MemoryStream ms = new MemoryStream(entArquivo.arq_data, 0, entArquivo.arq_data.Length))
                    {
                        ms.Write(entArquivo.arq_data, 0, entArquivo.arq_data.Length);
                        img = System.Drawing.Image.FromStream(ms, true);
                    }

                    const int larguraMaxima = 200;
                    const int alturaMaxima  = 200;
                    int       alt;
                    int       lar;

                    decimal proporcaoOriginal = (decimal)((img.Height * 100) / img.Width) / 100;

                    if (proporcaoOriginal > 1)
                    {
                        proporcaoOriginal = (decimal)((img.Width * 100) / img.Height) / 100;
                        alt = alturaMaxima;
                        lar = Convert.ToInt32(alturaMaxima * proporcaoOriginal);
                    }
                    else
                    {
                        lar = larguraMaxima;
                        alt = Convert.ToInt32(larguraMaxima * proporcaoOriginal);
                    }

                    imgFoto.Height           = alt;
                    imgFoto.Width            = lar;
                    imgFoto.Visible          = true;
                    btnExcluir.Visible       = true;
                    chbExcluirImagem.Visible = true;
                }
                else
                {
                    imgFoto.Visible          = false;
                    btnExcluir.Visible       = false;
                    lblDataFoto.Visible      = false;
                    chbExcluirImagem.Visible = false;
                }

                switch (pagina)
                {
                case PaginaGestao.Colaboradores:
                case PaginaGestao.Docentes:
                    btnCapturaFoto.Visible = false;
                    btnExcluir.Visible     = false;
                    break;

                case PaginaGestao.Alunos:
                    btnCapturaFoto.Visible   = true;
                    chbExcluirImagem.Visible = false;
                    break;
                }

                arq_id = entArquivo.arq_id;
            }
            else
            {
                arq_id = -1;
            }
        }
        catch
        {
            arq_id = -1;
            btnCapturaFoto.Visible   = true;
            lblDataFoto.Visible      = false;
            lblMensagemErroFoto.Text = UtilBO.GetErroMessage("Não foi possível carregar a foto.", UtilBO.TipoMensagem.Alerta);
        }
    }
示例#18
0
    /// <summary>
    /// Arruma a StructColaboradorFiliacao da mae, que vai retornar a estrutura com os dados necessários para salvar a pessoa no banco.
    /// </summary>
    public StructColaboradorFiliacao ArrumaStructMae()
    {
        if (ValidaCampoDocumento(false))
        {
            throw new ValidationException("Nome da mãe é obrigatório.");
        }

        StructColaboradorFiliacao colaborador = new StructColaboradorFiliacao();

        // se a textbox estiver vazia, nao há dados da mãe
        if (!string.IsNullOrEmpty(txtMae.Text))
        {
            PES_Pessoa entPessoa = new PES_Pessoa();
            List <PES_PessoaDocumento> lstDocumento = new List <PES_PessoaDocumento>();
            PES_PessoaDocumento        cpf          = new PES_PessoaDocumento
            {
                tdo_id = new Guid(SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF))
            };
            PES_PessoaDocumento rg = new PES_PessoaDocumento
            {
                tdo_id = new Guid(SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG))
            };
            if (_VS_pes_idFiliacaoMae != Guid.Empty)
            {
                entPessoa.pes_id = _VS_pes_idFiliacaoMae;
                PES_PessoaBO.GetEntity(entPessoa);
            }
            else
            {
                entPessoa.IsNew = true;
                cpf.IsNew       = true;
                rg.IsNew        = true;
            }

            entPessoa.pes_nome     = txtMae.Text;
            entPessoa.pes_situacao = 1;

            // Adiciona dados do CPF
            if (!string.IsNullOrEmpty(txtCPFMae.Text))
            {
                if (!UtilBO._ValidaCPF(txtCPFMae.Text))
                {
                    throw new ValidationException("CPF da mãe é inválido.");
                }

                cpf.pes_id = _VS_pes_idFiliacaoMae;
                PES_PessoaDocumentoBO.GetEntity(cpf);
                cpf.psd_numero   = txtCPFMae.Text;
                cpf.psd_situacao = 1;
                lstDocumento.Add(cpf);
            }

            // Adiciona dados do Rg
            if (!string.IsNullOrEmpty(txtRGMae.Text))
            {
                rg.pes_id = _VS_pes_idFiliacaoMae;
                PES_PessoaDocumentoBO.GetEntity(rg);
                rg.psd_numero   = txtRGMae.Text;
                rg.psd_situacao = 1;
                lstDocumento.Add(rg);
            }

            colaborador.listaDocumentos = lstDocumento;
            colaborador.entPessoa       = entPessoa;
        }

        return(colaborador);
    }
示例#19
0
        /// <summary>
        /// Método utilizado via Web API para criação de Usuários
        /// OBSERVACAO: Este metodo faz uma busca por nome, data de nascimento e CPF
        /// para tentar vincular uma pessoa já existente com estes dados ao usuario
        /// que esta sendo criado, sendo que apenas nome e data de nascimento são requeridos.
        /// </summary>
        /// <param name="data">Parametros de entrada: Id Entidade, Id Grupo,  ID Usuario, Nome,
        /// CPF, Data de nascimento, E-mail, Senha</param>
        /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param>
        public static void Create(UsuarioEntradaDTO data, CFG_UsuarioAPI entityUsuarioAPI)
        {
            #region [ Validação de campos obrigatórios ]

            if (data.ent_id == Guid.Empty)
            {
                throw new ValidationException("Id da entidade é obrigatório.");
            }
            if (string.IsNullOrWhiteSpace(data.usu_login))
            {
                throw new ValidationException("Login do usuário é obrigatório.");
            }
            if (data.gru_id.Count() == 0)
            {
                throw new ValidationException("Ao menos um grupo deve ser informado.");
            }
            if (data.dataNascimento == new DateTime())
            {
                throw new ValidationException("Data de nascimento é obrigatória.");
            }
            if (data.sexo != null && data.sexo > 2)
            {
                throw new ValidationException("Para o sexo informe: 1 - masculino ou 2 - feminino");
            }

            #endregion

            SYS_Usuario entity = new SYS_Usuario
            {
                ent_id = data.ent_id
                ,
                usu_login = data.usu_login
            };
            SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity);

            // Verifica se o id do usuário enviado existe na base de dados.
            if (entity.IsNew)
            {
                Guid?      tdo_id           = null;
                bool       savePessoaReturn = false;
                PES_Pessoa entityPessoa     = null;

                //Se não for informado nome e data de nascimento não cria a pessoa
                if (!string.IsNullOrWhiteSpace(data.nome) && data.dataNascimento != null)
                {
                    #region [Validações CPF]

                    //Se CPF existir, realiza validações
                    if (!string.IsNullOrWhiteSpace(data.CPF))
                    {
                        if (UtilBO._ValidaCPF(data.CPF))
                        {
                            //Recupera o tipo de documento CPF, utilizado para recuperar a pessoa
                            string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
                            if (!string.IsNullOrEmpty(tipoDocCPF))
                            {
                                tdo_id = Guid.Parse(tipoDocCPF);
                            }
                        }
                        else
                        {
                            throw new ValidationException("CPF inválido.");
                        }
                    }

                    #endregion

                    //Recupera a pessoa
                    entityPessoa = PES_PessoaBO.SelecionaPorNomeNascimentoDocumento(data.nome, data.dataNascimento, tdo_id, data.CPF);

                    //Se pessoa não existir, faz o cadastro com as informações básicas
                    if (entityPessoa.pes_id == Guid.Empty)
                    {
                        #region [Cria Pessoa]

                        //Adiciona valores na entidade de pessoa

                        entityPessoa.pes_id              = Guid.Empty;
                        entityPessoa.pes_nome            = data.nome;
                        entityPessoa.pes_sexo            = data.sexo;
                        entityPessoa.pes_nome_abreviado  = string.Empty;
                        entityPessoa.pai_idNacionalidade = Guid.Empty;
                        entityPessoa.pes_naturalizado    = false;
                        entityPessoa.cid_idNaturalidade  = Guid.Empty;
                        entityPessoa.pes_dataNascimento  = (String.IsNullOrEmpty(data.dataNascimento.ToString()) ? new DateTime() : Convert.ToDateTime(data.dataNascimento.ToString()));
                        entityPessoa.pes_racaCor         = Convert.ToByte(null);
                        entityPessoa.pes_idFiliacaoPai   = Guid.Empty;
                        entityPessoa.pes_idFiliacaoMae   = Guid.Empty;
                        entityPessoa.tes_id              = Guid.Empty;
                        entityPessoa.pes_estadoCivil     = Convert.ToByte(null);
                        entityPessoa.pes_situacao        = 1;

                        PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia
                        {
                            pes_id = Guid.Empty,
                            tde_id = Guid.Empty,
                            IsNew  = true
                        };

                        savePessoaReturn = PES_PessoaBO.Save(entityPessoa
                                                             , entityPessoaDeficiencia
                                                             , new DataTable()            //dtEndereco
                                                             , new DataTable()            //dtContato
                                                             , RetornaDocumento(data.CPF) //dtDocumento
                                                             , new DataTable()            //dtCertidao
                                                             , Guid.Empty                 //pai_idAntigo
                                                             , Guid.Empty                 //cid_idAntigo
                                                             , Guid.Empty                 //pes_idPaiAntigo
                                                             , Guid.Empty                 //pes_idMaeAntigo
                                                             , Guid.Empty                 //tes_idAntigo
                                                             , Guid.Empty                 //tde_idAntigo
                                                             , null                       //arquivosPermitidos
                                                             , 0                          //tamanhoMaximoKB
                                                             , null                       //entFoto
                                                             , false                      //ExcluirImagemAtual
                                                             );

                        #endregion
                    }
                }
                #region [ Cria usuário ]

                entity.ent_id    = data.ent_id;
                entity.usu_id    = Guid.Empty;
                entity.usu_login = data.usu_login;
                entity.usu_email = string.IsNullOrEmpty(data.email) ? string.Empty : data.email;
                entity.usu_senha = string.IsNullOrEmpty(data.senha) ? string.Empty : data.senha;

                //Se foi recuperado ou criado uma pessoa, vincula o pes_id
                if (entityPessoa != null)
                {
                    entity.pes_id = entityPessoa.pes_id;
                }

                entity.usu_criptografia  = Convert.ToByte(eCriptografa.TripleDES);
                entity.usu_situacao      = 1;
                entity.usu_dataAlteracao = DateTime.Now;
                entity.usu_dataCriacao   = DateTime.Now;
                entity.usu_dominio       = string.Empty;
                entity.usu_integracaoAD  = (byte)SYS_UsuarioBO.eIntegracaoAD.NaoIntegrado;
                entity.IsNew             = true;

                SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos> grupos = new SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>();

                foreach (Guid gruId in data.gru_id)
                {
                    SYS_UsuarioBO.AddTmpGrupo(gruId, grupos, 1);
                }

                SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> > entidadeUA = new SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> >();

                SYS_UsuarioBO.Save(entity, grupos, entidadeUA, false, data.nome, string.Empty, string.Empty, string.Empty, null);

                #endregion
            }
            else
            {
                throw new ValidationException("Usuário já existe.");
            }

            #region [ Log de ação]

            LOG_UsuarioAPIBO.Save
            (
                new LOG_UsuarioAPI
            {
                usu_id = entity.usu_id
                ,
                uap_id = entityUsuarioAPI.uap_id
                ,
                lua_dataHora = DateTime.Now
                ,
                lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.CriacaoUsuario
            }
            );

            #endregion
        }
示例#20
0
        /// <summary>
        /// Método utilizado via Web API para alteração de Usuários
        /// </summary>
        /// <param name="data">Parametros de entrada: Id Entidade, Id Grupo, ID Usuario, Nome,
        /// CPF, Data de nascimento, E-mail, Senha</param>
        /// <param name="entityUsuarioAPI">Usuário da API usado para gravar log de ação</param>
        public static void Update(UsuarioEntradaDTO data, CFG_UsuarioAPI entityUsuarioAPI)
        {
            #region [ Validação de campos obrigatórios ]

            if (data.ent_id == Guid.Empty || string.IsNullOrWhiteSpace(data.usu_login))
            {
                throw new ValidationException("Id da entidade e login do usuário são obrigatórios.");
            }

            #endregion

            SYS_Usuario entity = new SYS_Usuario
            {
                ent_id = data.ent_id
                ,
                usu_login = data.usu_login
            };
            SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entity);

            PES_Pessoa entityPessoa = null;

            if (!entity.IsNew)
            {
                //Validação de usuário padrão do sistema
                if (entity.usu_situacao == (byte)SYS_UsuarioBO.eSituacao.Padrao_Sistema)
                {
                    throw new ValidationException("Não é possível alterar dados do usuário padrão do sistema.");
                }

                //Se o usuário recuperado não possuir pessoa, pula os passos de update de Pessoa
                if (entity.pes_id != Guid.Empty)
                {
                    #region [Pessoa]

                    entityPessoa = new PES_Pessoa {
                        pes_id = entity.pes_id
                    };
                    PES_PessoaBO.GetEntity(entityPessoa);

                    if (!string.IsNullOrWhiteSpace(data.nome) && entityPessoa.pes_nome.ToLower() != data.nome.ToLower())
                    {
                        entityPessoa.pes_nome = data.nome;
                    }

                    if (data.dataNascimento != new DateTime() && entityPessoa.pes_dataNascimento != data.dataNascimento)
                    {
                        entityPessoa.pes_dataNascimento = data.dataNascimento;
                    }

                    if (data.sexo == 1 || data.sexo == 2)
                    {
                        entityPessoa.pes_sexo = data.sexo;
                    }

                    entityPessoa.pes_dataAlteracao = DateTime.Now;

                    #region [Validações CPF]

                    Guid?tdo_id   = null;
                    bool criarCPF = false;

                    //Recupera os documentos da pessoa
                    DataTable documentosPessoa = PES_PessoaDocumentoBO.GetSelect(entityPessoa.pes_id, false, 1, 1);

                    //Se CPF existir, realiza validações
                    if (!string.IsNullOrWhiteSpace(data.CPF))
                    {
                        if (UtilBO._ValidaCPF(data.CPF))
                        {
                            //Recupera o tipo de documento CPF
                            string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
                            if (!string.IsNullOrEmpty(tipoDocCPF))
                            {
                                tdo_id   = Guid.Parse(tipoDocCPF);
                                criarCPF = true;
                            }
                        }
                        else
                        {
                            throw new ValidationException("CPF inválido.");
                        }

                        if (documentosPessoa.Rows.Count > 0)
                        {
                            //Recupera o indice da linha que contém o documento do tipo CPF
                            var indiceRowCPF = documentosPessoa.AsEnumerable()
                                               .Select((row, index) => new { row, index })
                                               .Where(item => item.row.Field <Guid>("tdo_id") == tdo_id)
                                               .Select(item => item.index).ToArray();

                            //Se a pessoa possui um documento do tipo CPF, verifica se precisa alterar
                            if (indiceRowCPF.Count() > 0)
                            {
                                if (documentosPessoa.Rows[indiceRowCPF[0]]["numero"].ToString() != data.CPF)
                                {
                                    documentosPessoa.Rows[indiceRowCPF[0]]["numero"] = data.CPF;
                                }
                            }
                            else
                            {
                                //Pessoa ainda não possue CPF, nesse caso cria usando o datatable recuperado

                                DataRow rowDoc = documentosPessoa.NewRow();

                                rowDoc["tdo_id"]        = tdo_id;
                                rowDoc["unf_idEmissao"] = Guid.Empty.ToString();
                                rowDoc["unf_idAntigo"]  = Guid.Empty.ToString();
                                rowDoc["numero"]        = data.CPF;
                                rowDoc["dataemissao"]   = string.Empty;
                                rowDoc["orgaoemissao"]  = string.Empty;
                                rowDoc["info"]          = string.Empty;

                                documentosPessoa.Rows.Add(rowDoc);
                            }
                            criarCPF = false;
                        }

                        if (criarCPF)
                        {
                            if (tdo_id != null)
                            {
                                //Cria o datatable na estrutura necessária com o CPF enviado
                                documentosPessoa = RetornaDocumento(data.CPF);
                            }
                        }
                    }

                    #endregion

                    PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia
                    {
                        pes_id = Guid.Empty,
                        tde_id = Guid.Empty,
                        IsNew  = true
                    };

                    PES_PessoaBO.Save(entityPessoa
                                      , entityPessoaDeficiencia
                                      , new DataTable()  //dtEndereco
                                      , new DataTable()  //dtContato
                                      , documentosPessoa //dtDocumento
                                      , new DataTable()  //dtCertidao
                                      , Guid.Empty       //pai_idAntigo
                                      , Guid.Empty       //cid_idAntigo
                                      , Guid.Empty       //pes_idPaiAntigo
                                      , Guid.Empty       //pes_idMaeAntigo
                                      , Guid.Empty       //tes_idAntigo
                                      , Guid.Empty       //tde_idAntigo
                                      , null             //arquivosPermitidos
                                      , 0                //tamanhoMaximoKB
                                      , null             //entFoto
                                      , false            //ExcluirImagemAtual
                                      );

                    #endregion
                }

                #region [Usuário]

                //entity.usu_login = data.usu_login;

                if (!string.IsNullOrWhiteSpace(data.email) && entity.usu_email != data.email)
                {
                    entity.usu_email = data.email;
                }

                //Se não vier senha, seta a senha da entidade como vazia para o método do sistema
                //não encriptar novamente o que já estava encriptado
                if (string.IsNullOrWhiteSpace(data.senha))
                {
                    entity.usu_senha = string.Empty;
                }
                else
                {
                    entity.usu_senha = data.senha;
                }

                if (entityPessoa != null)
                {
                    entity.pes_id = entityPessoa.pes_id;
                }

                entity.usu_criptografia  = Convert.ToByte(eCriptografa.TripleDES);
                entity.usu_dataAlteracao = DateTime.Now;

                SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>             grupos     = new SortedDictionary <Guid, SYS_UsuarioBO.TmpGrupos>();
                SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> > entidadeUA = new SortedDictionary <Guid, List <SYS_UsuarioBO.TmpEntidadeUA> >();

                //Se vier grupos cria a lista com base nesses grupos
                if (data.gru_id.Count() > 0)
                {
                    foreach (Guid gruId in data.gru_id)
                    {
                        SYS_UsuarioBO.AddTmpGrupo(gruId, grupos, 1);
                    }
                }
                else
                {
                    //Senão, recupera os grupos do usuário para enviar ao método salvar
                    SYS_UsuarioBO.GetGruposUsuario(entity.usu_id, grupos, entidadeUA);
                }

                SYS_UsuarioBO.Save(entity, grupos, entidadeUA, false, data.nome, string.Empty, string.Empty, string.Empty, null);

                #endregion
            }
            else
            {
                throw new ValidationException("Usuário não existe.");
            }

            #region [ Log de ação]

            LOG_UsuarioAPIBO.Save
            (
                new LOG_UsuarioAPI
            {
                usu_id = entity.usu_id
                ,
                uap_id = entityUsuarioAPI.uap_id
                ,
                lua_dataHora = DateTime.Now
                ,
                lua_acao = (byte)LOG_UsuarioAPIBO.eAcao.AlteracaoUsuario
            }
            );

            #endregion
        }
示例#21
0
    /// <summary>
    /// Método chamado quando o usuário seleciona uma pessoa na tela de busca.
    /// </summary>
    /// <param name="parameters"></param>
    void UCPessoas1BuscaPessoa(IDictionary <string, object> parameters)
    {
        //Faz uma busca do id do tipo de documento (tdo_id).
        string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
        string docPadraoRG  = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);

        //Variáveis que recebe os valores cadastrados caso já exista.
        byte   situacao_responsavel;
        string alr_profissao;

        // ID do tipo de documento NIS.
        Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

        try
        {
            if (!String.IsNullOrEmpty(parameters["pes_id"].ToString()))
            {
                VS_Pes_ID = new Guid(parameters["pes_id"].ToString());
            }

            PES_Pessoa entity = new PES_Pessoa();
            entity.pes_id = VS_Pes_ID;
            PES_PessoaBO.GetEntity(entity);

            txtNome.Text     = entity.pes_nome;
            txtDataNasc.Text = entity.pes_dataNascimento != new DateTime() ?
                               entity.pes_dataNascimento.ToString("dd/MM/yyyy") :
                               "";
            UCComboEstadoCivil1._Combo.SelectedValue = entity.pes_estadoCivil.ToString();
            UCComboSexo1._Combo.SelectedValue        = (entity.pes_sexo == 0) ? "-1" : entity.pes_sexo.ToString();
            if (entity.tes_id != Guid.Empty)
            {
                UCComboTipoEscolaridade1._Combo.SelectedValue = entity.tes_id.ToString();
            }
            else
            {
                UCComboTipoEscolaridade1._Combo.SelectedValue = UCComboTipoEscolaridade1._Combo.Items[0].Value;
            }

            //Faz a verificação se existe as informações cadastradas referente a profissão e situação do responsável.
            ACA_AlunoResponsavelBO.RetornaAlunoResponsavel_Situacao_Profissao(entity.pes_id, out situacao_responsavel, out alr_profissao);
            chkSituacaoFalecido.Checked = situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido);
            txtProfissao.Text           = alr_profissao;

            txtCPFResponsavel.Text = RetornaDocumentoResponsavel(entity.pes_id, docPadraoCPF);
            txtRGResponsavel.Text  = RetornaDocumentoResponsavel(entity.pes_id, docPadraoRG);
            txtNis.Text            = RetornaDocumentoResponsavel(entity.pes_id, tdo_idNis.ToString());

            if (UCBuscaPessoasAluno != null)
            {
                // Limpar campos da busca.
                UCBuscaPessoasAluno._Limpar();
            }

            ScriptManager.RegisterClientScriptBlock(Page, GetType(), "BuscaPessoa", "$('#divBuscaResponsavel').dialog('close');", true);
        }
        catch (Exception ex)
        {
            lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a pessoa.", UtilBO.TipoMensagem.Erro);
            ApplicationWEB._GravaErro(ex);
        }
    }
示例#22
0
    /// <summary>
    /// Insere e altera uma pessoa
    /// </summary>
    private void _Associar()
    {
        try
        {
            string msgErro;
            bool   mensagemEmBranco = String.IsNullOrEmpty(_lblMessage.Text.Trim());
            if (mensagemEmBranco && !UCGridContato1.SalvaConteudoGrid(out msgErro))
            {
                UCGridContato1._MensagemErro.Visible = false;
                _lblMessage.Text     = msgErro;
                txtSelectedTab.Value = "2";
                return;
            }

            if (mensagemEmBranco && !UCGridCertidaoCivil1.AtualizaViewState(out msgErro))
            {
                _lblMessage.Text     = msgErro;
                txtSelectedTab.Value = "3";
                return;
            }

            if (!UCGridDocumento1.ValidaConteudoGrid(out msgErro))
            {
                UCGridDocumento1._MensagemErro.Visible = false;
                _lblMessage.Text     = UtilBO.GetErroMessage(msgErro, UtilBO.TipoMensagem.Alerta);
                txtSelectedTab.Value = "3";
                return;
            }

            //Adiciona valores na entidade de pessoa
            PES_Pessoa entityPessoa = new PES_Pessoa
            {
                pes_id = UCCadastroPessoa1._VS_pes_id
                ,
                pes_nome = UCCadastroPessoa1._txtNome.Text
                ,
                pes_nome_abreviado = UCCadastroPessoa1._txtNomeAbreviado.Text
                ,
                pai_idNacionalidade = new Guid(UCCadastroPessoa1._ComboNacionalidade.SelectedValue)
                ,
                pes_naturalizado = UCCadastroPessoa1._chkNaturalizado.Checked
                ,
                cid_idNaturalidade = UCCadastroPessoa1._VS_cid_id
                ,
                pes_dataNascimento = (String.IsNullOrEmpty(UCCadastroPessoa1._txtDataNasc.Text.Trim())? new DateTime() : Convert.ToDateTime(UCCadastroPessoa1._txtDataNasc.Text.Trim()))
                ,
                pes_racaCor = UCCadastroPessoa1._ComboRacaCor.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboRacaCor.SelectedValue)
                ,
                pes_sexo = UCCadastroPessoa1._ComboSexo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboSexo.SelectedValue)
                ,
                pes_idFiliacaoPai = UCCadastroPessoa1._VS_pes_idFiliacaoPai
                ,
                pes_idFiliacaoMae = UCCadastroPessoa1._VS_pes_idFiliacaoMae
                ,
                tes_id = new Guid(UCCadastroPessoa1._ComboEscolaridade.SelectedValue)
                ,
                pes_estadoCivil = UCCadastroPessoa1._ComboEstadoCivil.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboEstadoCivil.SelectedValue)
                ,
                pes_situacao = 1
                ,
                IsNew = (UCCadastroPessoa1._VS_pes_id != Guid.Empty) ? false : true
            };

            PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia
            {
                pes_id = _VS_pes_id
                ,
                tde_id = new Guid(UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue)
                ,
                IsNew = true
            };

            CFG_Arquivo entArquivo = null;

            //armazema a imagem na entidade de pessoa
            if (!string.IsNullOrEmpty(UCCadastroPessoa1._iptFoto.PostedFile.FileName))
            {
                string tam = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TAMANHO_MAX_FOTO_PESSOA);

                if (!string.IsNullOrEmpty(tam))
                {
                    if (UCCadastroPessoa1._iptFoto.PostedFile.ContentLength > Convert.ToInt32(tam) * 1000)
                    {
                        throw new ArgumentException("Foto é maior que o tamanho máximo permitido.");
                    }

                    if (UCCadastroPessoa1._iptFoto.PostedFile.FileName.Substring(UCCadastroPessoa1._iptFoto.PostedFile.FileName.Length - 3, 3).ToUpper() != "JPG")
                    {
                        throw new ArgumentException("Foto tem que estar no formato \".jpg\".");
                    }
                }

                entArquivo = CFG_ArquivoBO.CriarEntidadeArquivo(UCCadastroPessoa1._iptFoto.PostedFile);

                if (_VS_arq_idAntigo > 0)
                {
                    // Se já existia foto e vai ser alterada, muda só o conteúdo.
                    entArquivo.arq_id = _VS_arq_idAntigo;
                    entArquivo.IsNew  = false;
                }
            }

            if (_VS_arq_idAntigo > 0)
            {
                entityPessoa.arq_idFoto = _VS_arq_idAntigo;
            }

            XmlDocument xDoc      = new XmlDocument();
            XmlNode     xElem     = xDoc.CreateNode(XmlNodeType.Element, "Coluna", string.Empty);
            XmlNode     xNodeCoor = xDoc.CreateNode(XmlNodeType.Element, "ColunaValorAntigo", string.Empty);
            XmlNode     xNode;

            for (int i = 0; i < _VS_AssociarPessoas.Rows.Count; i++)
            {
                if ((_VS_AssociarPessoas.Rows[i]["pes_id"].ToString()) != _VS_pes_id.ToString())
                {
                    xNodeCoor       = xDoc.CreateNode(XmlNodeType.Element, "ColunaValorAntigo", "");
                    xNode           = xDoc.CreateNode(XmlNodeType.Element, "valor", "");
                    xNode.InnerText = _VS_AssociarPessoas.Rows[i]["pes_id"].ToString();
                    xNodeCoor.AppendChild(xNode);
                    xElem.AppendChild(xNodeCoor);
                }
            }
            xDoc.AppendChild(xElem);

            if (PES_PessoaBO.AssociarPessoas(entityPessoa, entityPessoaDeficiencia, UCEnderecos1._VS_enderecos, UCGridContato1._VS_contatos, UCGridDocumento1.RetornaDocumentoSave(), UCGridCertidaoCivil1._VS_certidoes, _VS_pai_idAntigo, _VS_cid_idAntigo, _VS_pes_idPaiAntigo, _VS_pes_idMaeAntigo, _VS_tes_idAntigo, _VS_tde_idAntigo, xDoc))
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "pes_id: " + entityPessoa.pes_id);
                __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoas associadas com sucesso."), UtilBO.TipoMensagem.Sucesso);

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoPessoa/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar associar as pessoas.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar associar as pessoas.", UtilBO.TipoMensagem.Erro);
        }
        finally
        {
            _updGridPessoas.Update();
        }
    }
示例#23
0
        /// <summary>
        /// Validar idade do aluno de acordo com o CurriculoPeriodo no qual ele está inserido.
        /// Valida a idade máxima ideal + a amplitude do parâmetro acadêmico ou o valor informado
        /// no parâmetro amplitude.
        /// Valida a idade mínima ideal quando informado através da flag validarIdadeMinima - quando
        /// informada sempre valida usando a amplitudo passada por parâmetro na função.
        /// </summary>
        /// <param name="entity">Entidade AlunoCurriculo carregada</param>
        /// <param name="bancoGestao">Transação com banco Gestão - obrigatório</param>
        /// <param name="bancoCore">Transação com banco CoreSSO - opcional</param>
        /// <param name="validarIdadeMinima">Flag que indica se é pra validar idade mínima também</param>
        /// <param name="amplitude">Amplitude, se > 0, substitui a amplitude do parâmetro acadêmico</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        /// <returns>Se idade válida</returns>
        internal static bool ValidarIdadeIdeal
        (
            ACA_AlunoCurriculo entity
            , TalkDBTransaction bancoGestao
            , TalkDBTransaction bancoCore
            , bool validarIdadeMinima
            , int amplitude
            , Guid ent_id
        )
        {
            ACA_Aluno entAluno = new ACA_Aluno {
                alu_id = entity.alu_id
            };

            ACA_AlunoBO.GetEntity(entAluno, bancoGestao);

            if (entAluno.alu_situacao != Convert.ToByte(ACA_AlunoSituacao.Inativo))
            {
                if (entity.alc_situacao == Convert.ToByte(ACA_AlunoCurriculoSituacao.Ativo) ||
                    entity.alc_situacao == Convert.ToByte(ACA_AlunoCurriculoSituacao.EmMatricula))
                {
                    ACA_CurriculoPeriodo entCurPer = new ACA_CurriculoPeriodo {
                        cur_id = entity.cur_id, crr_id = entity.crr_id, crp_id = entity.crp_id
                    };
                    ACA_CurriculoPeriodoBO.GetEntity(entCurPer, bancoGestao);

                    PES_Pessoa entPessoa = new PES_Pessoa {
                        pes_id = entAluno.pes_id
                    };
                    if (bancoCore == null)
                    {
                        PES_PessoaBO.GetEntity(entPessoa);
                    }
                    else
                    {
                        PES_PessoaBO.GetEntity(entPessoa, bancoCore);
                    }

                    // Quantidade de meses da idade máxima da criança cadastrada no CurrPeriodo.
                    int idadeMaxima = (entCurPer.crp_idadeIdealAnoFim * 12) + entCurPer.crp_idadeIdealMesFim;

                    if (amplitude > 0)
                    {
                        idadeMaxima += amplitude;
                    }
                    else
                    {
                        int pac_valor = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.AMPLITUDE_IDADE_ALERTA, ent_id);

                        // Soma quantidade em meses do parâmetro de amplitude.
                        idadeMaxima += (pac_valor > 0 ? (pac_valor * 12) : 0);
                    }

                    // Valida a quantidade de meses da idade da criança.
                    int anos, meses, dias;
                    GestaoEscolarUtilBO.CalculaAniversarioCompleto(DateTime.Now, entPessoa.pes_dataNascimento, out anos, out meses, out dias);

                    int idade = (anos * 12) + meses;

                    if (idade > idadeMaxima)
                    {
                        anos  = idadeMaxima / 12;
                        meses = idadeMaxima % 12;

                        string sAnos  = anos > 0 ? (anos + (anos > 1 ? " anos" : " ano")) : string.Empty;
                        string sMeses = meses > 0 ? (anos > 0 ? " e " : "") + meses + (meses > 1 ? " meses" : " mês") : string.Empty;
                        throw new ACA_Aluno_ValidationException("A idade do aluno não pode ser maior que " + sAnos + sMeses + ".");
                    }

                    ACA_Curriculo curso = ACA_CurriculoBO.GetEntity(new ACA_Curriculo {
                        cur_id = entity.cur_id, crr_id = entity.crr_id
                    });

                    if (validarIdadeMinima &&
                        curso.crr_regimeMatricula == 3 &&
                        ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.VALIDAR_IDADE_MINIMA_PEJA, ent_id))
                    {
                        // Quantidade de meses da idade máxima da criança cadastrada no CurrPeriodo.
                        int idadeMinima = (entCurPer.crp_idadeIdealAnoInicio * 12) + entCurPer.crp_idadeIdealMesInicio;

                        idadeMinima -= amplitude;

                        if (idade < idadeMinima)
                        {
                            anos  = idadeMinima / 12;
                            meses = idadeMinima % 12;

                            string sAnos  = anos > 0 ? (anos + (anos > 1 ? " anos" : " ano")) : string.Empty;
                            string sMeses = meses > 0 ? (anos > 0 ? " e " : "") + meses + (meses > 1 ? " meses" : " mês") : string.Empty;
                            throw new ACA_Aluno_ValidationException("A idade do aluno não pode ser menor que " + sAnos + sMeses + ".");
                        }
                    }
                }
            }

            return(true);
        }
示例#24
0
        /// <summary>
        /// Verifica se o item existia e deixou de existir, exclui caso positivo.
        /// </summary>
        /// <param name="listaInseridos">Lista de itens inseridos</param>
        /// <param name="bancoCore">Transação do Core</param>
        /// <param name="bancoGestao">Transação do Gestão</param>
        /// <param name="cadastrado">Item a ser verificado</param>
        /// <param name="tra_idProprio"></param>
        private static void VerifcaItemCadastrado
        (
            List <StructCadastro> listaInseridos
            , TalkDBTransaction bancoCore
            , TalkDBTransaction bancoGestao
            , StructCadastro cadastrado
            , Int32 tra_idProprio
        )
        {
            if (!listaInseridos.Exists
                    (p =>
                    p.entAlunoResp.tra_id == cadastrado.entAlunoResp.tra_id
                    ))
            {
                // Se o tipo de responsável não existir mais, excluir.
                ACA_AlunoResponsavel entResp = cadastrado.entAlunoResp;

                PES_Pessoa entPessoa = new PES_Pessoa
                {
                    pes_id = entResp.pes_id
                };
                PES_PessoaBO.GetEntity(entPessoa, bancoCore);

                // Verificar documento.
                if (cadastrado.listPessoaDoc.Count > 0)
                {
                    // Caso tiver documento para o responsável, será decrementado a integridade.
                    foreach (PES_PessoaDocumento documento in cadastrado.listPessoaDoc)
                    {
                        DecrementaIntegridadeDocumentoPessoa(bancoCore, documento.tdo_id, entPessoa.pes_id);
                    }
                }

                // Decrementa integridade da pessoa.
                DecrementaIntegridadePessoa(bancoCore, entPessoa);

                Delete(entResp, bancoGestao);
            }
            else
            {
                StructCadastro inserido = listaInseridos.Find
                                              (p =>
                                              p.entAlunoResp.tra_id == cadastrado.entAlunoResp.tra_id
                                              );

                if ((inserido.listPessoaDoc.Count < cadastrado.listPessoaDoc.Count) &&
                    (inserido.entAlunoResp.tra_id != tra_idProprio))
                {
                    // Se existia um documento e foi removido (quando for diferente do Próprio aluno), excluir o documento.
                    ExcluirDocumentoReponsavel(
                        cadastrado.listPessoaDoc
                        , inserido.listPessoaDoc
                        , cadastrado.entPessoa.pes_id
                        , bancoCore
                        );
                }

                if (inserido.entPessoa.pes_id != cadastrado.entPessoa.pes_id)
                {
                    // Mudou a pessoa - decrementa integridade da pessoa anterior.
                    PES_Pessoa entPessoa = cadastrado.entPessoa;

                    // Decrementa integridade da pessoa.
                    DecrementaIntegridadePessoa(bancoCore, entPessoa);

                    if ((!inserido.entPessoa.IsNew) && (!inserido.entAlunoResp.IsNew))
                    {
                        // Se a pessoa não for nova, nem o responsável - incrementa
                        // integridade da pessoa inserida.
                        PES_PessoaBO.IncrementaIntegridade(inserido.entPessoa.pes_id, bancoCore);
                    }
                }
            }
        }
示例#25
0
    /// <summary>
    /// Insere e altera uma pessoa
    /// </summary>
    private void _Salvar()
    {
        try
        {
            string msgErro;
            bool   mensagemEmBranco = String.IsNullOrEmpty(_lblMessage.Text.Trim());
            if (mensagemEmBranco && !UCGridContato1.SalvaConteudoGrid(out msgErro))
            {
                UCGridContato1._MensagemErro.Visible = false;
                _lblMessage.Text     = msgErro;
                txtSelectedTab.Value = "2";
                return;
            }

            if (mensagemEmBranco && !UCGridCertidaoCivil1.AtualizaViewState(out msgErro))
            {
                _lblMessage.Text     = msgErro;
                txtSelectedTab.Value = "3";
                return;
            }

            if (!UCGridDocumento1.ValidaConteudoGrid(out msgErro))
            {
                UCGridDocumento1._MensagemErro.Visible = false;
                _lblMessage.Text     = UtilBO.GetErroMessage(msgErro, UtilBO.TipoMensagem.Alerta);
                txtSelectedTab.Value = "3";
                return;
            }

            //Adiciona valores na entidade de pessoa
            PES_Pessoa entityPessoa = new PES_Pessoa
            {
                pes_id = UCCadastroPessoa1._VS_pes_id
                ,
                pes_nome = UCCadastroPessoa1._txtNome.Text
                ,
                pes_nome_abreviado = UCCadastroPessoa1._txtNomeAbreviado.Text
                ,
                pes_nomeSocial = UCCadastroPessoa1._txtNomeSocial.Text
                ,
                pai_idNacionalidade = UCCadastroPessoa1._ComboNacionalidade.SelectedValue == "-1" ? Guid.Empty : new Guid(UCCadastroPessoa1._ComboNacionalidade.SelectedValue)
                ,
                pes_naturalizado = UCCadastroPessoa1._chkNaturalizado.Checked
                ,
                cid_idNaturalidade = UCCadastroPessoa1._VS_cid_id
                ,
                pes_dataNascimento = (String.IsNullOrEmpty(UCCadastroPessoa1._txtDataNasc.Text.Trim()) ? new DateTime() : Convert.ToDateTime(UCCadastroPessoa1._txtDataNasc.Text.Trim()))
                ,
                pes_racaCor = UCCadastroPessoa1._ComboRacaCor.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboRacaCor.SelectedValue)
                ,
                pes_sexo = UCCadastroPessoa1._ComboSexo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboSexo.SelectedValue)
                ,
                pes_idFiliacaoPai = UCCadastroPessoa1._VS_pes_idFiliacaoPai
                ,
                pes_idFiliacaoMae = UCCadastroPessoa1._VS_pes_idFiliacaoMae
                ,
                tes_id = new Guid(UCCadastroPessoa1._ComboEscolaridade.SelectedValue)
                ,
                pes_estadoCivil = UCCadastroPessoa1._ComboEstadoCivil.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCCadastroPessoa1._ComboEstadoCivil.SelectedValue)
                ,
                pes_situacao = 1
                ,
                IsNew = (UCCadastroPessoa1._VS_pes_id != Guid.Empty) ? false : true
            };

            PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia
            {
                pes_id = _VS_pes_id
                ,
                tde_id = new Guid(UCCadastroPessoa1._ComboTipoDeficiencia.SelectedValue)
                ,
                IsNew = true
            };

            CFG_Arquivo entArquivo = null;

            //armazema a imagem na entidade de pessoa
            if (!string.IsNullOrEmpty(UCCadastroPessoa1._iptFoto.PostedFile.FileName))
            {
                string tam = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TAMANHO_MAX_FOTO_PESSOA);

                if (!string.IsNullOrEmpty(tam))
                {
                    if (UCCadastroPessoa1._iptFoto.PostedFile.ContentLength > Convert.ToInt32(tam) * 1000)
                    {
                        throw new ArgumentException("Foto é maior que o tamanho máximo permitido.");
                    }
                }

                if (UCCadastroPessoa1._iptFoto.PostedFile.FileName.Substring(UCCadastroPessoa1._iptFoto.PostedFile.FileName.Length - 3, 3).ToUpper() != "JPG")
                {
                    throw new ArgumentException("Foto tem que estar no formato \".jpg\".");
                }

                entArquivo = CFG_ArquivoBO.CriarEntidadeArquivo(UCCadastroPessoa1._iptFoto.PostedFile);

                if (_VS_arq_idAntigo > 0)
                {
                    // Se já existia foto e vai ser alterada, muda só o conteúdo.
                    entArquivo.arq_id = _VS_arq_idAntigo;
                    entArquivo.IsNew  = false;
                }
            }

            if (_VS_arq_idAntigo > 0)
            {
                entityPessoa.arq_idFoto = _VS_arq_idAntigo;
            }

            //Chama método salvar da pessoa

            /* [OLD]  if (PES_PessoaBO.Save(entityPessoa
             *                  , entityPessoaDeficiencia
             *                  , UCEnderecos1._VS_enderecos
             *                  , UCGridContato1._VS_contatos
             *                  , UCGridDocumento1.RetornaDocumentoSave()
             *                  , UCGridCertidaoCivil1._VS_certidoes
             *                  , _VS_pai_idAntigo
             *                  , _VS_cid_idAntigo
             *                  , _VS_pes_idPaiAntigo
             *                  , _VS_pes_idMaeAntigo
             *                  , _VS_tes_idAntigo
             *                  , _VS_tde_idAntigo
             *                  , ApplicationWEB.TipoImagensPermitidas
             *                  , ApplicationWEB.TamanhoMaximoArquivo
             *                  , entArquivo
             *                  , UCCadastroPessoa1._chbExcluirImagem.Checked
             *                  )
             *     )*/
            END_Endereco entityEndereco = new END_Endereco();

            string    msg;
            DataTable dtEndereco;

            bool cadastraEndereco = UCEnderecos1.RetornaEnderecoCadastrado(out dtEndereco, out msg);

            if (PES_PessoaBO.Save(entityPessoa
                                  , entityPessoaDeficiencia
                                  , dtEndereco
                                  , UCGridContato1._VS_contatos
                                  , UCGridDocumento1.RetornaDocumentoSave()
                                  , UCGridCertidaoCivil1._VS_certidoes
                                  , _VS_pai_idAntigo
                                  , _VS_cid_idAntigo
                                  , _VS_pes_idPaiAntigo
                                  , _VS_pes_idMaeAntigo
                                  , _VS_tes_idAntigo
                                  , _VS_tde_idAntigo
                                  , ApplicationWEB.TipoImagensPermitidas
                                  , ApplicationWEB.TamanhoMaximoArquivo
                                  , entArquivo
                                  , UCCadastroPessoa1._chbExcluirImagem.Checked
                                  )
                )
            {
                if (_VS_pes_id == Guid.Empty)
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "pes_id: " + entityPessoa.pes_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoa incluída com sucesso."), UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "pes_id: " + entityPessoa.pes_id);
                    __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Pessoa alterada com sucesso."), UtilBO.TipoMensagem.Sucesso);
                }

                Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "ManutencaoPessoa/Busca.aspx", false);
            }
            else
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a pessoa.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException ex)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar a pessoa.", UtilBO.TipoMensagem.Erro);
        }
    }
示例#26
0
        /// <summary>
        /// Salva no banco os dados do item passado por parâmetro, retorna o item inserido.
        /// </summary>
        /// <param name="tra_idPrincipal">ID do tipo de responsável</param>
        /// <param name="entAluno">Aluno</param>
        /// <param name="item">Item a ser inserido</param>
        /// <param name="tra_idProprio">Id padrão do tipo de responsável "O próprio"</param>
        /// <param name="bancoCore">Transação do banco do Core</param>
        /// <param name="tra_idMae">Id padrão do tipo de responsável "Mãe"</param>
        /// <param name="tra_idPai">Id padrão do tipo de responsável "Pai"</param>
        /// <param name="bancoGestao">Transação do banco do Gestão</param>
        /// <param name="tdo_idCPF">ID padrão do tipo de documento CPF</param>
        /// <param name="tdo_idRG">ID padrão do tipo de documento RG</param>
        /// <param name="tdo_idNis">ID padrão do tipo de documento NIS</param>
        /// <param name="pes_idMae">ref - id da Mãe do aluno</param>
        /// <param name="pes_idPai">ref - id do Pai do aluno</param>
        /// <param name="salvarMaiusculo">Indica se os nomes devem ser salvos em maiúsculos</param>
        /// <param name="ListValidacoesDoc"></param>
        /// <param name="ListSalvar">Lista de responsaveis que estao sendo salvos, para nao considerar o mesmo documento</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        /// <returns>Os dados inseridos</returns>
        private static StructCadastro SalvarResponsavel
        (
            Int32 tra_idPrincipal
            , ACA_Aluno entAluno
            , StructCadastro item
            , int tra_idProprio
            , TalkDBTransaction bancoCore
            , int tra_idMae
            , int tra_idPai
            , TalkDBTransaction bancoGestao
            , Guid tdo_idCPF
            , Guid tdo_idRG
            , Guid tdo_idNis
            , ref Guid pes_idMae
            , ref Guid pes_idPai
            , bool salvarMaiusculo
            , ref List <string> ListValidacoesDoc
            , List <StructCadastro> ListSalvar
            , Guid ent_id
        )
        {
            // Salvar os responsáveis.
            ACA_AlunoResponsavel       entResp   = item.entAlunoResp;
            PES_Pessoa                 entPessoa = item.entPessoa;
            List <PES_PessoaDocumento> lisDocResp;

            entResp.alu_id = entAluno.alu_id;

            if (entResp.tra_id == tra_idProprio)
            {
                // Se for o próprio, seta o id da Pessoa = o Id da pessoa do aluno.
                entResp.pes_id = entAluno.pes_id;

                // Salvar a integridade da pessoa.
                if (entResp.IsNew)
                {
                    PES_PessoaBO.IncrementaIntegridade(entAluno.pes_id, bancoCore);
                }
            }
            else
            {
                if ((salvarMaiusculo) && (!String.IsNullOrEmpty(entPessoa.pes_nome)))
                {
                    entPessoa.pes_nome = entPessoa.pes_nome.ToUpper();
                }

                // Só salva a pessoa se o nome estiver preenchido.
                if (!String.IsNullOrEmpty(entPessoa.pes_nome))
                {
                    // Faz a verificação caso exista a pessoa com o CPF passado por parâmetro.
                    Guid responsavel = Valida_Responsavel_CPF(item.listPessoaDoc, entResp.tra_id, ref ListValidacoesDoc, ent_id, entPessoa.pes_id, ListSalvar);
                    if (responsavel == new Guid())
                    {
                        // Se não existir, salva a entidade pessoa.
                        PES_PessoaBO.Save(entPessoa, bancoCore);
                    }
                    else
                    {
                        entPessoa.pes_id = responsavel;
                        entPessoa.IsNew  = false;

                        #region Atualiza - Entidade Pessoa (Cria uma entidade auxiliar para atualizar apenas o nome)

                        //Atualiza apenas o nome do responsável, recebendo todas as informações ja cadastradas
                        PES_Pessoa pesAux = new PES_Pessoa
                        {
                            pes_id = entPessoa.pes_id
                        };
                        PES_PessoaBO.GetEntity(pesAux);

                        pesAux.pes_nome = entPessoa.pes_nome;
                        //// movimentado os valores por que esses campos não estavam sendo gravados
                        pesAux.pes_dataNascimento = entPessoa.pes_dataNascimento;
                        pesAux.pes_estadoCivil    = entPessoa.pes_estadoCivil;
                        pesAux.tes_id             = entPessoa.tes_id;
                        ////
                        entPessoa = pesAux;

                        #endregion Atualiza - Entidade Pessoa (Cria uma entidade auxiliar para atualizar apenas o nome)

                        // Se for matricula
                        if (entAluno.IsNew)
                        {
                            #region Atualiza - Entidade Aluno Responsavel (Caso existir a informações referente a profissão e situação)

                            //Faz verificação se existe as informações referente a profissão e situação do responsável
                            byte   situacao_responsavel;
                            string profissao_responsavel;

                            RetornaAlunoResponsavel_Situacao_Profissao(entPessoa.pes_id, out situacao_responsavel, out profissao_responsavel);

                            if (situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido))
                            {
                                entResp.alr_situacao = Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido);
                            }
                            else
                            {
                                entResp.alr_situacao = Convert.ToByte(ACA_AlunoResponsavelSituacao.Ativo);
                            }

                            entResp.alr_profissao = profissao_responsavel;

                            #endregion Atualiza - Entidade Aluno Responsavel (Caso existir a informações referente a profissão e situação)
                        }
                        else
                        {
                            // Caso já exista o responsável, será atualizado os campos: situção (Quando for falecido = 4) e o campo profissão.
                            AtualizaResponsavel_Profissao_Situacao(entPessoa.pes_id, entResp.alr_profissao, entResp.alr_empresa, entResp.alr_situacao, bancoGestao);
                        }

                        PES_PessoaBO.Save(entPessoa, bancoCore);
                    }
                }
                else
                {
                    entPessoa.pes_id = Guid.Empty;
                }

                if ((entPessoa.IsNew) || (entResp.IsNew))
                {
                    PES_PessoaBO.IncrementaIntegridade(entPessoa.pes_id, bancoCore);
                }

                entResp.pes_id = entPessoa.pes_id;

                // Seta o Id da mãe e do Pai para alterar na pessoa do aluno.
                if (entResp.tra_id == tra_idMae)
                {
                    pes_idMae = entPessoa.pes_id;
                }
                else if (entResp.tra_id == tra_idPai)
                {
                    pes_idPai = entPessoa.pes_id;
                }
            }

            // Seta responsável principal.
            entResp.alr_principal = (entResp.tra_id == tra_idPrincipal);

            Save(entResp, bancoGestao);

            if (entResp.tra_id != tra_idProprio)
            {
                // Salva os documentos dos responsáveis
                lisDocResp = SalvaDocumentoResponsavel(
                    item.listPessoaDoc
                    , entResp.pes_id
                    , tra_idProprio
                    , entResp.tra_id
                    , tdo_idCPF
                    , tdo_idRG
                    , tdo_idNis
                    , bancoCore
                    , ref ListValidacoesDoc);
            }
            else
            {
                lisDocResp = new List <PES_PessoaDocumento>();
            }

            // Retorna item inserido.
            return(new StructCadastro
            {
                entAlunoResp = entResp,
                entPessoa = entPessoa,
                listPessoaDoc = lisDocResp
            });
        }
示例#27
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ScriptManager sm = ScriptManager.GetCurrent(this);
                if (sm != null)
                {
                    sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmBtn));
                }

                string mensagemFlash = CFG_ParametroMensagemBO.RetornaValor(CFG_ParametroMensagemChave.CAPTURA_REQUERFLASH);
                lblMessageFlash.Text    = UtilBO.GetErroMessage(mensagemFlash, UtilBO.TipoMensagem.Informacao);
                lblMessageFlash.Visible = !String.IsNullOrEmpty(mensagemFlash);
                if (Session["alu_id"] != null)
                {
                    if (Session["PaginaRetorno_CapturaFoto"] != null)
                    {
                        VS_PaginaRetorno = Session["PaginaRetorno_CapturaFoto"].ToString();
                        Session.Remove("PaginaRetorno_CapturaFoto");
                        VS_DadosPaginaRetorno = Session["DadosPaginaRetorno"];
                        Session.Remove("DadosPaginaRetorno");

                        VS_DadosPaginaRetorno_MinhasTurmas = Session["VS_DadosTurmas"];
                        Session.Remove("VS_DadosTurmas");
                    }

                    VS_alu_id = Convert.ToInt64(Session["alu_id"].ToString());
                    Session.Remove("alu_id");
                    busca = false;
                }

                if (((PreviousPage != null) && (PreviousPage.EditItem > 0)) || VS_alu_id != -1)
                {
                    if (VS_alu_id == -1)
                    {
                        VS_alu_id = PreviousPage.EditItem;
                    }

                    InfoComplementarAluno1.InformacaoComplementarAluno(VS_alu_id);

                    ACA_Aluno alu = new ACA_Aluno
                    {
                        alu_id = VS_alu_id
                    };
                    ACA_AlunoBO.GetEntity(alu);

                    PES_Pessoa pes = new PES_Pessoa
                    {
                        pes_id = alu.pes_id
                    };
                    PES_PessoaBO.GetEntity(pes);

                    CFG_Arquivo entFoto;
                    string      src = CriaFotoAluno(pes, out entFoto);

                    imgAntiga.Visible   = !string.IsNullOrEmpty(src) && string.IsNullOrEmpty(hdnArqExcluir.Value);
                    lblDataFoto.Visible = imgAntiga.Visible;

                    if (imgAntiga.Visible)
                    {
                        const string script = "var existeImagem = true;";
                        Page.ClientScript.RegisterStartupScript(typeof(Page), "confirm", script, true);

                        imgAntiga.Src = src;
                        imgAntiga.Style.Remove("display");
                        lblDataFoto.Text = @"<br />Última alteração da foto: " + entFoto.arq_dataAlteracao.ToString("dd/MM/yyyy");
                    }
                    else
                    {
                        imgAntiga.Src = "";
                        imgAntiga.Style.Add("display", "none");
                    }
                }
                else
                {
                    Redireciona();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
            }
        }
示例#28
0
    /// <summary>
    /// Retorna a estrutura utilizada para cadastrar, com os dados do USercontrol.
    /// </summary>
    /// <param name="tra_idPrincipal">id do tipo de respnsável selecionado na tela.</param>
    /// <param name="item">Estrutura de cadastro.</param>
    /// <returns>Se tiver o responsável cadastrado</returns>
    public bool RetornaStructCadastro(Int32 tra_idPrincipal, out ACA_AlunoResponsavelBO.StructCadastro item)
    {
        //Faz a validação dos documentos do responsável.
        if (ValidaCampoDocumento())
        {
            throw new ValidationException(MsgValidacaoDocumento());
        }

        DateTime dataNascimento = new DateTime();

        if (!String.IsNullOrEmpty(txtDataNasc.Text.Trim()))
        {
            dataNascimento = Convert.ToDateTime(txtDataNasc.Text.Trim());
        }

        // Dados da pessoa.
        PES_Pessoa entPessoa = new PES_Pessoa
        {
            pes_id = VS_Pes_ID
        };

        if (VS_Pes_ID != Guid.Empty)
        {
            PES_PessoaBO.GetEntity(entPessoa);
        }

        entPessoa.pes_nome           = txtNome.Text;
        entPessoa.pes_dataNascimento = dataNascimento;
        entPessoa.pes_estadoCivil    = Convert.ToByte(
            (UCComboEstadoCivil1._Combo.SelectedValue.Equals("-1") ?
             "0" :
             UCComboEstadoCivil1._Combo.SelectedValue));
        if (VS_TipoResponsavel == TipoResponsavel.Pai)
        {
            entPessoa.pes_sexo = 1;
        }
        else
        {
            if (VS_TipoResponsavel == TipoResponsavel.Mae)
            {
                entPessoa.pes_sexo = 2;
            }
            else
            {
                entPessoa.pes_sexo = Convert.ToByte((UCComboSexo1._Combo.SelectedValue.Equals("-1") ? "0" : UCComboSexo1._Combo.SelectedValue));
            }
        }
        entPessoa.tes_id       = UCComboTipoEscolaridade1.Valor;
        entPessoa.pes_situacao = 1;

        Int32 tra_id = RetornaTraID(tra_idPrincipal);

        ACA_AlunoResponsavel entRespnsavel = new ACA_AlunoResponsavel
        {
            alr_id = VS_Alr_ID
            ,
            alr_apenasFiliacao = chkApenasFiliacao.Checked
            ,
            alr_moraComAluno = chkMoraComAluno.Checked
            ,
            alr_constaCertidaoNascimento = !chkNaoConstaCertidaoNasc.Checked
            ,
            alr_omitidoFormaLei = chkOmitidoFormaLei.Checked
            ,
            tra_id = tra_id
            ,
            alr_principal = (tra_id == tra_idPrincipal)
            ,
            alr_situacao = (byte)(chkSituacaoFalecido.Checked ?
                                  ACA_AlunoResponsavelSituacao.Falecido :
                                  ACA_AlunoResponsavelSituacao.Ativo)
            ,
            alr_profissao = txtProfissao.Text
            ,
            IsNew = VS_Alr_ID <= 0
        };

        List <PES_PessoaDocumento> listDocResp;

        listDocResp = InserirDocumentoResponsavel(entPessoa.pes_id, txtCPFResponsavel.Text, txtRGResponsavel.Text, txtNis.Text.Trim());

        item               = new ACA_AlunoResponsavelBO.StructCadastro();
        item.entPessoa     = entPessoa;
        item.entAlunoResp  = entRespnsavel;
        item.listPessoaDoc = listDocResp;


        bool naoConstaCertidao = false;

        if (VS_TipoResponsavel == TipoResponsavel.Mae || VS_TipoResponsavel == TipoResponsavel.Pai)
        {
            naoConstaCertidao = chkNaoConstaCertidaoNasc.Checked;
        }

        // Se o nome estiver preenchido, ou pelo menos um dos campos não consta na certidão
        //ou omitido na forma da lei estiverem preenchidos, ou se for responsável o próprio, retorna true.
        return((!String.IsNullOrEmpty(entPessoa.pes_nome) || naoConstaCertidao || chkOmitidoFormaLei.Checked) ||
               (tra_id == TipoResponsavelAlunoParametro.tra_idProprio(__SessionWEB.__UsuarioWEB.Usuario.ent_id)));
    }
示例#29
0
        protected void grvLimitesCalendario_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                var data = e.Row.DataItem as sLimite;

                var ltlAlcance = e.Row.FindControl("ltlAlcance") as ITextControl;
                if (ltlAlcance != null)
                {
                    if (data.evl.esc_id > 0)
                    {
                        var escola = new ESC_Escola()
                        {
                            esc_id = data.evl.esc_id
                        };
                        ESC_EscolaBO.GetEntity(escola);

                        ltlAlcance.Text = escola.esc_nome;
                    }
                    else if (data.evl.uad_id != Guid.Empty)
                    {
                        var dre = new SYS_UnidadeAdministrativa {
                            uad_id = data.evl.uad_id, ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id
                        };
                        SYS_UnidadeAdministrativaBO.GetEntity(dre);

                        ltlAlcance.Text = dre.uad_nome;
                    }
                    else
                    {
                        ltlAlcance.Text = "Toda a rede";
                    }
                }

                var ltlUsuario = e.Row.FindControl("ltlUsuario") as ITextControl;
                if (ltlUsuario != null)
                {
                    var usuario = new SYS_Usuario()
                    {
                        usu_id = data.evl.usu_id
                    };
                    SYS_UsuarioBO.GetEntity(usuario);

                    var pessoa = new PES_Pessoa()
                    {
                        pes_id = usuario.pes_id
                    };
                    PES_PessoaBO.GetEntity(pessoa);

                    ltlUsuario.Text = pessoa.pes_nome ?? usuario.usu_login;
                }

                var ltlVigencia = e.Row.FindControl("ltlVigencia") as ITextControl;
                if (ltlVigencia != null)
                {
                    ltlVigencia.Text = string.Format("{0} - {1}",
                                                     data.evl.evl_dataInicio.ToString("dd/MM/yyyy"),
                                                     data.evl.evl_dataFim.ToString("dd/MM/yyyy"));
                }

                //var btnExcluir = e.Row.FindControl("btnExcluir") as WebControl;
                //if (btnExcluir != null)
                //{
                //    btnExcluir.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir;
                //}
            }
        }