private enumAcaoNaPagina PegarAcao(V entity, enumAcaoNaPagina acao = enumAcaoNaPagina.Criacao) { var existId = (int)entity .GetType() .GetProperties() .FirstOrDefault(x => x.Name == "ID" || x.Name.EndsWith("ID")) .GetValue(entity) > 0; var name = entity.GetType().Name; if (name == "MatriculaTurma" || name == "MatriculaOferta") { if (existId) { return(enumAcaoNaPagina.EdicaoMatricula); } return(enumAcaoNaPagina.IncricaoAluno); } if (existId && acao != enumAcaoNaPagina.Exclusao) { return(enumAcaoNaPagina.Edicao); } return(acao); }
private void SalvarLog(V entity, enumAcaoNaPagina acao = enumAcaoNaPagina.Criacao) { if (HttpContext.Current?.Session == null) { return; } var paginaAtual = (Pagina)HttpContext.Current.Session["paginaAtual"]; var queryString = HttpContext.Current.Request.QueryString.ToString(); var usuarioLogado = (Usuario)HttpContext.Current.Session["usuarioSGUS"]; var ip = HttpContext.Current.Request.UserHostAddress; var log = new LogAcessoPagina { IDUsuario = usuarioLogado, Pagina = paginaAtual, QueryString = queryString, Acao = PegarAcao(entity, acao), DTSolicitacao = DateTime.Now, IP = ip }; new RepositorioBase <LogAcessoPagina>().SalvarSemCommit(log); }