protected void btnAltaAdm_Click(object sender, EventArgs e)
        {
            string mensaje = "";

            string usuario  = this.txtUsuario.Text;
            string password = this.txtPassword.Text;

            //Doy de alta al administrador, si los campos no son vacios y no encontre el nombre del usuario
            if (usuario != "" && password != "")
            {
                if (!Controladora.BuscarUsuario(usuario))
                {
                    bool ok = Controladora.Instancia.AltaAdmin(usuario, password);
                    if (ok)
                    {
                        lblNroEmp.Text = Usuario.UltId.ToString();
                        mensaje        = "Alta de administrador exitosa";
                    }
                    else
                    {
                        mensaje = "No se pudo dar de alta";
                    }
                }
                else
                {
                    mensaje = "El nombre de usuario ya se encuentra ingresado";
                }
            }
            else
            {
                mensaje = "Por favor verifique que los campos no esten vacios";
            }
            this.lblMensaje.Text = mensaje;
        }
Exemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //cerramos la sesion en el log
        if (Session["sParamUsuario"] == null)
        {
            Response.Redirect("~/default.aspx");
        }
        //datos del usuario
        Hashtable usuario = (Hashtable)Session["sParamUsuario"];

        Session.Add("idUsuario", usuario["idUsuario"].ToString());

        //ELIMINAMOS LA SESION
        string[] datosBusrActivo = { Session["idUsuario"].ToString() };
        bool     bUsrActivo      = Controladora.eliminaDatos(sqlParam.eUsrActivo, datosBusrActivo);

        //MARCAMOS LA SALIDA
        string[] datosAusrLog = { Session["idUsuario"].ToString(), GetUserIP(), Request.UserHostAddress.ToString(), Request.UserAgent.ToString(), "S" };
        bool     aUsrLog      = Controladora.registraDatos(sqlParam.aUsrLog, datosAusrLog);

        //parámetros pagina
        Session.Add("sParametros", null);
        //parametros usuario
        Session.Add("sParamUsuario", null);
        Response.Redirect("~/default.aspx");
    }
        public void TestMethod1()
        {
            Controladora controladora = new Controladora();

            controladora.Tree = new FPTree();
            List <String> uno = new List <string>();

            uno.Add("Pan");
            uno.Add("Leche");
            controladora.Tree.addTransaction(uno);

            List <String> dos = new List <string>();

            dos.Add("Pan");
            dos.Add("Mantequilla");
            controladora.Tree.addTransaction(dos);

            List <String> tres = new List <string>();

            tres.Add("Cerveza");
            controladora.Tree.addTransaction(tres);

            List <String> cuatro = new List <string>();

            cuatro.Add("Pan");
            cuatro.Add("Leche");
            cuatro.Add("Mantequilla");
            controladora.Tree.addTransaction(cuatro);

            List <String> cinco = new List <string>();

            cinco.Add("Pan");
            controladora.Tree.addTransaction(cinco);

            HashSet <Dependencia> set = controladora.FunctionalDependeciesWithFPGrow(1);

            StringBuilder sb = new StringBuilder();

            foreach (Dependencia d in set)
            {
                sb.Append('{');
                foreach (String s in d.Implicante)
                {
                    sb.Append(s);
                    sb.Append(',');
                }
                sb.Append('-');
                foreach (String s in d.Implicados)
                {
                    sb.Append(s);
                    sb.Append(',');
                }
                sb.Append('}');
            }

            Assert.AreEqual(sb.ToString(), "");
        }
Exemplo n.º 4
0
 public Form1()
 {
     controladora = new Controladora();
     InitializeComponent();
     comboBox1.Items.Clear();
     foreach (DayOfWeek day in Enum.GetValues(typeof(DayOfWeek)))
     {
         comboBox1.Items.Add(day);
     }
     comboBox1.SelectedItem = comboBox1.Items[0];
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            Controladora   inst   = Controladora.Instancia;
            List <Usuario> listaU = inst.ListaUsuario;

            //Si la lista no esta vacia que me muestre el contenido
            if (listaU.Count != 0)
            {
                lstClientes.DataSource    = inst.ListaUsuario;
                lstClientes.DataTextField = "NombreUsuario";
                lstClientes.DataBind();
            }
        }
Exemplo n.º 6
0
    private void llenaMenuNietos(string id_seccion)
    {
        //validamos si traemos información, en caso contrario, solo nos salimos
        string[] menuPadre = { id_seccion };

        DataTable tablaMnPadres = Controladora.consultaDatos(sqlParam.mnPadres, menuPadre);

        for (int i = 0; i < tablaMnPadres.Rows.Count; i++)
        {
            MenuItem elemento = new MenuItem();
            elemento.Value = tablaMnPadres.Rows[i]["id_seccion"].ToString();
            elemento.Text  = tablaMnPadres.Rows[i]["name_seccion"].ToString();
            mnPrincipal.FindItem(id_seccion).ChildItems.Add(elemento);
            //llenaMenuHijos(tablaMnPadres.Rows[i]["id_Seccion"].ToString());
        }
    }
Exemplo n.º 7
0
    private void VerificaMail()
    {
        //BUSCAMOS SI ESTE USUARIO TIENE MENSAJES NO LEIDOS
        string[]  datosMnsjXusr = { Session["idUsuario"].ToString() };
        DataTable tablaMnsjXusr = Controladora.consultaDatos(sqlExpediente.mMensajesXusuario, datosMnsjXusr);

        if (tablaMnsjXusr.Rows.Count > 0)
        {
            //mostramos el panel
            pnlMensajes.Visible = true;
            //llenamos el grid
            gridMensajes.DataSource = tablaMnsjXusr;
            gridMensajes.DataBind();
        }
        else
        {
            pnlMensajes.Visible = false;
        }
    }
Exemplo n.º 8
0
    private void llenaMenuPadre(string idpadre)
    {
        Hashtable usuario = (Hashtable)Session["sParamUsuario"];

        //validamos si traemos información, en caso contrario, solo nos salimos
        string[] menuPadre = { idpadre, usuario["idPerfil"].ToString() };

        DataTable tablaMnPadres = Controladora.consultaDatos(sqlParam.mnPadres, menuPadre);

        for (int i = 0; i < tablaMnPadres.Rows.Count; i++)
        {
            MenuItem elemento = new MenuItem();
            elemento.Value = tablaMnPadres.Rows[i]["id_seccion"].ToString();
            elemento.Text  = tablaMnPadres.Rows[i]["name_seccion"].ToString();

            mnPrincipal.Items.Add(elemento);
            //pregunto si tiene hijos
            llenaMenuHijos(tablaMnPadres.Rows[i]["id_Seccion"].ToString(), usuario["idPerfil"].ToString());
        }
    }
Exemplo n.º 9
0
    //selecciono un registro del grid
    protected void gridMensajes_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row       = gridMensajes.SelectedRow;
        string      idMensaje = gridMensajes.DataKeys[row.RowIndex].Values["id_mensaje"].ToString();

        //abro el menesaje
        string[]  datosMnsjDet     = { idMensaje };
        DataTable tablaMnsjDetalle = Controladora.consultaDatos(sqlExpediente.mMensajeSeleccionado, datosMnsjDet);

        lblDe.Text         = tablaMnsjDetalle.Rows[0]["nombre"].ToString();
        lblTitulo.Text     = tablaMnsjDetalle.Rows[0]["titulo"].ToString();
        lblPrioridad.Text  = tablaMnsjDetalle.Rows[0]["prioridad"].ToString();
        lblMensaje.Text    = tablaMnsjDetalle.Rows[0]["mensaje"].ToString();
        lblExpediente.Text = tablaMnsjDetalle.Rows[0]["num_credito"].ToString();

        //actualizamos como leido el mensaje
        bool leido = Controladora.actualizaDatos(sqlExpediente.cMensajeLeido, datosMnsjDet);

        VerificaMail();
        MnsjModal.Show();
    }
Exemplo n.º 10
0
    private void llenaMenuHijos(string paramIdSeccion, string paramPerfil)
    {
        //validamos si traemos información, en caso contrario, solo nos salimos
        string[] menuPadre = { paramIdSeccion, paramPerfil };

        DataTable tablaMnPadres = Controladora.consultaDatos(sqlParam.mnPadres, menuPadre);

        for (int i = 0; i < tablaMnPadres.Rows.Count; i++)
        {
            MenuItem elemento = new MenuItem();
            elemento.Value       = tablaMnPadres.Rows[i]["id_seccion"].ToString();
            elemento.Text        = tablaMnPadres.Rows[i]["name_seccion"].ToString();
            elemento.NavigateUrl = tablaMnPadres.Rows[i]["pagina"].ToString();
            //mnPrincipal.FindItem(id_seccion).ChildItems.Add(elemento);
            mnPrincipal.FindItem(paramIdSeccion).ChildItems.Add(elemento);
            //string[] datosHijos = { tablaMnPadres.Rows[i]["id_Seccion"].ToString() };
            //if (Convert.ToInt16(Controladora.numeroDeRegistros(sqlParam.cuantosHijos, datosHijos).ToString()) > 0)
            //{
            //    llenaMenuNietos(tablaMnPadres.Rows[i]["id_Seccion"].ToString());
            //}
        }
    }
        //Validar ci int y que no haya otra igual. Validar que usuario no se repita y que nada sea null
        protected void btnAltaCliente_Click(object sender, EventArgs e)
        {
            string mensaje = "";
            string ci      = this.txtCI.Text;


            //Si la cedula es valida y no la encontre en la lista de clientes
            if (Cliente.CiValida(ci) == true && Cliente.EncontreCi(ci) == false)
            {
                string nombre   = this.txtNombre.Text;
                string apellido = this.txtApellido.Text;

                //Parseo el telefono
                int  telResult;
                bool resultadoTel = int.TryParse(this.txtTelefono.Text, out telResult);
                int  telefono     = telResult;

                string calle = this.txtCalle.Text;

                //Parseo el nro de puerta
                int  nroPuertaResult;
                bool resultadoNroPuerta = int.TryParse(this.txtNroPuerta.Text, out nroPuertaResult);
                int  nroPuerta          = nroPuertaResult;


                string codPostal = this.txtCodPostal.Text;
                string ciudad    = this.txtCiudad.Text;
                string pais      = this.txtPais.Text;
                string usuario   = this.txtUsuario.Text;
                string password  = this.txtClave.Text;



                //Si ninguno de los campos es vacio
                if (nombre != "" && apellido != "" && telefono != 0 && Direccion.validarDireccion(calle, nroPuerta, codPostal, ciudad, pais) &&
                    usuario != "" && password != "")
                {
                    //Si no encontre el nombre del usuario
                    if (!Controladora.BuscarUsuario(usuario))
                    {
                        Direccion dir = new Direccion(calle, nroPuerta, codPostal, ciudad, pais);
                        //Trato de dar de alta
                        bool ok = Controladora.Instancia.AltaCliente(nombre, apellido, ci, telefono, dir, usuario, password);
                        if (ok)
                        {
                            mensaje = "Alta de cliente exitosa";
                        }
                        else
                        {
                            mensaje = "No se pudo dar de alta";
                        }
                    }
                    else
                    {
                        mensaje = "El nombre de usuario no es valido";
                    }
                }
                else
                {
                    mensaje = "Por favor verifique los valores ingresados";
                }
            }
            else
            {
                mensaje = "La CI ingresada no es valida";
            }
            this.lblMensaje.Text = mensaje;
        }
Exemplo n.º 12
0
    protected void btnBuscaUsuario_Click(object sender, EventArgs e)
    {
        lblGeneral.Text    = "";
        lblGeneral.Visible = false;
        //validamos que tenga datos el nombre de usuario y la contraseña
        if (txtUsuario.Text.ToString().Trim().Equals("") && txtPassword.Text.ToString().Trim().Equals(""))
        {
            lblGeneral.Text     = "Debe ingresar el usuario y contraseña para validar";
            lblGeneral.CssClass = "labelError";
            lblGeneral.Visible  = true;
            return;
        }
        if (txtUsuario.Text.ToString().Trim().Equals(""))
        {
            lblGeneral.Text     = "Es necesario que ingrese el nombre de usuario";
            lblGeneral.CssClass = "labelError";
            lblGeneral.Visible  = true;
            return;
        }
        if (txtPassword.Text.ToString().Trim().Equals(""))
        {
            lblGeneral.Text     = "Es necesario que ingrese la contraseña";
            lblGeneral.CssClass = "labelError";
            lblGeneral.Visible  = true;
            return;
        }
        //lo buscamos en la base de datos
        string[]  datosUsuarios = { txtUsuario.Text.ToString(), txtPassword.Text.ToString() };
        DataTable tablaUsuario  = Controladora.consultaDatos(sqlParam.sqlUsuarios, datosUsuarios);

        if (tablaUsuario.Rows.Count > 0)
        {
            //si se econtro el usuario

            string idUsuario = tablaUsuario.Rows[0]["id_usuario"].ToString();

            //asignamos los parámetros
            //abrimos la tabla de los parametros
            string[]  sqlParamDatos = { tablaUsuario.Rows[0]["id_empresa"].ToString() };
            DataTable param         = Controladora.consultaDatos(sqlParam.sqlParametros, sqlParamDatos);

            //preguntamos si aplicamos la hora del sistema
            if (param.Rows[0]["v7hr_aplica"].ToString().Equals("1"))
            {
                //si aplica la hora en la empresa
                Int32 hora = DateTime.Now.Hour;
                if ((hora > Convert.ToInt32(param.Rows[0]["v7hr_inicio"].ToString())) && (hora < Convert.ToInt32(param.Rows[0]["v7hr_fin"].ToString())))
                {
                    #region log usuarios

                    //preguntamos si este empresa requiere la validación
                    if (tablaUsuario.Rows[0]["tipo_Acceso"].ToString().Equals("1"))
                    {
                        //validamos si se encuentra ya logeado
                        string[]  datosUsrActivo = { idUsuario };
                        DataTable tablaUsrActivo = Controladora.consultaDatos(sqlParam.bUsrActivo, datosUsrActivo);
                        if (tablaUsrActivo.Rows.Count > 0)
                        {
                            //ya esta logeado
                            lblGeneral.Text     = "El usuario ya esta activo en otro equipo, es necesario que cierre la sesión para ingresar de nuevo";
                            lblGeneral.CssClass = "labelError";
                            lblGeneral.Visible  = true;
                            return;
                        }
                        else
                        {
                            //insertamos el acceso del usuario
                            string[] datosAusrActivo = { idUsuario, HttpContext.Current.Session.SessionID.ToString() };
                            bool     aUsrActivo      = Controladora.registraDatos(sqlParam.aUsrActivo, datosAusrActivo);
                        }
                    }


                    //insertamos tambien en el log
                    string[] datosAusrLog = { idUsuario, GetUserIP(), Request.UserHostAddress.ToString(), Request.UserAgent.ToString(), "E" };
                    bool     aUsrLog      = Controladora.registraDatos(sqlParam.aUsrLog, datosAusrLog);

                    #endregion
                    //parametros cliente
                    Hashtable parametros = new Hashtable();
                    parametros.Add("idEmpresa", param.Rows[0]["id_empresa"].ToString());
                    parametros.Add("colorCliente", param.Rows[0]["color_fondo_superior"].ToString());
                    parametros.Add("nombre", param.Rows[0]["nombre"].ToString());
                    parametros.Add("logo", param.Rows[0]["logo"].ToString());
                    parametros.Add("colorTD", param.Rows[0]["colorTD"].ToString());


                    //obtenemos el id_flujo
                    string[]  datosIdFlujo = { param.Rows[0]["id_empresa"].ToString() };
                    DataTable tablaIdFlujo = Controladora.consultaDatos(sqlParam.mIdFlujo, datosIdFlujo);

                    parametros.Add("idFlujo", tablaIdFlujo.Rows[0]["id_flujo"].ToString());

                    Session.Add("sParametros", parametros);

                    //parametros usuario
                    Hashtable paramUsuario = new Hashtable();
                    paramUsuario.Add("idUsuario", tablaUsuario.Rows[0]["id_usuario"].ToString());
                    paramUsuario.Add("nombreUsuario", tablaUsuario.Rows[0]["nombre"].ToString());
                    paramUsuario.Add("idPerfil", tablaUsuario.Rows[0]["id_perfil"].ToString());
                    paramUsuario.Add("nombrePerfil", tablaUsuario.Rows[0]["nombre_perfil"].ToString());
                    Session.Add("sParamUsuario", paramUsuario);
                    Response.Redirect("Gestion11.aspx");
                }
                else
                {
                    lblGeneral.Text    = "En estos momentos no hay acceso al sistema";
                    lblGeneral.Visible = true;
                }
            }
            else
            {
                #region log usuarios

                //preguntamos si este empresa requiere la validación
                if (tablaUsuario.Rows[0]["tipo_Acceso"].ToString().Equals("1"))
                {
                    //validamos si se encuentra ya logeado
                    string[]  datosUsrActivo = { idUsuario };
                    DataTable tablaUsrActivo = Controladora.consultaDatos(sqlParam.bUsrActivo, datosUsrActivo);
                    if (tablaUsrActivo.Rows.Count > 0)
                    {
                        //ya esta logeado
                        lblGeneral.Text     = "El usuario ya esta activo en otro equipo, es necesario que cierre la sesión para ingresar de nuevo";
                        lblGeneral.CssClass = "labelError";
                        lblGeneral.Visible  = true;
                        return;
                    }
                    else
                    {
                        //insertamos el acceso del usuario
                        string[] datosAusrActivo = { idUsuario, HttpContext.Current.Session.SessionID.ToString() };
                        bool     aUsrActivo      = Controladora.registraDatos(sqlParam.aUsrActivo, datosAusrActivo);
                    }
                }


                //insertamos tambien en el log
                string[] datosAusrLog = { idUsuario, GetUserIP(), Request.UserHostAddress.ToString(), Request.UserAgent.ToString(), "E" };
                bool     aUsrLog      = Controladora.registraDatos(sqlParam.aUsrLog, datosAusrLog);

                #endregion
                //parametros cliente
                Hashtable parametros = new Hashtable();
                parametros.Add("idEmpresa", param.Rows[0]["id_empresa"].ToString());
                parametros.Add("colorCliente", param.Rows[0]["color_fondo_superior"].ToString());
                parametros.Add("nombre", param.Rows[0]["nombre"].ToString());
                parametros.Add("logo", param.Rows[0]["logo"].ToString());
                parametros.Add("colorTD", param.Rows[0]["colorTD"].ToString());


                //obtenemos el id_flujo
                string[]  datosIdFlujo = { param.Rows[0]["id_empresa"].ToString() };
                DataTable tablaIdFlujo = Controladora.consultaDatos(sqlParam.mIdFlujo, datosIdFlujo);

                parametros.Add("idFlujo", tablaIdFlujo.Rows[0]["id_flujo"].ToString());

                Session.Add("sParametros", parametros);

                //parametros usuario
                Hashtable paramUsuario = new Hashtable();
                paramUsuario.Add("idUsuario", tablaUsuario.Rows[0]["id_usuario"].ToString());
                paramUsuario.Add("nombreUsuario", tablaUsuario.Rows[0]["nombre"].ToString());
                paramUsuario.Add("idPerfil", tablaUsuario.Rows[0]["id_perfil"].ToString());
                paramUsuario.Add("nombrePerfil", tablaUsuario.Rows[0]["nombre_perfil"].ToString());
                Session.Add("sParamUsuario", paramUsuario);
                Response.Redirect("Gestion11.aspx");
            }
        }
        else
        {
            //no se encontró el usuario
            lblGeneral.Text     = "No se encontró el nombre de usuario, favor de verificar";
            lblGeneral.CssClass = "labelError";
            lblGeneral.Visible  = true;
            txtUsuario.Text     = "";
            txtPassword.Text    = "";
            return;
        }
    }
Exemplo n.º 13
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack)
        {
            Response.AddHeader("REFRESH", "1080;URL=" + HttpContext.Current.Request.ApplicationPath.ToString() + "/salir.aspx");
            //se revisan permisos
            if (Session["sParametros"] == null)
            {
                Response.Redirect("~/default.aspx");
            }
            return;
        }

        int punto;

        punto = 0;
        //se revisan permisos
        if (Session["sParametros"] == null)
        {
            Response.Redirect("~/default.aspx");
        }

        //leemos los parametros
        Hashtable hshParam = (Hashtable)Session["sParametros"];
        Hashtable usuario  = (Hashtable)Session["sParamUsuario"];

        //valores de encabezado
        //lblNombreCliente.Text = hshParam["nombre"].ToString();
        lblNombreCliente.Text = ConfigurationManager.AppSettings.Get("nombreProyecto").ToString();
        imgLogo.ImageUrl      = "~/" + hshParam["logo"].ToString();
        lblNombreUsuario.Text = usuario["idUsuario"].ToString() + " - " + usuario["nombreUsuario"].ToString() + " [" + usuario["nombrePerfil"].ToString() + "]";


        Response.AddHeader("REFRESH", "1080;URL=" + HttpContext.Current.Request.ApplicationPath.ToString() + "/salir.aspx");


        //buscamos el titulo se la seccion
        //punto = HttpContext.Current.Request.Url.AbsolutePath.ToString().LastIndexOf("/");
        punto = HttpContext.Current.Request.Url.AbsoluteUri.ToString().LastIndexOf("/");
        //if ((HttpContext.Current.Request.Url.AbsolutePath.ToString().Substring(punto + 1)) != "Gestion11.aspx")
        if ((HttpContext.Current.Request.Url.AbsoluteUri.ToString().Substring(punto + 1)) != "Gestion11.aspx")
        {
            //lblSeccion.Text = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
            //string[] datoPagina = { HttpContext.Current.Request.Url.AbsolutePath.ToString().Substring(punto + 1) };
            string[]  datoPagina  = { HttpContext.Current.Request.Url.AbsoluteUri.ToString().Substring(punto + 1) };
            DataTable tablaPagina = Controladora.consultaDatos(sqlParam.headerTituloPagina, datoPagina);
            lblSeccion.Text = tablaPagina.Rows[0][0].ToString();
        }
        else
        {
            lblSeccion.Text = "Bienvenido";
        }
        lblUrl.Text = HttpContext.Current.Request.Url.AbsolutePath.ToString();


        //fecha y hora
        string[]  pHora = { };
        DataTable hora  = Controladora.consultaDatos(sqlParam.sqlFechaHora, pHora);

        lblFechaHora.Text = hora.Rows[0][0].ToString();

        //armamos el menu
        llenaMenuPadre("0");
    }
Exemplo n.º 14
0
 protected void Page_Load(object sender, EventArgs e)
 {
     controladora = new Controladora();
 }
 public MainWindow()
 {
     controladora = new Controladora();
     InitializeComponent();
 }
Exemplo n.º 16
0
        //OnActionExecuting method is using Entity Framework to add a new ActionLog register. It creates and fills a new entity instance with the context information from filterContext.
        void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
        {
            // Log Action Filter Call
            ApplicationDbContext db = new ApplicationDbContext();

            // TODO: Add your acction filter's tasks here
            CustomAssemblyHelper helper = new CustomAssemblyHelper();
            var syscontrollersList      = helper.GetTypesAssembly <Controller>();

            foreach (Type controller in syscontrollersList)
            {
                //if (controller.Name != "HomeController" && controller.Name != "AccountController" && controller.Name != "PerfilController" && controller.Name != "RolesAdminController" && controller.Name != "UsersAdminController")
                if (controller.Name == "SolicitudController" || controller.Name == "OrdenController")
                {
                    string controladoraNombre = controller.Name.Replace("Controller", "");

                    if (controller.IsDefined(typeof(MenuItemAttribute), false))
                    {
                        var controladoraAtributos      = helper.GetTypeAttributes <MenuItemAttribute>(controller);
                        MenuItemAttribute atributomenu = (MenuItemAttribute)controladoraAtributos.FirstOrDefault();

                        var moduloToInsert = new Modulo();
                        moduloToInsert.ModuloDescripcion = atributomenu.MenuItemModulo;

                        //db.Modulos.AddOrUpdate(p => p.ModuloDescripcion, moduloToInsert);
                        var moduloInDataBase = db.Modulos.Where(s => s.ModuloDescripcion == moduloToInsert.ModuloDescripcion).SingleOrDefault();
                        if (moduloInDataBase == null)
                        {
                            db.Modulos.Add(moduloToInsert);
                            db.SaveChanges();
                        }

                        Controladora controladoratoinsert = new Controladora()
                        {
                            ControladoraNumero      = atributomenu.MenuItemNumero,
                            ControladoraModulo      = atributomenu.MenuItemModulo,
                            ControladoraNombre      = controladoraNombre,
                            ControladoraNombreFull  = controller.Name,
                            ControladoraDescripcion = atributomenu.MenuItemDescripcion,
                            Controladora_Modulo     = moduloToInsert
                        };

                        //db.Controladoras.AddOrUpdate(p => p.ControladoraNombre, controladoratoinsert);
                        var controladoraInDataBase = db.Controladoras.Where(s => s.ControladoraNombre == controladoratoinsert.ControladoraNombre).SingleOrDefault();
                        if (controladoraInDataBase == null)
                        {
                            db.Controladoras.Add(controladoratoinsert);
                            db.SaveChanges();
                        }

                        //Recupero todas las acciones de la controladorapor REFLECTION
                        var accionescontroladora = helper.GetControllerActions(controller);

                        foreach (var action in accionescontroladora)
                        {
                            var             accionAtributos = helper.GetTypeAttributes <ActionAttribute>(action);
                            ActionAttribute accionatributo  = (ActionAttribute)accionAtributos.FirstOrDefault();

                            //foreach (var atributo in accionatributos)
                            //{
                            //    if (atributo.GetType().Name == "ActionAttribute")
                            //    {
                            //        var descripcion = action.GetCustomAttributes(typeof(ActionAttribute));
                            //        ActionAttribute desc = (ActionAttribute)descripcion.FirstOrDefault();
                            //    }
                            //}
                            if (action.IsDefined(typeof(ActionAttribute), false) && accionatributo != null)
                            {
                                Accion acciontoinsert = new Accion()
                                {
                                    AccionNumero      = accionatributo.AccionNumero,
                                    AccionActivo      = accionatributo.AccionInicial,
                                    AccionNombre      = action.Name,
                                    AccionDescripcion = accionatributo.AccionNombre,
                                };

                                //db.Acciones.AddOrUpdate(p => p.AccionNombre, acciontoinsert);
                                var accionInDataBase = db.Acciones.Where(s => s.AccionNombre == acciontoinsert.AccionNombre).SingleOrDefault();
                                if (accionInDataBase == null)
                                {
                                    db.Acciones.Add(acciontoinsert);
                                    db.SaveChanges();
                                }
                            }
                        }
                    }
                }
            }

            this.OnActionExecuting(filterContext);
        }