Beispiel #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //Lista de permisos que el usuario logueado tiene
        List<String> listaPermisos = (List<String>)Session["Permisos_usuario"];

        bool encontroPermiso = false;

        foreach (String strPermiso in listaPermisos)
        {
            //Iteramos los permisos del usuario para comprobar que puede utilizar esta pagina
            if (strPermiso.Equals("pCrearRole"))
            {
                encontroPermiso = true;
                break;
            }
        }

        if (!encontroPermiso)
        {
            //Si no tiene permiso redireccionamos
            //Response.Write("<script>alert('Usted no posee permisos suficientes para accesar a este recurso')</script>");
            Response.Redirect("NoAccess.aspx");
        }

        try
        {
            if (!this.IsPostBack)
            {
                BL.Permiso per = new Permiso();
                permisos_CBList.DataSource = per.getPermisosID();
                permisos_CBList.DataBind();

                Security sec = new Security();
                centros.DataSource = sec.getCentros();
                centros.DataBind();
            }
        }
        catch (Exception ex)
        {
            Session["Error_Msg"] = ex.Message;
            Response.Redirect("~/Error.aspx", true);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        //Lista de permisos que el usuario logueado tiene
        List<String> listaPermisos = (List<String>)Session["Permisos_usuario"];

        bool encontroPermiso = false;

        foreach (String strPermiso in listaPermisos)
        {
            //Iteramos los permisos del usuario para comprobar que puede utilizar esta pagina
            if (strPermiso.Equals("pCrearRoles"))
            {
                encontroPermiso = true;
                break;
            }
        }

        if (!encontroPermiso)
        {
            //Si no tiene permiso redireccionamos
            Response.Redirect("Default.aspx");
        }

        try
        {
            if (!this.IsPostBack)
            {
                BL.Permiso per = new Permiso();
                permisos_CBList.DataSource = per.getPermisosID();
                permisos_CBList.DataBind();
            }
        }
        catch (Exception ex)
        {
            Response.Write("<script>alert(" + ex.ToString() + " --Crear_Roles.aspx.cs /  Page_Load()" + ")</script>");
        }
    }
 ///<summary>
 ///Instancia del comando
 ///</summary>
 public M13_COAgregarPermiso(Permiso permiso)
 {
     this._permiso = permiso;
 }
Beispiel #4
0
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet Permisos. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToPermisos(Permiso permiso)
 {
     base.AddObject("Permisos", permiso);
 }
    protected void Page_Init(object sender, EventArgs e)
    {
        // it gets an appropiate context (LainsaSciCTX -> web.config)
        ctx = new LainsaSci("LainsaSciCTX");
        // verify if a Usuario is logged
        usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
        if (usuario == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            Session["UsuarioId"] = usuario.UsuarioId;
        }
        //
        // si llega aquí está autorizado
        permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "repositoriotmpform", ctx);
        if (permiso == null)
        {
            RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
            RadNotification1.Show();
            RadAjaxManager1.ResponseScripts.Add("closeWindow();");
        }
        btnAccept.Visible = permiso.Modificar;
        if (Request.QueryString["InTab"] != null)
        {
            inTab = Request.QueryString["InTab"];
        }
        // Si esto no va antes de DocumentoID tendrás problemas.
        if (Request.QueryString["Caller"] != null)
        {
            caller = Request.QueryString["Caller"];
            caller = caller.Replace("'", "");
        }
        // Mirar si se ha pasado una empresa
        if (Request.QueryString["EmpresaId"] != null)
        {
            empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx);
            CargaEmpresa(empresa);
        }
        if (Request.QueryString["InstalacionId"] != null)
        {
            instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["InstalacionId"]), ctx);
            CargaInstalacion(instalacion);
        }
        if (Request.QueryString["TipoDispositivoId"] != null)
        {
            tipo = CntLainsaSci.GetTipoDispositivo(int.Parse(Request.QueryString["TipoDispositivoId"]), ctx);
            CargaTipo(tipo);
        }
        if (Request.QueryString["Nombre"] != null)
        {
            nombre = Request.QueryString["Nombre"];
            nombre.Replace("'", "");
            fileName = nombre;
        }
        // MIrar si se ha pasado una instalacion
        if (Request.QueryString["RevisionId"] != null)
        {
            instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["RevisionId"]), ctx);
            CargaInstalacion(instalacion);
        }

        // Is it a new record or not?
        if (Request.QueryString["DocumentoId"] != null)
        {
            documento = CntLainsaSci.GetDocumento(int.Parse(Request.QueryString["DocumentoId"]), ctx);
            LoadData(documento);
            this.Title = String.Format("Documento: {0}", documento.Nombre);
            newRecord  = false;
        }
        else
        {
            // cunado se crea uno nuevo se cargan todas las categorias
            CargaCategorias();
            txtNombre.Text = fileName;
        }
        if (Request.QueryString["FileName"] != null)
        {
            fileName = Request.QueryString["FileName"];
            //CargaAutomatica(fileName);
        }
        // control de skin
        if (Session["Skin"] != null)
        {
            RadSkinManager1.Skin = Session["Skin"].ToString();
        }
    }
 protected void Page_Init(object sender, EventArgs e)
 {
     // it gets an appropiate context (LainsaSciCTX -> web.config)
     ctx = new LainsaSci("LainsaSciCTX");
     // verify if a Usuario is logged
     usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
     if (usuario == null)
     {
         Response.Redirect("Default.aspx");
     }
     else
     {
         Session["UsuarioId"] = usuario.UsuarioId;
     }
     //
     // si llega aquí está autorizado
     permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "sustituciongrid", ctx);
     if (permiso == null)
     {
         RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
         RadNotification1.Show();
         RadAjaxManager1.ResponseScripts.Add("closeWindow();");
     }
     btnAccept.Visible = permiso.Modificar;
     // Si esto no va antes de SustitucionDispositivoID tendrás problemas.
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
         caller = caller.Replace("'", "");
     }
     // Esto es cuando es llamada desde una revisión
     if (Request.QueryString["RevisionId"] != null)
     {
         revision = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["RevisionId"]), ctx);
         if (revision != null)
         {
             Title = String.Format("Sustitución [REV]: {0:dd/MM/yyyy} {1}",
                                   revision.FechaPlanificada,
                                   CntLainsaSci.GetNomLargo(revision.Dispositivo));
             rdcDispositivoOriginal.Items.Clear();
             rdcDispositivoOriginal.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargo(revision.Dispositivo),
                                                                  revision.Dispositivo.DispositivoId.ToString()));
             rdcDispositivoOriginal.SelectedValue = revision.Dispositivo.DispositivoId.ToString();
             Session["DispositivoOriginal"]       = revision.Dispositivo;
         }
     }
     // Is it a new record or not?
     if (Request.QueryString["SustitucionId"] != null)
     {
         sustitucion = CntLainsaSci.GetSustitucion(int.Parse(Request.QueryString["SustitucionId"]), ctx);
         LoadData(sustitucion);
         newRecord = false;
     }
     else
     {
         newRecord = true;
         CargarUsuarios(null);
         CargarEstados("");
     }
 }
Beispiel #7
0
    private void setCheckBoxes()
    {
        try
        {
            BL.Rol rl = new Rol();
            List<string> pers = rl.getRolPermisos(descripciones_DDList.SelectedItem.Text);
            permisos_CBList.DataSource = pers;
            permisos_CBList.DataBind();

            foreach (ListItem it in permisos_CBList.Items)
                it.Selected = true;

            BL.Permiso per = new Permiso();
            List<string> otherPers = new List<string>();
            List<string> allPers = per.getPermisosID();

            foreach (string pr in allPers)
            {
                bool flag = false;
                foreach (string myper in pers)
                {
                    if (pr == myper)
                    {
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                    otherPers.Add(pr);
            }
            otrosPermisos_CBList.DataSource = otherPers;
            otrosPermisos_CBList.DataBind();
        }
        catch (Exception ex)
        {
            Session["Error_Msg"] = ex.Message;
            Response.Redirect("~/Error.aspx", true);
        }
    }
Beispiel #8
0
 public Permiso GetPermiso(Permiso permiso)
 {
     return(bd.Get(permiso));
 }
        private void ValidarPermisos()
        {
            try
            {
                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];
                Pagina   pagina = new Pagina();
                string[] pag    = Page.Request.Url.ToString().Split(new string[] { "?" }, StringSplitOptions.RemoveEmptyEntries);
                if (pag.Length > 1)
                {
                    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name + "?" + pag[1];
                }
                else
                {
                    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name;
                }

                CN_Pagina CapaNegocio = new CN_Pagina();
                CapaNegocio.PaginaConsultar(ref pagina, Sesion.Emp_Cnx);

                Session["Head" + Session.SessionID] = pagina.Path;
                this.Title = pagina.Descripcion;
                Permiso Permiso = new Permiso();
                Permiso.Id_U   = Sesion.Id_U;
                Permiso.Id_Cd  = Sesion.Id_Cd;
                Permiso.Sm_cve = pagina.Clave;
                //Esta clave depende de la pantalla
                CapaDatos.CD_PermisosU CN_PermisosU = new CapaDatos.CD_PermisosU();
                CN_PermisosU.ValidaPermisosUsuario(ref Permiso, Sesion.Emp_Cnx);

                if (Permiso.PAccesar == true)
                {
                    _PermisoGuardar   = Permiso.PGrabar;
                    _PermisoModificar = Permiso.PModificar;
                    _PermisoEliminar  = Permiso.PEliminar;
                    _PermisoImprimir  = Permiso.PImprimir;
                    if (Permiso.PGrabar == false)
                    {
                        this.rtb1.Items[6].Visible = false;
                    }
                    if (Permiso.PGrabar == false && Permiso.PModificar == false)
                    {
                        this.rtb1.Items[5].Visible = false;
                    }
                    //Regresar
                    this.rtb1.Items[4].Visible = false;
                    //Eliminar
                    this.rtb1.Items[3].Visible = false;
                    //Imprimir
                    this.rtb1.Items[2].Visible = false;
                    //Correo
                    this.rtb1.Items[1].Visible = false;
                }
                else
                {
                    Response.Redirect("Inicio.aspx");
                }

                CN_Ctrl ctrl = new CN_Ctrl();
                ctrl.ValidarCtrl(Sesion, pagina.Clave, divPrincipal);
                ctrl.ListaCtrls(Sesion.Emp_Cnx, pagina.Clave, divPrincipal.Controls);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public Usuario ObtenerUsuario(int Id)
        {
            try
            {
                conn = new OracleConnection(cadenaConexion);
                conn.Open();
            }
            catch
            {
                throw new Exception("Error de conexión a la Base de Datos");
            }
            try
            {
                //conn = new OracleConnection(cadenaConexion);
                //conn.Open();
                OracleCommand cmd = new OracleCommand();
                cmd.Connection  = conn;
                cmd.CommandText = Package + ".SPRKERB_OBTENER_USUARIO";
                cmd.CommandType = CommandType.StoredProcedure;

                OracleParameter inID = new OracleParameter("IFId", OracleDbType.Varchar2);
                inID.Value = Id;
                cmd.Parameters.Add(inID);

                OracleParameter ocUsuario = new OracleParameter();
                ocUsuario.OracleDbType = OracleDbType.RefCursor;
                ocUsuario.Direction    = ParameterDirection.Output;
                cmd.Parameters.Add(ocUsuario);

                OracleParameter ocPermisos = new OracleParameter();
                ocPermisos.OracleDbType = OracleDbType.RefCursor;
                ocPermisos.Direction    = ParameterDirection.Output;
                cmd.Parameters.Add(ocPermisos);

                OracleParameter ocPerfiles = new OracleParameter();
                ocPerfiles.OracleDbType = OracleDbType.RefCursor;
                ocPerfiles.Direction    = ParameterDirection.Output;
                cmd.Parameters.Add(ocPerfiles);

                OracleDataReader reader  = cmd.ExecuteReader();
                Usuario          usuario = new Usuario();

                while (reader.Read())
                {
                    usuario.Id             = Convert.ToInt32(reader["CUSR_ID"].ToString());
                    usuario.ApePaterno     = reader["SUSR_APELLIDO_PATERNO"].ToString();
                    usuario.ApeMaterno     = reader["SUSR_APELLIDO_MATERNO"].ToString();
                    usuario.Nombre         = reader["SUSR_NOMBRE"].ToString();
                    usuario.Login          = reader["SUSR_LOGIN"].ToString();
                    usuario.Email          = reader["SUSR_EMAIL"].ToString();
                    usuario.FechaCaducidad = Convert.ToDateTime(reader["DUSR_FECHA_CADUCIDAD"].ToString()).ToShortDateString();
                    usuario.Estado         = Convert.ToInt32(reader["FUSR_ESTADO"].ToString());
                    usuario.FechaRegistro  = Convert.ToDateTime(reader["DAUD_CREAR_FECHA"].ToString()).ToShortDateString();
                    usuario.HorarioAcceso  = reader["SUSR_ACCESOHORARIO"].ToString();
                    usuario.Permisos       = new List <Permiso>();
                    usuario.Perfiles       = new List <Perfil>();
                }

                //Permisos del Usuario
                reader.NextResult();
                while (reader.Read())
                {
                    Permiso permisoUser = new Permiso();
                    permisoUser.Id             = Convert.ToInt32(reader["CPRM_ID"].ToString());
                    permisoUser.Sistema        = new Sistema();
                    permisoUser.Sistema.Id     = Convert.ToInt32(reader["CSIS_ID"].ToString());
                    permisoUser.Sistema.Nombre = reader["SSIS_NOMBRE"].ToString();
                    permisoUser.Estado         = Convert.ToInt32(reader["FPRM_ESTADO"].ToString());
                    permisoUser.Codigo         = reader["SPRM_CODIGO"].ToString();
                    permisoUser.Descripcion    = reader["SPRM_DESCRIPCION"].ToString();
                    usuario.Permisos.Add(permisoUser);
                }

                //Perfiles del Usuario
                reader.NextResult();
                while (reader.Read())
                {
                    Perfil PerfilUser = new Perfil();
                    PerfilUser.Id             = Convert.ToInt32(reader["CPFL_ID"].ToString());
                    PerfilUser.Sistema        = new Sistema();
                    PerfilUser.Sistema.Id     = Convert.ToInt32(reader["CSIS_ID"].ToString());
                    PerfilUser.Sistema.Nombre = reader["SSIS_NOMBRE"].ToString();
                    PerfilUser.Estado         = Convert.ToInt32(reader["FPFL_ESTADO"].ToString());
                    PerfilUser.Codigo         = reader["SPFL_CODIGO"].ToString();
                    PerfilUser.Nombre         = reader["SPFL_DESCRIPCION"].ToString();
                    usuario.Perfiles.Add(PerfilUser);
                }

                CerrarConexion(cmd);
                return(usuario);
            }
            catch
            {
                //RegistroEventos.RegistrarError(ex, RegistroEventos.FUENTE_REPO_BD);
                throw new Exception("Error al obtener usuario");
            }
        }
Beispiel #11
0
        private void SeedSeguridad(GestionDbContext context)
        {
            #region Recursos y Permisos

            var recursos = new Recurso[] {
                new Recurso {
                    Codigo = Resources.Roles, Descripcion = "ABM Roles"
                },
                new Recurso {
                    Codigo = Resources.Usuarios, Descripcion = "ABM Usuarios"
                },
            };

            // Permisos de Seguridad
            var permisosSeguridad = new Permiso[] {
                // Roles
                new Permiso {
                    RecursoCodigo = Resources.Roles, Accion = Resources.RolesActions.Listar, Descripcion = "Listar Roles"
                },
                new Permiso {
                    RecursoCodigo = Resources.Roles, Accion = Resources.RolesActions.Editar, Descripcion = "Editar Roles"
                },
                new Permiso {
                    RecursoCodigo = Resources.Roles, Accion = Resources.RolesActions.Crear, Descripcion = "Crear Roles"
                },
                new Permiso {
                    RecursoCodigo = Resources.Roles, Accion = Resources.RolesActions.Eliminar, Descripcion = "Eliminar Roles"
                },
                // Usuarios
                new Permiso {
                    RecursoCodigo = Resources.Usuarios, Accion = Resources.UsuariosActions.Listar, Descripcion = "Listar Usuarios"
                },
                new Permiso {
                    RecursoCodigo = Resources.Usuarios, Accion = Resources.UsuariosActions.Crear, Descripcion = "Crear Usuarios"
                },
                new Permiso {
                    RecursoCodigo = Resources.Usuarios, Accion = Resources.UsuariosActions.Eliminar, Descripcion = "Eliminar Usuarios"
                },
            };

            #endregion

            // ************** Agrega Recursos **************
            context.Recursos.AddOrUpdate(r => r.Codigo, recursos);

            // ************** Agrega Permisos **************
            context.Permisos.AddOrUpdate(p => new { p.RecursoCodigo, p.Accion }, permisosSeguridad);
            context.SaveChanges();

            // ************** Rol Administrador Seguridad **************
            var admin = context.Usuarios.First(x => x.NombreUsuario == "admin");

            admin.ChangePassword("admin");

            context.Usuarios.AddOrUpdate(x => x.NombreUsuario, admin);
            context.SaveChanges();

            if (context.Roles.Count() == 0)
            {
                var rolAdmin = new Rol
                {
                    Nombre          = "Administrador Seguridad",
                    Descripcion     = "Rol para administración de Usuarios y Roles",
                    UsuarioCreacion = admin,
                    Permisos        = permisosSeguridad
                };
                context.Roles.AddOrUpdate(r => r.Nombre, rolAdmin);

                // ************** Actualiza Usuario Admin **************
                admin.UsuarioIdCreacion = admin.Id;

                if (admin.Membresias.Count == 0)
                {
                    admin.Membresias.Add(new Membresia
                    {
                        Rol     = rolAdmin,
                        Usuario = admin
                    });
                }
                context.Usuarios.AddOrUpdate(x => x.NombreUsuario, admin);
                context.SaveChanges();
            }
        }
Beispiel #12
0
        /// <summary>
        /// Actualiza los permisos de un rol. Crear Permisos, o eliminar permisos, segun el listado de identificadores de acciones enviados
        /// </summary>
        /// <param name="rol">Rol</param>
        /// <param name="listAccionId">Lista de acciones de funcionalidades que debe posee</param>
        /// <returns></returns>
        public RolDto UpdatePermissions(int rolId, int[] listAccionId)
        {
            var baseRepository = Repository as IBaseRepository <Rol>;

            if (baseRepository == null)
            {
                throw new ArgumentException(string.Format("The repository should be type IBaseRepository<TEntity>. {0}", Repository.GetType()), "input");
            }

            var rol = baseRepository.Get(rolId, include => include.Permisos);


            Rol rolUpdate = null;

            if (listAccionId != null) //&& idRol != 0)
            {
                //TODO: JSA. TRANSACCION.

                //Delete
                List <int> permisosIdRol = (from i in rol.Permisos
                                            select i.AccionId).ToList();

                var eliminar = permisosIdRol.Except(listAccionId);

                //TODO: JSA, mejorar ahora se esta eliminando uno por uno las entidades.
                //Delete
                List <Permiso> permisosEliminar = new List <Permiso>();
                foreach (var item in eliminar)
                {
                    var permisoEliminar = rol.Permisos.Where(p => p.AccionId == item).FirstOrDefault();
                    //rol.Permisos.Remove(permisoEliminar);
                    //_repositoryPermiso.Delete(permisoEliminar);
                    permisosEliminar.Add(permisoEliminar);
                }


                if (permisosEliminar.Count() > 0)
                {
                    _repositoryPermiso.Delete(permisosEliminar);
                }


                foreach (var accion in listAccionId)
                {
                    var permiso = new Permiso();
                    permiso.RolId    = rol.Id;
                    permiso.AccionId = accion;


                    //Add
                    if (!rol.Permisos.Where(c => c.AccionId == permiso.AccionId).Any())
                    {
                        rol.Permisos.Add(permiso);
                    }
                }

                rolUpdate = Repository.InsertOrUpdate(rol);
            }
            else
            {
                //TODO: JSA, mejorar ahora se esta eliminando uno por uno las entidades.
                //Eliminar todos los permisos del Rol

                _repositoryPermiso.Delete(rol.Permisos.ToList());

                rolUpdate = Repository.Get(rol.Id);
            }


            //Reset cache
            ResetCache(rol.Codigo);

            return(MapToEntityDto(rolUpdate));
        }
Beispiel #13
0
        public ActionResult GetPermiso(string permiso)
        {
            Permiso model = permisoBLL.BuscarPermiso(int.Parse(permiso));

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Beispiel #14
0
        private object Ejecutar(ParseTreeNode nodo)
        {
            string produccion = nodo.Term.Name.ToString();
            int    tipo_real  = 0;

            switch (produccion)
            {
            case "DATABASES2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Database> bases = (List <Database>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    bases.Add((Database)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(bases);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Database> bases = new List <Database>
                    {
                        (Database)Ejecutar(nodo.ChildNodes.ElementAt(0))
                    };
                    return(bases);
                }
                else
                {
                    return(new List <Database>());
                }

            case "DATABASE":
                List <Tipo_Objeto> lst_objetos = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(1));
                Database           new_db      = new Database();

                foreach (Tipo_Objeto item in lst_objetos)
                {
                    if (item.Name.ToLower().Equals("\"name\""))
                    {
                        new_db.Name = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"data\""))
                    {
                        if (item.Valor != null)
                        {
                            try
                            {
                                foreach (Tipo_Objeto item2 in (List <Tipo_Objeto>)item.Valor)
                                {
                                    if (item2.Name.Equals("table"))
                                    {
                                        new_db.Tablas.Add((Tabla)item2.Valor);
                                    }
                                    else if (item2.Name.Equals("object"))
                                    {
                                        new_db.Objetos.Add((Objeto)item2.Valor);
                                    }
                                    else if (item2.Name.Equals("procedure"))
                                    {
                                        new_db.Procedures.Add((Procedure)item2.Valor);
                                    }
                                }
                            }
                            catch (Exception)
                            {
                                Tipo_Objeto val_aux = (Tipo_Objeto)item.Valor;
                                new_db.Link      = val_aux.Link;
                                new_db.Exportada = val_aux.Export;

                                //aqui exportamos los archivos de bases de datos

                                String text = System.IO.File.ReadAllText("./NOSQL/Generados/" + new_db.Link);

                                LanguageData  lenguaje = new LanguageData(new Gramatica_Import_DATABASE());
                                Parser        parser   = new Parser(lenguaje);
                                ParseTree     arbol    = parser.Parse(text);
                                ParseTreeNode raiz     = arbol.Root;

                                if (raiz != null && arbol.ParserMessages.Count == 0)
                                {
                                    foreach (Tipo_Objeto item2 in (List <Tipo_Objeto>)Ejecutar(raiz.ChildNodes.ElementAt(0)))
                                    {
                                        if (item2.Name.Equals("table"))
                                        {
                                            new_db.Tablas.Add((Tabla)item2.Valor);
                                        }
                                        else if (item2.Name.Equals("object"))
                                        {
                                            new_db.Objetos.Add((Objeto)item2.Valor);
                                        }
                                        else if (item2.Name.Equals("procedure"))
                                        {
                                            new_db.Procedures.Add((Procedure)item2.Valor);
                                        }
                                    }
                                }
                                else
                                {
                                    Program.addError(arbol);
                                }
                            }
                        }
                    }
                }
                return(new_db);

            case "DATABASE2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> tipo_Objetos = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    tipo_Objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(tipo_Objetos);
                }
                else
                {
                    List <Tipo_Objeto> objetos = new List <Tipo_Objeto>
                    {
                        (Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0))
                    };

                    return(objetos);
                }

            case "DATABASE3":
                return((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "DATA":
                Tipo_Objeto objeto1 = new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(3)));
                return(objeto1);

            case "DATA5":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> lst_general = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    lst_general.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(lst_general);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    if (nodo.ChildNodes.ElementAt(0).Term.Name.Equals("ruta_import"))
                    {
                        Tipo_Objeto aux__ = new Tipo_Objeto("null", "null");
                        aux__.Export = true;
                        string link = nodo.ChildNodes.ElementAt(0).Token.Text.Replace("${ ", "");
                        link       = link.Replace(" }$", "");
                        aux__.Link = link;
                        return(aux__);
                    }

                    List <Tipo_Objeto> lst_general = new List <Tipo_Objeto>();
                    lst_general.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(lst_general);
                }
                else
                {
                    return(null);
                }

            case "DATA2":
                Tabla              tabla_aux = new Tabla();
                Objeto             objeto_aux = new Objeto();
                Procedure          procedure_aux = new Procedure();
                string             name = "", cql_type = "";
                object             columna = null, data = null, attrs = null, parametros = null, instr = null;
                List <Tipo_Objeto> lst = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(1));
                foreach (Tipo_Objeto item in lst)
                {
                    if (item.Name.ToLower().Equals("\"name\""))
                    {
                        name = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"cql-type\""))
                    {
                        cql_type = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"columns\""))
                    {
                        columna = item.Valor;
                    }
                    else if (item.Name.ToLower().Equals("\"data\""))
                    {
                        data = item.Valor;
                    }
                    else if (item.Name.ToLower().Equals("\"attrs\""))
                    {
                        attrs = item.Valor;
                    }
                    else if (item.Name.ToLower().Equals("\"parameters\""))
                    {
                        parametros = item.Valor;
                    }
                    else if (item.Name.ToLower().Equals("\"instr\""))
                    {
                        instr = item.Valor;
                    }
                }

                if (cql_type.ToLower().Equals("table"))
                {
                    tabla_aux      = new Tabla();
                    tabla_aux.Name = name;
                    if (columna != null)
                    {
                        tabla_aux.Columnas = (List <Columna>)columna;
                    }
                    else
                    {
                        tabla_aux.Columnas = new List <Columna>();
                    }
                    if (data != null)
                    {
                        try
                        {
                            List <Fila> filas = (List <Fila>)data;
                            tabla_aux.Filas = filas;
                        }
                        catch (Exception)
                        {
                            Tipo_Objeto aux2 = (Tipo_Objeto)data;
                            tabla_aux.Link      = aux2.Link;
                            tabla_aux.Exportada = aux2.Export;

                            String text = System.IO.File.ReadAllText("./NOSQL/Generados/" + tabla_aux.Link);

                            LanguageData  lenguaje = new LanguageData(new Gramatica_Import_DATA());
                            Parser        parser   = new Parser(lenguaje);
                            ParseTree     arbol    = parser.Parse(text);
                            ParseTreeNode raiz     = arbol.Root;

                            if (raiz != null && arbol.ParserMessages.Count == 0)
                            {
                                tabla_aux.Filas = (List <Fila>)Ejecutar(raiz.ChildNodes.ElementAt(0));
                            }
                            else
                            {
                                Program.addError(arbol);
                            }

                            //instanciamos un objeto para la base de datos no-sql
                        }
                    }
                    else
                    {
                        tabla_aux.Filas = new List <Fila>();
                    }

                    return(new Tipo_Objeto("table", tabla_aux));
                }
                else if (cql_type.ToLower().Equals("object"))
                {
                    objeto_aux.Name = name;
                    if (attrs != null)
                    {
                        objeto_aux.Atributos = (List <Atributo>)attrs;
                    }
                    else
                    {
                        objeto_aux.Atributos = new List <Atributo>();
                    }
                    return(new Tipo_Objeto("object", objeto_aux));
                }
                else if (cql_type.ToLower().Equals("procedure"))
                {
                    procedure_aux.Name = name;
                    if (instr != null)
                    {
                        procedure_aux.Instr = instr.ToString();
                    }
                    else
                    {
                        procedure_aux.Instr = "";
                    }
                    if (parametros != null)
                    {
                        procedure_aux.Parametros = (List <Parametro>)parametros;
                    }
                    else
                    {
                        procedure_aux.Parametros = new List <Parametro>();
                    }

                    return(new Tipo_Objeto("procedure", procedure_aux));
                }
                else
                {
                    return(new Tipo_Objeto("table", tabla_aux));
                }

            case "DATA3":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> lst_general = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    lst_general.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(lst_general);
                }
                else
                {
                    List <Tipo_Objeto> lst_general = new List <Tipo_Objeto>();
                    lst_general.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(lst_general);
                }

            case "DATA4":
                return((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "TABLA":
                return((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "OBJETO":
                return((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "PROCEDURE":
                return((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "COLUMNS":
                if (Ejecutar(nodo.ChildNodes.ElementAt(3)) != null)
                {
                    return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(3))));
                }
                else
                {
                    return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), null));
                }

            case "COLUMNS4":

                if (nodo.ChildNodes.Count == 3)
                {
                    List <Columna> columnas = (List <Columna>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    columnas.Add((Columna)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(columnas);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Columna> columnas = new List <Columna>();
                    columnas.Add((Columna)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(columnas);
                }
                else
                {
                    return(null);
                }

            case "COLUMNS2":

                Columna new_column = new Columna();
                foreach (Tipo_Objeto item in (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(1)))
                {
                    if (item.Name.ToLower().Equals("\"name\""))
                    {
                        new_column.Name = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"type\""))
                    {
                        if (item.Valor.ToString().ToLower().Contains("set"))
                        {
                            new_column.Type  = "SET";
                            new_column.Attr1 = item.Valor.ToString().ToLower().Replace("set<", "").Replace(">", "");
                        }
                        else if (item.Valor.ToString().ToLower().Contains("map"))
                        {
                            new_column.Type = "MAP";
                            string[] attrsa = item.Valor.ToString().ToLower().Replace("map<", "").Replace(">", "").Split(",");

                            new_column.Attr1 = attrsa.ElementAt(0);
                            new_column.Attr2 = attrsa.ElementAt(1);
                        }
                        else if (item.Valor.ToString().ToLower().Contains("list"))
                        {
                            new_column.Type  = "LIST";
                            new_column.Attr1 = item.Valor.ToString().ToLower().Replace("list<", "").Replace(">", "");
                        }
                        else
                        {
                            new_column.Type = item.Valor.ToString();
                        }
                    }
                    else if (item.Name.ToLower().Equals("\"pk\""))
                    {
                        if (item.Valor.ToString().ToLower().Equals("false"))
                        {
                            new_column.Pk = false;
                        }
                        else if (item.Valor.ToString().ToLower().Equals("true"))
                        {
                            new_column.Pk = true;
                        }
                        else
                        {
                            //algun error
                        }
                    }
                }
                return(new_column);

            case "COLUMNS3":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> tipo_Objetos = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    tipo_Objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(tipo_Objetos);
                }
                else
                {
                    List <Tipo_Objeto> objetos = new List <Tipo_Objeto>();
                    objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(objetos);
                }

            case "COLUMN":
                return(Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "TYPE":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)).ToString()));

            case "PK":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)).ToString()));

            case "BOOL":
                return(nodo.ChildNodes[0].Term.Name);

            case "AS":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)).ToString()));

            case "IN_OUT":
                return(nodo.ChildNodes[0].Token.Text);

            case "DATA_DATA":
                //Aqui armamos las filas;
                if (Ejecutar(nodo.ChildNodes.ElementAt(3)) != null)
                {
                    return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(3))));
                }
                else
                {
                    return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), null));
                }

            case "DATA_DATA2":

                if (nodo.ChildNodes.Count == 1)
                {
                    if (nodo.ChildNodes.ElementAt(0).Term.Name.Equals("ruta_import"))
                    {
                        Tipo_Objeto aux__ = new Tipo_Objeto("null", "null");
                        string      link  = nodo.ChildNodes.ElementAt(0).Token.Text.Replace("${ ", "");
                        link         = link.Replace(" }$", "");
                        aux__.Export = true;
                        aux__.Link   = link;

                        return(aux__);
                    }

                    return(Ejecutar(nodo.ChildNodes.ElementAt(0)));
                }
                else
                {
                    return(null);
                }


            case "DATA_DATA3":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Fila> filas = (List <Fila>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    filas.Add((Fila)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(filas);
                }
                else
                {
                    List <Fila> filas = new List <Fila>();
                    filas.Add((Fila)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(filas);
                }

            case "DATA_DATA4":
                //aqui armamos la fila
                Fila fila = new Fila();
                fila.Valores = (List <Valor>)Ejecutar(nodo.ChildNodes.ElementAt(1));
                return(fila);

            case "DATA_DATA5":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Valor> valors = (List <Valor>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    valors.Add((Valor)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(valors);
                }
                else
                {
                    List <Valor> valors = new List <Valor>();
                    valors.Add((Valor)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(valors);
                }

            case "DATA_DATA6":
                tipo_real = getType(nodo.ChildNodes[2].ChildNodes.ElementAt(0));
                Valor val = new Valor(Ejecutar(nodo.ChildNodes.ElementAt(0)).ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)), tipo_real);
                return(val);

            case "ATTRIBUTES":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(3))));

            case "ATTRIBUTES2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Atributo> atributos = (List <Atributo>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    atributos.Add((Atributo)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(atributos);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Atributo> atributos = new List <Atributo>();
                    atributos.Add((Atributo)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(atributos);
                }
                else
                {
                    return(new List <Atributo>());
                }

            case "ATTRIBUTES3":
                Atributo atributo_new = new Atributo();

                foreach (Tipo_Objeto item in (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(1)))
                {
                    if (item.Name.ToLower().Equals("\"name\""))
                    {
                        atributo_new.Name = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"type\""))
                    {
                        if (item.Valor.ToString().ToLower().Contains("set"))
                        {
                            atributo_new.Type  = "SET";
                            atributo_new.Attr1 = item.Valor.ToString().ToLower().Replace("set<", "").Replace(">", "");
                        }
                        else if (item.Valor.ToString().ToLower().Contains("map"))
                        {
                            atributo_new.Type = "MAP";
                            string[] attrsa = item.Valor.ToString().ToLower().Replace("map<", "").Replace(">", "").Split(",");

                            atributo_new.Attr1 = attrsa.ElementAt(0);
                            atributo_new.Attr2 = attrsa.ElementAt(1);
                        }
                        else if (item.Valor.ToString().ToLower().Contains("list"))
                        {
                            atributo_new.Type  = "LIST";
                            atributo_new.Attr1 = item.Valor.ToString().ToLower().Replace("list<", "").Replace(">", "");
                        }
                        else
                        {
                            atributo_new.Type = item.Valor.ToString();
                        }
                    }
                    else
                    {
                        //algun error
                    }
                }
                return(atributo_new);

            case "ATTRIBUTES4":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> tipo_Objetos = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    tipo_Objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(tipo_Objetos);
                }
                else
                {
                    List <Tipo_Objeto> objetos = new List <Tipo_Objeto>();
                    objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(objetos);
                }

            case "ATTRIBUTE":
                return(Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "INSTR":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), nodo.ChildNodes.ElementAt(2).Token.Text));

            case "PARAMETERS":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(3))));

            case "PARAMETERS2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Parametro> param = (List <Parametro>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    param.Add((Parametro)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(param);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Parametro> param = new List <Parametro>();
                    param.Add((Parametro)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(param);
                }
                else
                {
                    return(new List <Parametro>());
                }

            case "PARAMETERS3":
                Parametro new_param = new Parametro();

                foreach (Tipo_Objeto item in (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(1)))
                {
                    if (item.Name.ToLower().Equals("\"name\""))
                    {
                        new_param.Name = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"type\""))
                    {
                        if (item.Valor.ToString().ToLower().Contains("set"))
                        {
                            new_param.Type  = "SET";
                            new_param.Attr1 = item.Valor.ToString().ToLower().Replace("set<", "").Replace(">", "");
                        }
                        else if (item.Valor.ToString().ToLower().Contains("map"))
                        {
                            new_param.Type = "MAP";
                            string[] attrsa = item.Valor.ToString().ToLower().Replace("map<", "").Replace(">", "").Split(",");

                            new_param.Attr1 = attrsa.ElementAt(0);
                            new_param.Attr2 = attrsa.ElementAt(1);
                        }
                        else if (item.Valor.ToString().ToLower().Contains("list"))
                        {
                            new_param.Type  = "LIST";
                            new_param.Attr1 = item.Valor.ToString().ToLower().Replace("list<", "").Replace(">", "");
                        }
                        else
                        {
                            new_param.Type = item.Valor.ToString();
                        }
                    }
                    else if (item.Name.ToLower().Equals("\"as\""))
                    {
                        if (item.Valor.ToString().ToLower().Equals("in"))
                        {
                            new_param.Out_ = false; new_param.Out__ = item.Valor.ToString();
                        }
                        else
                        {
                            new_param.Out_ = true; new_param.Out__ = item.Valor.ToString();
                        }
                    }
                    else
                    {
                        //algun error
                    }
                }
                return(new_param);

            case "PARAMETERS4":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> tipo_Objetos = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    tipo_Objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(tipo_Objetos);
                }
                else
                {
                    List <Tipo_Objeto> objetos = new List <Tipo_Objeto>();
                    objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(objetos);
                }

            case "PARAMETER":
                return(Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "LISTAS":
                return(Ejecutar(nodo.ChildNodes.ElementAt(1)));

            case "MAPA":
                return(Ejecutar(nodo.ChildNodes.ElementAt(1)));

            case "MAPA2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> valores = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    valores.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(valores);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Tipo_Objeto> valores = new List <Tipo_Objeto>();
                    valores.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(valores);
                }
                else
                {
                    return(new List <Tipo_Objeto>());
                }

            case "MAPA3":
                tipo_real = getType(nodo.ChildNodes[2].ChildNodes.ElementAt(0));
                Tipo_Objeto ret = new Tipo_Objeto(Ejecutar(nodo.ChildNodes.ElementAt(0)).ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)));
                ret.Type = tipo_real;
                return(ret);

            case "LISTAS2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Item_List> valores = (List <Item_List>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    valores.Add((Item_List)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(valores);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Item_List> valores = new List <Item_List>();
                    valores.Add((Item_List)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(valores);
                }
                else
                {
                    return(new List <Item_List>());
                }

            case "LISTAS3":
                tipo_real = getType(nodo.ChildNodes[0].ChildNodes.ElementAt(0));

                return(new Item_List(tipo_real, Ejecutar(nodo.ChildNodes.ElementAt(0))));


            case "USERS2":
                if (nodo.ChildNodes.ElementAt(0).Term.Name.Equals("ruta_import"))
                {
                    string link = nodo.ChildNodes.ElementAt(0).Token.Text.Replace("${ ", "");
                    link               = link.Replace(" }$", "");
                    db_nosql.Link      = link;
                    db_nosql.Importada = true;
                    String text = System.IO.File.ReadAllText("./NOSQL/Generados/" + link);

                    LanguageData  lenguaje = new LanguageData(new Gramatica_Import_User());
                    Parser        parser   = new Parser(lenguaje);
                    ParseTree     arbol    = parser.Parse(text);
                    ParseTreeNode raiz     = arbol.Root;

                    if (raiz != null && arbol.ParserMessages.Count == 0)
                    {
                        return((List <Usuario>)Ejecutar(raiz.ChildNodes.ElementAt(0)));
                    }
                    else
                    {
                        Program.addError(arbol);
                        return(new List <Usuario>());
                    }
                }
                else if (nodo.ChildNodes.Count == 3)
                {
                    List <Usuario> usuarios = (List <Usuario>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    usuarios.Add((Usuario)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(usuarios);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Usuario> users = new List <Usuario>();
                    users.Add((Usuario)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(users);
                }
                else
                {
                    return(new List <Usuario>());
                }

            case "USERS3":
                Usuario new_user = new Usuario();

                foreach (Tipo_Objeto item in (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(1)))
                {
                    if (item.Name.ToLower().Equals("\"name\""))
                    {
                        new_user.Name = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"password\""))
                    {
                        new_user.Password = item.Valor.ToString();
                    }
                    else if (item.Name.ToLower().Equals("\"permissions\""))
                    {
                        new_user.Permisos = (List <Permiso>)item.Valor;
                    }
                }
                return(new_user);

            case "USERS4":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Tipo_Objeto> tipo_Objetos = (List <Tipo_Objeto>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    tipo_Objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(tipo_Objetos);
                }
                else
                {
                    List <Tipo_Objeto> objetos = new List <Tipo_Objeto>();
                    objetos.Add((Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(objetos);
                }

            case "USER":
                return(Ejecutar(nodo.ChildNodes.ElementAt(0)));

            case "CQL_TYPE":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)).ToString()));

            case "NAME":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)).ToString()));

            case "PASSWORD":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(2)).ToString()));

            case "PERMISSIONS":
                return(new Tipo_Objeto(nodo.ChildNodes[0].Term.Name.ToString(), Ejecutar(nodo.ChildNodes.ElementAt(3))));

            case "VALOR":
                String evaluar = nodo.ChildNodes[0].Term.Name;
                switch (evaluar)
                {
                case "Cadena":
                    return(nodo.ChildNodes[0].ToString().Replace(" (Cadena)", ""));

                case "Identificador":
                    return(nodo.ChildNodes[0].ToString().Replace(" (Identificador)", ""));

                case "Numero":
                    return(nodo.ChildNodes[0].Token.Text);

                case "NULL":
                    return(null);

                case "Time":
                    return(nodo.ChildNodes[0].Token.Text);

                case "FALSE":
                    return(false);

                case "TRUE":
                    return(true);

                case "Date":
                    return(nodo.ChildNodes[0].Token.Text);

                case "LISTAS":
                    return(Ejecutar(nodo.ChildNodes.ElementAt(0)));

                case "MAPA":
                    return(Ejecutar(nodo.ChildNodes.ElementAt(0)));

                default:
                    return("");
                }

            case "PERMISSIONS2":
                if (nodo.ChildNodes.Count == 3)
                {
                    List <Permiso> permisos = (List <Permiso>)Ejecutar(nodo.ChildNodes.ElementAt(0));
                    permisos.Add((Permiso)Ejecutar(nodo.ChildNodes.ElementAt(2)));
                    return(permisos);
                }
                else if (nodo.ChildNodes.Count == 1)
                {
                    List <Permiso> permisos = new List <Permiso>();
                    permisos.Add((Permiso)Ejecutar(nodo.ChildNodes.ElementAt(0)));
                    return(permisos);
                }
                else
                {
                    return(new List <Permiso>());
                }

            case "PERMISSION":
                Tipo_Objeto aux     = (Tipo_Objeto)Ejecutar(nodo.ChildNodes.ElementAt(1));
                Permiso     permiso = new Permiso(aux.Valor.ToString());
                return(permiso);
            }
            return(null);
        }
Beispiel #15
0
        public void Si_Existe_Codigo_Funcionalidad_Codigo_Accion_Tiene_Permisos_Debe_Autorizar()
        {
            Rol rolAdministrador = new Rol();

            rolAdministrador.Id = 1;
            rolAdministrador.EsAdministrador = true;
            rolAdministrador.Codigo          = "bar";


            Rol rolNormal = new Rol();

            rolNormal.Id = 2;
            rolNormal.EsAdministrador = false;
            rolNormal.Codigo          = "foo";

            Permiso permiso = new Permiso();

            permiso.AccionId = 150;
            permiso.RolId    = 1;
            rolNormal.Permisos.Add(permiso);


            Usuario usr = new Usuario();

            usr.Cuenta  = "foo";
            usr.Nombres = "foo";

            Mock <IApplication> applicationMock = new Mock <IApplication>();

            applicationMock.Setup(m => m.GetCurrentRol()).Returns(rolNormal);
            applicationMock.Setup(m => m.GetCurrentUser()).Returns(usr);


            Mock <IRepository <Rol> > repositoryRolMock = new Mock <IRepository <Rol> >();

            List <Rol> roles = new List <Rol>();

            roles.Add(rolNormal);
            roles.Add(rolAdministrador);

            repositoryRolMock.Setup(m => m.GetListIncluding(include => include.Permisos)).Returns(roles);


            Mock <ICacheManager>         cacheManagerMock         = new Mock <ICacheManager>();
            Mock <IFuncionalidadService> funcionalidadServiceMock = new Mock <IFuncionalidadService>();

            Funcionalidad fun = new Funcionalidad();

            fun.Id     = 10;
            fun.Codigo = "foo";

            var accion = new Accion();

            accion.Codigo = "Foo";
            accion.Id     = 150;

            fun.Acciones.Add(accion);

            List <Funcionalidad> lista = new List <Funcionalidad>();

            lista.Add(fun);

            funcionalidadServiceMock.Setup(m => m.GetFuncionalidades()).Returns(lista);

            Mock <IRolService> rolServiceMock = new Mock <IRolService>();


            AuthorizationService servicio = new AuthorizationService(applicationMock.Object, repositoryRolMock.Object, cacheManagerMock.Object, funcionalidadServiceMock.Object, rolServiceMock.Object);


            var result = servicio.Authorize(fun.Codigo, accion.Codigo);

            Assert.IsTrue(result);
        }
Beispiel #16
0
        private void ValidarPermisos()
        {
            try
            {
                Pagina   pagina = new Pagina();
                string[] pag    = Page.Request.Url.ToString().Split(new string[] { "?" }, StringSplitOptions.RemoveEmptyEntries);
                if (pag.Length > 1)
                {
                    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name + "?" + pag[1];
                }
                else
                {
                    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name;
                }
                CN_Pagina CapaNegocio = new CN_Pagina();
                CapaNegocio.PaginaConsultar(ref pagina, sesion.Emp_Cnx);

                Session["Head" + Session.SessionID] = pagina.Path;
                this.Title = pagina.Descripcion;
                Permiso Permiso = new Permiso();
                Permiso.Id_U   = sesion.Id_U;
                Permiso.Id_Cd  = sesion.Id_Cd;
                Permiso.Sm_cve = pagina.Clave;
                //Esta clave depende de la pantalla

                CD_PermisosU CN_PermisosU = new CD_PermisosU();
                CN_PermisosU.ValidaPermisosUsuario(ref Permiso, sesion.Emp_Cnx);

                if (Permiso.PAccesar == true)
                {
                    //    _PermisoGuardar = Permiso.PGrabar;
                    //    _PermisoModificar = Permiso.PModificar;
                    //    _PermisoEliminar = Permiso.PEliminar;
                    //    _PermisoImprimir = Permiso.PImprimir;

                    //    if (Sesion.U_MultiOfi)
                    //    {
                    //        this.RadToolBar1.Items[6].Enabled = _PermisoGuardar; //new
                    //        if (_PermisoGuardar || _PermisoModificar)
                    //        {
                    //            this.RadToolBar1.Items[5].Enabled = true; //save
                    //        }
                    //        this.RadToolBar1.Items[4].Visible = false; //Regresar
                    //        this.RadToolBar1.Items[3].Enabled = _PermisoEliminar; //Eliminar
                    //        this.RadToolBar1.Items[2].Visible = false; //Imprimir
                    //        this.RadToolBar1.Items[1].Visible = false; //Correo
                    //    }
                    //    else //usuario No multi-CentroDistribucion
                    //    {
                    //        this.RadToolBar1.Items[6].Visible = false; //new
                    //        if (_PermisoGuardar || _PermisoModificar)
                    //        {
                    //            this.RadToolBar1.Items[5].Enabled = true; //save
                    //        }
                    //        this.RadToolBar1.Items[4].Visible = false; //Regresar
                    //        this.RadToolBar1.Items[3].Enabled = _PermisoEliminar; //Eliminar
                    //        this.RadToolBar1.Items[2].Visible = false; //Imprimir
                    //        this.RadToolBar1.Items[1].Visible = false; //Correo
                    //    }
                }
                else
                {
                    Response.Redirect("Inicio.aspx");
                }
                //CN_Ctrl ctrl = new CN_Ctrl();
                //ctrl.ValidarCtrl(Sesion, pagina.Clave, divPrincipal);
                //ctrl.ListaCtrls(Sesion.Emp_Cnx, pagina.Clave, divPrincipal.Controls);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #17
0
        /// <summary>
        /// Obtiene los permisos del usuario de forma síncrona.
        /// </summary>
        /// <returns></returns>
        private async Task ObtenerPermisos()
        {
            this.usuario.Permisos = await Permiso.ObtenerPermisos(this.usuario.Id);

            this.CargarPermisos();
        }
Beispiel #18
0
 public void Update(Permiso permiso)
 {
     this.Update(permiso);
 }
Beispiel #19
0
 public void Update(Permiso permiso)
 {
     db.Entry(permiso).State = EntityState.Modified;
     db.SaveChanges();
 }
Beispiel #20
0
 protected void Insert(Permiso permiso)
 {
     this.Insert(permiso);
 }
Beispiel #21
0
 ///<summary>
 ///Constructor
 ///</summary>
 public M13_COModificarPermiso(Entidad permiso, int id)
 {
     this._permiso     = (Permiso)permiso;
     this._permiso._id = id;
 }
Beispiel #22
0
        private void ValidarPermisos()
        {
            try
            {
                Sesion Sesion = (Sesion)Session["Sesion" + Session.SessionID];

                Pagina   pagina = new Pagina();
                string[] pag    = Page.Request.Url.ToString().Split(new string[] { "?" }, StringSplitOptions.RemoveEmptyEntries);
                if (pag.Length > 1)
                {
                    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name + "?" + pag[1];
                }
                else
                {
                    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name;
                }
                CN_Pagina CapaNegocio = new CN_Pagina();
                CapaNegocio.PaginaConsultar(ref pagina, Sesion.Emp_Cnx);

                Session["Head" + Session.SessionID] = pagina.Path;
                this.Title = pagina.Descripcion;
                Permiso Permiso = new Permiso();
                Permiso.Id_U   = Sesion.Id_U;
                Permiso.Id_Cd  = Sesion.Id_Cd;
                Permiso.Sm_cve = pagina.Clave;
                //Esta clave depende de la pantalla

                CapaDatos.CD_PermisosU CN_PermisosU = new CapaDatos.CD_PermisosU();
                CN_PermisosU.ValidaPermisosUsuario(ref Permiso, Sesion.Emp_Cnx);

                if (Permiso.PAccesar == true)
                {
                    _PermisoGuardar   = Permiso.PGrabar;
                    _PermisoModificar = Permiso.PModificar;
                    _PermisoEliminar  = Permiso.PEliminar;
                    _PermisoImprimir  = Permiso.PImprimir;

                    //boton toolbar "nuevo"
                    rtb1.Items.FindItemByValue("new").Visible            = true;
                    rtb1.Items.FindItemByValue("remisionPedido").Visible = false;

                    if (Permiso.PModificar)
                    {
                        //columna editar
                    }
                    //rgPedido.Columns.FindByUniqueName("Editar").Visible = Permiso.PModificar;

                    if (Permiso.PEliminar)
                    {
                        //columna borrar
                        //((RadToolBarItem)RadToolBar1.Items.FindItemByValue("delete")).Enabled = _PermisoEliminar;
                    }

                    //rgPedido.Columns.FindByUniqueName("Autorizar").Visible = _PermisoGuardar;
                }
                else
                {
                    Response.Redirect("Inicio.aspx");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void Page_Init(object sender, EventArgs e)
        {
            // it gets an appropiate context (LainsaSciCTX -> web.config)
            ctx = new LainsaSci("LainsaSciCTX");
            // verify if a Usuario is logged
            usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
            if (usuario == null)
            {
                Response.Redirect("Default.aspx");
            }
            else
            {
                Session["UsuarioId"] = usuario.UsuarioId;
            }

            //
            // si llega aquí está autorizado
            permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "IncidenciaGrid", ctx);
            if (permiso == null)
            {
                RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                      (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                      (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
                RadNotification1.Show();
                RadAjaxManager1.ResponseScripts.Add("closeWindow();");
            }
            btnAccept.Visible = permiso.Modificar;
            // Si esto no va antes de DispositivoID tendrás problemas.
            if (Request.QueryString["Caller"] != null)
            {
                caller = Request.QueryString["Caller"];
                caller = caller.Replace("'", "");
            }
            // Is it a new record or not?
            if (Request.QueryString["IncidenciaEvolucionId"] != null)
            {
                incidenciaEvo = CntLainsaSci.GetIncidenciaEvolucion(int.Parse(Request.QueryString["IncidenciaEvolucionId"]), ctx);
                incidencia    = incidenciaEvo.Incidencia;
                dispositivo   = incidencia.Dispositivo;
                LoadData(incidenciaEvo);
                Title     = String.Format("Inc. Evolución ID:{0}", incidenciaEvo.IncidenciaEvolucionId);
                newRecord = false;
            }
            else
            {
                txtUsuario.Text        = usuario.Nombre;
                txtFechaEvolucion.Text = DateTime.Now.ToString();
            }
            if (Request.QueryString["IncidenciaId"] != null)
            {
                incidencia          = CntLainsaSci.GetIncidencia(int.Parse(Request.QueryString["IncidenciaId"]), ctx);
                dispositivo         = incidencia.Dispositivo;
                txtDispositivo.Text = dispositivo.Nombre;
            }
            if (Request.QueryString["DispositivoId"] != null)
            {
                dispositivo         = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
                txtDispositivo.Text = dispositivo.Nombre;
            }
            if (Request.QueryString["Modo"] != null)
            {
                modo = Request.QueryString["Modo"];
                if (modo == "S")
                {
                    // en silencio
                    btnAccept.Visible = false;
                }
            }
            // control de skin
            if (Session["Skin"] != null)
            {
                RadSkinManager1.Skin = Session["Skin"].ToString();
            }
        }
Beispiel #24
0
        public IList <Rol> BuscarRolesPorPermiso(Permiso permiso)
        {
            IList <Rol> roles = rolDao.FindWhere(x => x.Permisos.Any(p => p.Id == permiso.Id));

            return(roles);
        }
Beispiel #25
0
 public TPermisos(TRecurso recurso, Permiso permiso) {
     this.Recurso = recurso;
     this.Permiso = permiso;
 }
Beispiel #26
0
 public ActionResult Create([Bind(Prefix = "Item1")] Permiso permiso, [Bind(Prefix = "Item2")] EmpPermiso empPermiso)
 {
     empPermiso.fkPermiso = PermisoBLL.InsertObjetoPermiso(permiso);
     EmpPermisoBLL.InsertObjetoEmpPermiso(empPermiso);
     return(RedirectToAction("Index", "Permiso"));
 }
 protected void Page_Init(object sender, EventArgs e)
 {
     // it gets an appropiate context (LainsaSciCTX -> web.config)
     ctx = new LainsaSci("LainsaSciCTX");
     // verify if a Usuario is logged
     Usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
     if (Usuario == null)
     {
         Response.Redirect("Default.aspx");
     }
     else
     {
         Session["UsuarioId"] = Usuario.UsuarioId;
         CargaOperario(Usuario);
     }
     //
     // si llega aquí está autorizado
     permiso = CntLainsaSci.GetPermiso(Usuario.GrupoUsuario, "RevisionGrid", ctx);
     if (permiso == null)
     {
         RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
         RadNotification1.Show();
         RadAjaxManager1.ResponseScripts.Add("closeWindow();");
     }
     btnAccept.Visible = permiso.Modificar;
     if (Request.QueryString["InTab"] != null)
     {
         inTab = Request.QueryString["InTab"];
     }
     // Si esto no va antes de RevisionID tendrás problemas.
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
         caller = caller.Replace("'", "");
     }
     if (Request.QueryString["DispositivoId"] != null)
     {
         dispositivo         = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
         txtDispositivo.Text = dispositivo.Nombre;
     }
     // Is it a new record or not?
     if (Request.QueryString["RevisionId"] != null)
     {
         revision    = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["RevisionId"]), ctx);
         dispositivo = revision.Dispositivo;
         LoadData(revision);
         this.Title = String.Format("Revision: ");
         newRecord  = false;
     }
     else
     {
         CargarTiposAnomalia(null);
     }
     if (Request.QueryString["Modo"] != null)
     {
         modo = Request.QueryString["Modo"];
         if (modo == "S")
         {
             // en silencio
             btnAccept.Visible      = false;
             btnSustitucion.Visible = false;
         }
     }
     //if (revision.Estado == "PROGRAMADA")
     //    crearPlantilla();
     //else if (revision.Estado == "REALIZADA")
     //    cargarPlantilla();
     cargarPlantilla();
 }
Beispiel #28
0
        private void InitPermiso(Entities db)
        {
            var permisos = new Permiso[]
            {
                new Permiso
                {
                    Id          = (int)Permisos.INVENTARIO,
                    Descripcion = "Acceso Inventario",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.MOD_INVENTARIO,
                    Descripcion = "Modificar Inventario",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.IMP_INVENTARIO,
                    Descripcion = "Importar Inventario",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.EXP_INVENTARIO,
                    Descripcion = "Exportar Inventario",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.ORDENES,
                    Descripcion = "Manejo de Ordenes",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.BUSCAR,
                    Descripcion = "Acceso Buscar Ordenes",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.ESTADISTICAS,
                    Descripcion = "Acceso Estadisticas",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.USUARIOS,
                    Descripcion = "Acceso Usuarios",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.MOD_CLIENTES,
                    Descripcion = "Modificar Clientes",
                    IsEnabled   = true,
                },
                new Permiso
                {
                    Id          = (int)Permisos.MOD_MECANICOS,
                    Descripcion = "Modificar Mecanicos",
                    IsEnabled   = true,
                },
            };

            foreach (var item in permisos)
            {
                db.Permiso.Add(item);
                db.SaveChanges();
            }
        }
    string caller = "";                                           // who's calling the grid form
    #endregion
    #region Init, load, unload events
    protected void Page_Init(object sender, EventArgs e)
    {
        // it gets an appropiate context (LainsaSciCTX -> web.config)
        ctx = new LainsaSci("LainsaSciCTX");
        // verify if a Usuario is logged
        Usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
        if (Usuario == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            Session["UsuarioId"] = Usuario.UsuarioId;
        }
        // si llega aquí está autorizado
        permiso = CntLainsaSci.GetPermiso(Usuario.GrupoUsuario, "DispositivoGrid", ctx);
        if (permiso == null)
        {
            RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
            RadNotification1.Show();
            RadAjaxManager1.ResponseScripts.Add("closeWindow();");
        }
        if (Request.QueryString["Mode"] != null)
        {
            mode = Request.QueryString["Mode"];
        }
        if (Request.QueryString["Caller"] != null)
        {
            caller = Request.QueryString["Caller"];
            if (caller.Equals("DispositivoTab"))
            {
                RadTabStrip1.Tabs[1].Visible = false;
                this.Title = String.Format("Accesorio");
            }
        }
        if (Request.QueryString["DispositivoId"] != null)
        {
            dispositivoId = int.Parse(Request.QueryString["DispositivoId"]);
            Dispositivo dispositivo = CntLainsaSci.GetDispositivo(dispositivoId, ctx);
            if (caller.Equals("DispositivoTab"))
            {
                this.Title = String.Format("Accesorio: {0}", dispositivo.Nombre);
            }
            else
            {
                this.Title = String.Format("Dispositivo: {0}", dispositivo.Nombre);
            }
        }
        else
        {
            CntWinWeb.OcultarPestanyas(RadTabStrip1);
        }
        if (Request.QueryString["InstalacionId"] != null)
        {
            instalacionId = int.Parse(Request.QueryString["InstalacionId"]);
        }

        if (Request.QueryString["DispositivoPadreId"] != null)
        {
            dispositivoPadreId = int.Parse(Request.QueryString["DispositivoPadreId"]);
        }
    }
Beispiel #30
0
 public static int InsertObjetoPermiso(Permiso objPermisos)
 {
     return(InsertDatosPermiso(objPermisos.txtDescripcion, objPermisos.intEstado));
 }
    private void setCheckBoxes()
    {
        try
        {
            BL.Rol rl = new Rol();
            List<string> pers = rl.getRolPermisos(descripciones_DDList.SelectedItem.Text);
            permisos_CBList.DataSource = pers;
            permisos_CBList.DataBind();

            foreach (ListItem it in permisos_CBList.Items)
                it.Selected = true;

            BL.Permiso per = new Permiso();
            List<string> otherPers = new List<string>();
            List<string> allPers = per.getPermisosID();

            foreach (string pr in allPers)
            {
                bool flag = false;
                foreach (string myper in pers)
                {
                    if (pr == myper)
                    {
                        flag = true;
                        break;
                    }
                }
                if (!flag)
                    otherPers.Add(pr);
            }
            otrosPermisos_CBList.DataSource = otherPers;
            otrosPermisos_CBList.DataBind();

            long c_id = rl.getCentroID(descripciones_DDList.SelectedItem.Text);
            BL.Centro c = new BL.Centro();
            string c_lugar = c.getLugar(c_id);
            centros.SelectedValue = c_lugar;

            /*for (int i = 0; i < centros.Items.Count; i++)
            {
                if (centros.Items[i].Text == c_lugar)
                {
                    centros.Items[i].Selected = true;

                    break;
                }
            }*/
        }
        catch (Exception ex)
        {
            Session["Error_Msg"] = ex.Message;
            Response.Redirect("~/Error.aspx", true);
        }
    }
    private void Cargar(Acciones accion)
    {
        try
        {
            switch (accion)
            {
                case Acciones.Inicia:
                case Acciones.Guarda:
                    Permiso permiso = new Permiso(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                    Cargar(permiso);
                    break;

            }
        }
        catch (Exception e)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, e.Message, Proceso.Advertencia);
        }
    }
Beispiel #33
0
        protected void Page_Init(object sender, EventArgs e)
        {
            // it gets an appropiate context (LainsaSciCTX -> web.config)
            ctx = new LainsaSci("LainsaSciCTX");
            // verify if a Usuario is logged
            usuariolog = CntWinWeb.IsSomeoneLogged(this, ctx);
            if (usuariolog == null)
            {
                Response.Redirect("Default.aspx");
            }
            else
            {
                Session["UsuarioId"] = usuariolog.UsuarioId;
            }
            //
            permiso = CntLainsaSci.GetPermiso(usuariolog.GrupoUsuario, "usuarioextranetgrid", ctx);
            if (permiso == null)
            {
                RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                      (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                      (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
                RadNotification1.Show();
                RadAjaxManager1.ResponseScripts.Add("closeWindow();");
            }
            btnAccept.Visible = permiso.Modificar;

            if (Request.QueryString["EmpresaId"] != null)
            {
                empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx);
            }
            if (Request.QueryString["RevisionId"] != null)
            {
                instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["RevisionId"]), ctx);
            }
            // Is it a new record or not?
            if (Request.QueryString["UsuarioExtranetId"] != null)
            {
                usuarioextranet = CntLainsaSci.GetUsuarioExtranet(int.Parse(Request.QueryString["UsuarioExtranetId"]), ctx);
                LoadData(usuarioextranet);
                newRecord = false;
            }
            else
            {
                if (instalacion != null)
                {
                    rdcInstalacion.Items.Clear();
                    rdcInstalacion.Items.Add(new RadComboBoxItem(instalacion.Nombre, instalacion.InstalacionId.ToString()));
                    rdcInstalacion.SelectedValue = instalacion.InstalacionId.ToString();
                    empresa = instalacion.Empresa;
                }
                if (empresa != null)
                {
                    rdcEmpresa.Items.Clear();
                    rdcEmpresa.Items.Add(new RadComboBoxItem(empresa.Nombre, empresa.EmpresaId.ToString()));
                    rdcEmpresa.SelectedValue = empresa.EmpresaId.ToString();
                }
            }
            if (Request.QueryString["Caller"] != null)
            {
                caller = Request.QueryString["Caller"];
                caller = caller.Replace("'", "");
            }
        }
    private void Cargar(Permiso.Procesos proceso)
    {
        DropDownList_Proceso.SelectedValue = proceso.ToString();
        Permiso permiso = new Permiso(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        permiso.ObtenerPorProceso(proceso);
        foreach (TreeNode treeNode in TreeView_seccion.Nodes)
        {
            if (treeNode.ChildNodes.Count > 0)
            {
                foreach (TreeNode childNodes in treeNode.ChildNodes)
                {
                    if ((childNodes.Value.Equals(Permiso.Procesos.Comercial.ToString())) && (permiso.Comercial)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Seleccion.ToString())) && (permiso.Seleccion)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Contratacion.ToString())) && (permiso.Contratacion)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Nomina.ToString())) && (permiso.Nomina)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Facturacion.ToString())) && (permiso.Facturacion)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Contabilidad.ToString())) && (permiso.Contabilidad)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Financiera.ToString())) && (permiso.Financiera)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Juridica.ToString())) && (permiso.Juridica)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.SaludIntegral.ToString())) && (permiso.SaludIntegral)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Operaciones.ToString())) && (permiso.Operaciones)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.BienestarSocial.ToString())) && (permiso.BienestarSocial)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.Rse.ToString())) && (permiso.Rse)) childNodes.Checked = true;
                    if ((childNodes.Value.Equals(Permiso.Procesos.ComprasEInventario.ToString())) && (permiso.ComprasEInventario)) childNodes.Checked = true;

                    if (childNodes.ChildNodes.Count > 0)
                    {
                        foreach (TreeNode tn in childNodes.ChildNodes)
                        {
                            if ((tn.Value.Equals(Permiso.Secciones.ComercialCobertura.ToString())) && (permiso.ComercialCobertura)) tn.Checked = true;
                            if ((tn.Value.Equals(Permiso.Secciones.ComercialCondicionesEconomicas.ToString())) && (permiso.ComercialCondicionesEconomicas)) tn.Checked = true;
                            if ((tn.Value.Equals(Permiso.Secciones.ComercialContactos.ToString())) && (permiso.ComercialContactos)) tn.Checked = true;
                            if ((tn.Value.Equals(Permiso.Secciones.ComercialUnidadNegocio.ToString())) && (permiso.ComercialUnidadNegocio)) tn.Checked = true;
                        }
                    }
                }
            }
        }
    }
Beispiel #35
0
        private void ValidarPermisos()
        {
            try
            {
                Sesion Sesion = new Sesion();
                Sesion = (Sesion)Session["Sesion" + Session.SessionID];

                Pagina pagina = new Pagina();
                //string[] pag = Page.Request.Url.ToString().Split(new string[] { "?" }, StringSplitOptions.RemoveEmptyEntries);
                //if (pag.Length > 1)
                //    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name + "?" + pag[1];
                //else
                //    pagina.Url = (new System.IO.FileInfo(Page.Request.Url.AbsolutePath)).Name;

                pagina.Url = "CapGestionPrecios_Solicitud.aspx?Unq=0";

                CN_Pagina CapaNegocio = new CN_Pagina();
                CapaNegocio.PaginaConsultar(ref pagina, Sesion.Emp_Cnx);

                Session["Head" + Session.SessionID] = pagina.Path;
                this.Title = pagina.Descripcion;
                Permiso Permiso = new Permiso();
                Permiso.Id_U   = Sesion.Id_U;
                Permiso.Id_Cd  = Sesion.Id_Cd;
                Permiso.Sm_cve = pagina.Clave;
                //Esta clave depende de la pantalla

                CapaDatos.CD_PermisosU CN_PermisosU = new CapaDatos.CD_PermisosU();
                CN_PermisosU.ValidaPermisosUsuario(ref Permiso, Sesion.Emp_Cnx);

                if (Permiso.PAccesar == true)
                {
                    _PermisoGuardar   = Permiso.PGrabar;
                    _PermisoModificar = Permiso.PModificar;
                    _PermisoEliminar  = Permiso.PEliminar;
                    _PermisoImprimir  = Permiso.PImprimir;

                    if (Permiso.PGrabar == false)
                    {
                        this.rtb1.Items[1].Visible = false;
                    }
                }
                else
                {
                    Response.Redirect("Inicio.aspx");
                }


                //if (ConsultarAutorizacionPrecio() == "True")
                //{

                //    this.rg1.Columns[11].Visible = true ;
                //}

                //else
                //{
                //    this.rg1.Columns[11].Visible = false;

                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private void Cargar(Permiso permiso)
 {
     GridView_procesos_con_permisos.DataSource = permiso.ObtenerTodosLosProcesos();
     GridView_procesos_con_permisos.DataBind();
 }
Beispiel #37
0
 public void Insert(Permiso permiso)
 {
     db.Permiso.Add(permiso);
     db.SaveChanges();
 }
 private void Guardar()
 {
     if (Validar())
     {
         List<Permiso> permisos = new List<Permiso>();
         Permiso permiso;
         foreach (TreeNode treeNode in TreeView_seccion.CheckedNodes)
         {
             if (treeNode.Text != "Secciones del Manual del Cliente")
             {
                 if (treeNode.ChildNodes.Count > 0)
                 {
                     foreach (TreeNode childNodes in treeNode.ChildNodes)
                     {
                         if (childNodes.Checked)
                         {
                             permiso = new Permiso(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
                             permiso.Proceso = DropDownList_Proceso.SelectedValue.ToString();
                             permiso.ProcesoPermitido = treeNode.Value;
                             permiso.Seccion = childNodes.Value;
                             permisos.Add(permiso);
                         }
                     }
                 }
             }
         }
         permiso = new Permiso(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
         try
         {
             permiso.Adicionar(permisos);
             Bloquear();
             Desbloquear(Acciones.Guarda);
             Ocultar();
             Mostrar(Acciones.Guarda);
             Cargar(Acciones.Guarda);
             Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Los datos han sido almacenados correctamente.", Proceso.Correcto);
         }
         catch (Exception e)
         {
             Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "Los datos NO han sido almacenados. " + e.Message, Proceso.Error);
         }
     }
 }
Beispiel #39
0
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     this.mPresenter = new ImportarEditor(this);
     Permiso permiso = GenericUtil.ValidarFormulario(AppInfo.CurrentUser, this.Name);
 }
    protected void Page_Init(object sender, EventArgs e)
    {
        // it gets an appropiate context (LainsaSciCTX -> web.config)
        ctx = new LainsaSci("LainsaSciCTX");
        // verify if a Usuario is logged
        usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
        if (usuario == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            Session["UsuarioId"] = usuario.UsuarioId;
        }
        // si llega aquí está autorizado
        permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "dispositivogrid", ctx);
        if (permiso == null)
        {
            RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
            RadNotification1.Show();
            RadAjaxManager1.ResponseScripts.Add("closeWindow();");
        }
        CntWinWeb.TranslateRadGridFilters(RadGrid1);
        if (Request.QueryString["Mode"] != null)
        {
            mode = Request.QueryString["Mode"];
        }

        if (Request.QueryString["InTab"] != null)
        {
            inTab = Request.QueryString["InTab"];
        }
        if (Request.QueryString["Caller"] != null)
        {
            caller = Request.QueryString["Caller"];
        }
        if (Request.QueryString["LL"] != null)
        {
            LL = "2";
            if (Session["DispositivoOriginal"] != null)
            {
                dispositivoOriginal = (Dispositivo)Session["DispositivoOriginal"];
            }
        }
        if (Request.QueryString["RevisionId"] != null)
        {
            instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["RevisionId"]), ctx);
            if (instalacion != null)
            {
                RadGrid1.Columns.FindByDataField("Instalacion.Nombre").Visible = false;
            }
        }
        if (Request.QueryString["DispositivoId"] != null)
        {
            dispositivo = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
            if (dispositivo != null)
            {
                RadGrid1.Columns.FindByDataField("Instalacion.Nombre").Visible         = false;
                RadGrid1.Columns.FindByDataField("Instalacion.Empresa.Nombre").Visible = false;
            }
        }
    }
Beispiel #41
0
        /// <summary>
        /// Este método carga datos de prueba en el esquema de la aplicación.
        /// </summary>
        public void cargarEsquema()
        {
            // ReSharper disable InconsistentNaming

            ////////////////////////////////////////////////////////
            // Se crean algunos usuarios (y se encripta el password)
            ////////////////////////////////////////////////////////

            #region usuarios
            Usuario admin = new Usuario {
                Nombre = "ADMIN",
                Empleado = "ADMINISTRADOR DEL SISTEMA",
                Legajo = 3300,
                Activado = true
            };
            admin.setCryptPassword("admsgm");
            admin.save();
            #endregion usuarios

            //////////////////////////////////////////////////////
            // Se crean un par de parametros generales del sistema
            //////////////////////////////////////////////////////

            #region generales sistema
            (new Parametro {
                Clave = "SISTEMA.VERSION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "Versión del Sistema",
                Valorstring = "1.0.0"
            }).save();
            (new Parametro {
                Clave = "SISTEMA.TITULO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "Titulo para la Aplicación",
                Valorstring = "SGMPro - ESTUDIO ALAMO & ASOCIADOS"
            }).save();
            (new Parametro {
                Clave = "SISTEMA.NOMBRE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "Nombre interno del Sistema",
                Valorstring = "SGMPro"
            }).save();
            (new Parametro {
                Clave = "SISTEMA.DB",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "Nombre de la DB del sistema",
                Valorstring = "sgmpro"
            }).save();
            #endregion generales sistema

            ////////////////////////////////////////////////////////////////////
            // Se crean los parámetros asociados a opciones ejecutables del menú
            ////////////////////////////////////////////////////////////////////

            #region menu
            (new Parametro {
                Clave = "MENU.SISTEMA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.MENU,
                Nombre = "&Sistema",
                Valorbool = true,
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.MENU,
                Nombre = "&Gestión",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.MENU,
                Nombre = "&Configuracion",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "MENU.INTERFACES",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.MENU,
                Nombre = "I&nterfaces",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "MENU.INFORMES",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.MENU,
                Nombre = "&Informes",
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "MENU.AYUDA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.MENU,
                Nombre = "&Ayuda",
                Valorbool = true,
                Orden = 6
            }).save();
            (new Parametro {
                Clave = "MENU.SISTEMA.INICIARSESION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Iniciar Sesión...",
                Valorstring = "cuIniciarSesion",
                Valorbool = true,
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.SISTEMA.CERRARSESION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Cerrar Sesión",
                Valorstring = "cuCerrarSesion",
                Valorbool = true,
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "MENU.SISTEMA.$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "MENU.SISTEMA.BACKUP",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Realizar Backup de datos...",
                Valorstring = "cuBackupSistema",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "MENU.SISTEMA.$$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Valorbool = true,
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "MENU.SISTEMA.SALIR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Salir",
                Valorstring = "cuCerrarSistema",
                Valorbool = true,
                Orden = 6
            }).save();
            (new Parametro {
                Clave = "MENU.AYUDA.ACERCADE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Acerca de...",
                Valorstring = "cuAcercaDe",
                Valorbool = true,
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.BANDEJA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Bandeja de Gestiones Asociadas...",
                Valorstring = "cuBandejaEntrada",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.SELECCION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Selección &Manual de Cuenta...",
                Valorstring = "cuSeleccionarCuenta",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.LEGAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Gestión &Legal...",
                Valorstring = "cuGestionLegal",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.$$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.ADMIN",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Administración de Datos...",
                Valorstring = "cuConfigurarGestion",
                Orden = 6
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.$$$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 7
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.DEUDAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Administración de &Deudas...",
                Valorstring = "cuAbmDeuda.CUAdminDeudas",
                Orden = 8
            }).save();
            (new Parametro {
                Clave = "MENU.GESTION.PAGOS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Administración de &Pagos...",
                Valorstring = "cuAbmPago.CUAdminPagos",
                Orden = 9
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.LISTAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Configurar &Listas...",
                Valorstring = "cuConfigurarListas",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.ABMJOB",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Programar Generación de Listas",
                Valorstring = "cuGenerarJobs.CUEditarJob",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.TIPOSCONVENIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Gestión de &Tipos de Convenio",
                Valorstring = "cuAbmTipoConvenio.CUAdminTiposConvenio",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.ABMVARIABLES",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Gestión de &Variables",
                Valorstring = "cuAbmVariable.CUListVariables",
                Orden = 6
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.$$$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 7
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.SEGURIDAD",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Seguridad y Perfiles",
                Valorstring = "cuConfigurarUsuarios",
                Orden = 8
            }).save();
            (new Parametro {
                Clave = "MENU.CONFIGURACION.PARAMETROS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "&Configurar Parámetros...",
                Valorstring = "cuAbmParametro.CUAdminParametros",
                Orden = 9
            }).save();
            (new Parametro {
                Clave = "MENU.INTERFACES.ALTACUENTAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Carga Masiva...",
                Valorstring = "cuCargaMasiva",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.INTERFACES.$$LINEA$",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "-",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "MENU.INTERFACES.UPDATEPERSONAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Novedades de &Personas...",
                Valorstring = "cuInterfaces.CUNovedadPersonas",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "MENU.INTERFACES.UPDATECUENTAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Novedades de &Cuentas...",
                Valorstring = "cuInterfaces.CUNovedadCuentas",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "MENU.INTERFACES.UPDATEMOVIMIENTOS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Novedades &Deudas y Pagos...",
                Valorstring = "cuInterfaces.CUNovedadMovs",
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "MENU.INFORMES.GESTIONES",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Gestiones Realizadas",
                Valorstring = "cuGenerarInformes.CUListadoGestiones",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "MENU.INFORMES.GENLISTAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Listas Generadas",
                Valorstring = "cuGenerarInformes.CUGenerarRecibo",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "MENU.INFORMES.COBRANZAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.SUBMENU,
                Nombre = "Cobranzas Ingresadas",
                Valorstring = "cuGenerarInformes.CUCobranzasIngresadas",
                Orden = 3
            }).save();
            #endregion menu

            ///////////////////////////////////////////////////////
            // Se crean permisos contra botones
            ///////////////////////////////////////////////////////

            #region entidades gestionables
            (new Parametro {
                Clave = "ENTIDAD.PARAMETRO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PARAMETRO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.USUARIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.USUARIO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.ROL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.ROL",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.PERFIL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PERFIL",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.PERMISO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PERMISO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.SESION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.SESION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.CONTACTO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.CONTACTO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.CONVENIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.CONVENIO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.ESTRATEGIA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.ESTRATEGIA",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.CUENTA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.CUENTA",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.ENTIDAD",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.ENTIDAD",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.DEUDA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.DEUDA",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.GESTIONPERIODICA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.GESTIONPERIODICA",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.LISTAGESTION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.LISTAGESTION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.JOBGENLISTAGESTION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.JOBGENLISTAGESTION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.PAGO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PAGO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.PERSONA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PERSONA",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.PREDICADO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PREDICADO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.PRODUCTO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.PRODUCTO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.RELACION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.RELACION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.TIPOCONVENIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.TIPOCONVENIO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.TRAMO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.TRAMO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.TIPOLISTAGESTION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.TIPOLISTAGESTION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.VARIABLE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.VARIABLE",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.VOCABLO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.VOCABLO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.GESTION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.GESTION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.RESULTADO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.RESULTADO",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.IMPUTACION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.IMPUTACION",
            }).save();
            (new Parametro {
                Clave = "ENTIDAD.RECIBO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "ENTIDAD.RECIBO",
            }).save();
            #endregion entidades gestionables

            ///////////////////////////////////////////////////////
            // Se crean recursos para los botones
            ///////////////////////////////////////////////////////

            #region botones
            (new Parametro {
                Clave = "BOTON.CONVENIO.GENERAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CONVENIO.GENERAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CONVENIO.ACTIVAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CONVENIO.ACTIVAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CONVENIO.IMPRIMIR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CONVENIO.IMPRIMIR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CONTACTO.VERIFICAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CONTACTO.VERIFICAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CUENTA.CANCELAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CUENTA.CANCELAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CONTACTO.CREAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CONTACTO.CREAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.ACTUAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.ACTUAL",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.SELECCION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.SELECCION",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.TELEFONICA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.TELEFONICA",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.POSTAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.POSTAL",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.TERRENO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.TERRENO",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.BACKOFFICE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.BACKOFFICE",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.ALTAPAGO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.ALTAPAGO",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.ALTACONVENIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.ALTACONVENIO",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTIONAR.ALTADEUDA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTIONAR.ALTADEUDA",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTION.GESTIONAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTION.GESTIONAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTION.IMPRIMIR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTION.IMPRIMIR",
            }).save();
            (new Parametro {
                Clave = "BOTON.GESTION.IMPRIMIR.TODO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.GESTION.IMPRIMIR.TODO",
            }).save();
            (new Parametro {
                Clave = "BOTON.RECIBO.REIMPRIMIR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.RECIBO.REIMPRIMIR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CUENTA.EDITAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CUENTA.EDITAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.CONTACTO.EDITAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.CONTACTO.EDITAR",
            }).save();
            (new Parametro {
                Clave = "BOTON.PERSONA.EDITAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.RECURSO,
                Nombre = "BOTON.PERSONA.EDITAR",
            }).save();
            #endregion botones

            ////////////////////////////////////////////////////////////////
            // Se crean los permisos asociados a los recursos 'verificables'
            // (aquellos que son suceptibles de tener un permiso asociado)
            ////////////////////////////////////////////////////////////////

            #region permisos menu
            Permiso pBackup = new Permiso {
                Recurso = Parametros.GetByClave("MENU.SISTEMA.BACKUP"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBackup.save();

            Permiso pGestel = new Permiso {
                Recurso = Parametros.GetByClave("MENU.GESTION.BANDEJA"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pGestel.save();

            Permiso pGestsel = new Permiso {
                Recurso = Parametros.GetByClave("MENU.GESTION.SELECCION"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pGestsel.save();

            Permiso pGeslegal = new Permiso {
                Recurso = Parametros.GetByClave("MENU.GESTION.LEGAL"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pGeslegal.save();

            Permiso pDgadmin = new Permiso {
                Recurso = Parametros.GetByClave("MENU.GESTION.ADMIN"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pDgadmin.save();

            Permiso pDgadmindd = new Permiso {
                Recurso = Parametros.GetByClave("MENU.GESTION.DEUDAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pDgadmindd.save();

            Permiso pDgadminpg = new Permiso {
                Recurso = Parametros.GetByClave("MENU.GESTION.PAGOS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pDgadminpg.save();

            Permiso pConfParam = new Permiso {
                Recurso = Parametros.GetByClave("MENU.CONFIGURACION.PARAMETROS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pConfParam.save();

            Permiso pConflist = new Permiso {
                Recurso = Parametros.GetByClave("MENU.CONFIGURACION.LISTAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pConflist.save();

            Permiso pAbmJobs = new Permiso {
                Recurso = Parametros.GetByClave("MENU.CONFIGURACION.ABMJOB"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pAbmJobs.save();

            Permiso pAbmVar = new Permiso {
                Recurso = Parametros.GetByClave("MENU.CONFIGURACION.ABMVARIABLES"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pAbmVar.save();

            Permiso pAbmTipoconv = new Permiso {
                Recurso = Parametros.GetByClave("MENU.CONFIGURACION.TIPOSCONVENIO"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pAbmTipoconv.save();

            Permiso pSeguridad = new Permiso {
                Recurso = Parametros.GetByClave("MENU.CONFIGURACION.SEGURIDAD"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pSeguridad.save();

            Permiso pInfogest = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INFORMES.GESTIONES"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInfogest.save();

            Permiso pInfogenlist = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INFORMES.GENLISTAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInfogenlist.save();

            Permiso pInfocobranzas = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INFORMES.COBRANZAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInfocobranzas.save();

            Permiso pInterfaltactas = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INTERFACES.ALTACUENTAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInterfaltactas.save();

            Permiso pInterfupdpers = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INTERFACES.UPDATEPERSONAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInterfupdpers.save();

            Permiso pInterfupdctas = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INTERFACES.UPDATECUENTAS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInterfupdctas.save();

            Permiso pInterfupdmovs = new Permiso {
                Recurso = Parametros.GetByClave("MENU.INTERFACES.UPDATEMOVIMIENTOS"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pInterfupdmovs.save();
            #endregion permisos menu

            ///////////////////////////////////////////////////////
            // Se crean permisos contra botones
            ///////////////////////////////////////////////////////

            #region permisos entidades
            Permiso pVerPARAMETRO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PARAMETRO"),
                Tipo = ETipoPermiso.VER
            };
            pVerPARAMETRO.save();
            Permiso pAgregarPARAMETRO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PARAMETRO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPARAMETRO.save();
            Permiso pEditarPARAMETRO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PARAMETRO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarPARAMETRO.save();
            Permiso pRemoverPARAMETRO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PARAMETRO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPARAMETRO.save();
            Permiso pVerUsuario = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.USUARIO"),
                Tipo = ETipoPermiso.VER
            };
            pVerUsuario.save();
            Permiso pAgregarUsuario = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.USUARIO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarUsuario.save();
            Permiso pEditarUsuario = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.USUARIO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarUsuario.save();
            Permiso pRemoverUsuario = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.USUARIO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverUsuario.save();
            Permiso pVerROL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ROL"),
                Tipo = ETipoPermiso.VER
            };
            pVerROL.save();
            Permiso pAgregarROL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ROL"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarROL.save();
            Permiso pEditarROL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ROL"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarROL.save();
            Permiso pRemoverROL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ROL"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverROL.save();
            Permiso pVerPERMISO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERMISO"),
                Tipo = ETipoPermiso.VER
            };
            pVerPERMISO.save();
            Permiso pAgregarPERMISO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERMISO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPERMISO.save();
            Permiso pEditarPERMISO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERMISO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarPERMISO.save();
            Permiso pRemoverPERMISO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERMISO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPERMISO.save();
            Permiso pVerPERFIL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERFIL"),
                Tipo = ETipoPermiso.VER
            };
            pVerPERFIL.save();
            Permiso pAgregarPERFIL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERFIL"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPERFIL.save();
            Permiso pEditarPERFIL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERFIL"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarPERFIL.save();
            Permiso pRemoverPERFIL = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERFIL"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPERFIL.save();
            // NO PUEDE HACERSE NADA CON UNA SESION (SOLO LISTAR)
            //Permiso pVerSESION = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.SESION"),
            //    Tipo = ETipoPermiso.VER
            //};
            //pVerSESION.save();
            //Permiso pAgregarSESION = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.SESION"),
            //    Tipo = ETipoPermiso.AGREGAR
            //};
            //pAgregarSESION.save();
            //Permiso pEditarSESION = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.SESION"),
            //    Tipo = ETipoPermiso.EDITAR
            //};
            //pEditarSESION.save();
            //Permiso pRemoverSESION = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.SESION"),
            //    Tipo = ETipoPermiso.REMOVER
            //};
            //pRemoverSESION.save();
            Permiso pVerCONTACTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONTACTO"),
                Tipo = ETipoPermiso.VER
            };
            pVerCONTACTO.save();
            Permiso pAgregarCONTACTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONTACTO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarCONTACTO.save();
            Permiso pEditarCONTACTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONTACTO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarCONTACTO.save();
            Permiso pRemoverCONTACTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONTACTO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverCONTACTO.save();
            Permiso pVerCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONVENIO"),
                Tipo = ETipoPermiso.VER
            };
            pVerCONVENIO.save();
            Permiso pAgregarCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONVENIO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarCONVENIO.save();
            Permiso pEditarCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONVENIO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarCONVENIO.save();
            Permiso pRemoverCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CONVENIO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverCONVENIO.save();
            Permiso pVerCUENTA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CUENTA"),
                Tipo = ETipoPermiso.VER
            };
            pVerCUENTA.save();
            Permiso pAgregarCUENTA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CUENTA"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarCUENTA.save();
            Permiso pEditarCUENTA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CUENTA"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarCUENTA.save();
            Permiso pRemoverCUENTA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.CUENTA"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverCUENTA.save();
            Permiso pVerDEUDA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.DEUDA"),
                Tipo = ETipoPermiso.VER
            };
            pVerDEUDA.save();
            Permiso pAgregarDEUDA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.DEUDA"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarDEUDA.save();
            // NO SE PUEDEN REMOVER NI EDITAR LAS DEUDAS!!!!!!!!
            //Permiso pEditarDEUDA = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.DEUDA"),
            //    Tipo = ETipoPermiso.EDITAR
            //};
            //pEditarDEUDA.save();
            //Permiso pRemoverDEUDA = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.DEUDA"),
            //    Tipo = ETipoPermiso.REMOVER
            //};
            //pRemoverDEUDA.save();
            Permiso pVerENTIDAD = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ENTIDAD"),
                Tipo = ETipoPermiso.VER
            };
            pVerENTIDAD.save();
            Permiso pAgregarENTIDAD = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ENTIDAD"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarENTIDAD.save();
            Permiso pEditarENTIDAD = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ENTIDAD"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarENTIDAD.save();
            Permiso pRemoverENTIDAD = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ENTIDAD"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverENTIDAD.save();
            Permiso pVerESTRATEGIA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ESTRATEGIA"),
                Tipo = ETipoPermiso.VER
            };
            pVerESTRATEGIA.save();
            Permiso pAgregarESTRATEGIA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ESTRATEGIA"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarESTRATEGIA.save();
            Permiso pEditarESTRATEGIA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ESTRATEGIA"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarESTRATEGIA.save();
            Permiso pRemoverESTRATEGIA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.ESTRATEGIA"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverESTRATEGIA.save();
            Permiso pVerGESTIONPERIODICA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTIONPERIODICA"),
                Tipo = ETipoPermiso.VER
            };
            pVerGESTIONPERIODICA.save();
            Permiso pAgregarGESTIONPERIODICA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTIONPERIODICA"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarGESTIONPERIODICA.save();
            Permiso pEditarGESTIONPERIODICA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTIONPERIODICA"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarGESTIONPERIODICA.save();
            Permiso pRemoverGESTIONPERIODICA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTIONPERIODICA"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverGESTIONPERIODICA.save();
            Permiso pVerLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.LISTAGESTION"),
                Tipo = ETipoPermiso.VER
            };
            pVerLISTAGESTION.save();
            Permiso pAgregarLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.LISTAGESTION"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarLISTAGESTION.save();
            Permiso pEditarLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.LISTAGESTION"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarLISTAGESTION.save();
            Permiso pRemoverLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.LISTAGESTION"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverLISTAGESTION.save();
            Permiso pVerPAGO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PAGO"),
                Tipo = ETipoPermiso.VER
            };
            pVerPAGO.save();
            Permiso pAgregarPAGO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PAGO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPAGO.save();
            // NO SE PUEDE EDITAR UN PAGO!!!!
            //Permiso pEditarPAGO = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.PAGO"),
            //    Tipo = ETipoPermiso.EDITAR
            //};
            //pEditarPAGO.save();
            Permiso pRemoverPAGO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PAGO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPAGO.save();
            Permiso pVerPERSONA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERSONA"),
                Tipo = ETipoPermiso.VER
            };
            pVerPERSONA.save();
            Permiso pAgregarPERSONA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERSONA"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPERSONA.save();
            Permiso pEditarPERSONA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERSONA"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarPERSONA.save();
            Permiso pRemoverPERSONA = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PERSONA"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPERSONA.save();
            Permiso pVerPREDICADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PREDICADO"),
                Tipo = ETipoPermiso.VER
            };
            pVerPREDICADO.save();
            Permiso pAgregarPREDICADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PREDICADO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPREDICADO.save();
            Permiso pEditarPREDICADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PREDICADO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarPREDICADO.save();
            Permiso pRemoverPREDICADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PREDICADO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPREDICADO.save();
            Permiso pVerPRODUCTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PRODUCTO"),
                Tipo = ETipoPermiso.VER
            };
            pVerPRODUCTO.save();
            Permiso pAgregarPRODUCTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PRODUCTO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarPRODUCTO.save();
            Permiso pEditarPRODUCTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PRODUCTO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarPRODUCTO.save();
            Permiso pRemoverPRODUCTO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.PRODUCTO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverPRODUCTO.save();
            Permiso pVerRELACION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RELACION"),
                Tipo = ETipoPermiso.VER
            };
            pVerRELACION.save();
            Permiso pAgregarRELACION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RELACION"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarRELACION.save();
            Permiso pEditarRELACION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RELACION"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarRELACION.save();
            Permiso pRemoverRELACION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RELACION"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverRELACION.save();
            Permiso pVerTIPOCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOCONVENIO"),
                Tipo = ETipoPermiso.VER
            };
            pVerTIPOCONVENIO.save();
            Permiso pAgregarTIPOCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOCONVENIO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarTIPOCONVENIO.save();
            Permiso pEditarTIPOCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOCONVENIO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarTIPOCONVENIO.save();
            Permiso pRemoverTIPOCONVENIO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOCONVENIO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverTIPOCONVENIO.save();
            Permiso pVerTIPOLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOLISTAGESTION"),
                Tipo = ETipoPermiso.VER
            };
            pVerTIPOLISTAGESTION.save();
            Permiso pAgregarTIPOLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOLISTAGESTION"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarTIPOLISTAGESTION.save();
            Permiso pEditarTIPOLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOLISTAGESTION"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarTIPOLISTAGESTION.save();
            Permiso pRemoverTIPOLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TIPOLISTAGESTION"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverTIPOLISTAGESTION.save();
            Permiso pVerJOBGENLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.JOBGENLISTAGESTION"),
                Tipo = ETipoPermiso.VER
            };
            pVerJOBGENLISTAGESTION.save();
            Permiso pAgregarJOBGENLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.JOBGENLISTAGESTION"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarJOBGENLISTAGESTION.save();
            Permiso pEditarJOBGENLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.JOBGENLISTAGESTION"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarJOBGENLISTAGESTION.save();
            Permiso pRemoverJOBGENLISTAGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.JOBGENLISTAGESTION"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverJOBGENLISTAGESTION.save();
            Permiso pVerTRAMO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TRAMO"),
                Tipo = ETipoPermiso.VER
            };
            pVerTRAMO.save();
            Permiso pAgregarTRAMO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TRAMO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarTRAMO.save();
            Permiso pEditarTRAMO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TRAMO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarTRAMO.save();
            Permiso pRemoverTRAMO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.TRAMO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverTRAMO.save();
            Permiso pVerVARIABLE = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VARIABLE"),
                Tipo = ETipoPermiso.VER
            };
            pVerVARIABLE.save();
            Permiso pAgregarVARIABLE = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VARIABLE"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarVARIABLE.save();
            Permiso pEditarVARIABLE = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VARIABLE"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarVARIABLE.save();
            Permiso pRemoverVARIABLE = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VARIABLE"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverVARIABLE.save();
            Permiso pVerVOCABLO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VOCABLO"),
                Tipo = ETipoPermiso.VER
            };
            pVerVOCABLO.save();
            Permiso pAgregarVOCABLO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VOCABLO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarVOCABLO.save();
            Permiso pEditarVOCABLO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VOCABLO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarVOCABLO.save();
            Permiso pRemoverVOCABLO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.VOCABLO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverVOCABLO.save();
            Permiso pVerGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTION"),
                Tipo = ETipoPermiso.VER
            };
            pVerGESTION.save();
            Permiso pAgregarGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTION"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarGESTION.save();
            Permiso pEditarGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTION"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarGESTION.save();
            Permiso pRemoverGESTION = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.GESTION"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverGESTION.save();
            Permiso pVerRESULTADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RESULTADO"),
                Tipo = ETipoPermiso.VER
            };
            pVerRESULTADO.save();
            Permiso pAgregarRESULTADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RESULTADO"),
                Tipo = ETipoPermiso.AGREGAR
            };
            pAgregarRESULTADO.save();
            Permiso pEditarRESULTADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RESULTADO"),
                Tipo = ETipoPermiso.EDITAR
            };
            pEditarRESULTADO.save();
            Permiso pRemoverRESULTADO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RESULTADO"),
                Tipo = ETipoPermiso.REMOVER
            };
            pRemoverRESULTADO.save();
            // NO SE PUEDE OPERAR DIRECTAMENTE CON UNA IMPUTACION
            //Permiso pVerIMPUTACION = new Permiso {
            //    Recurso = Parametros.GetByClave("ENTIDAD.IMPUTACION"),
            //    Tipo = ETipoPermiso.VER
            //};
            //pVerIMPUTACION.save();
            //Permiso pAgregarIMPUTACION = new Permiso
            //{
            //    Recurso = Parametros.GetByClave("ENTIDAD.IMPUTACION"),
            //    Tipo = ETipoPermiso.AGREGAR
            //};
            //pAgregarIMPUTACION.save();
            //Permiso pEditarIMPUTACION = new Permiso
            //{
            //    Recurso = Parametros.GetByClave("ENTIDAD.IMPUTACION"),
            //    Tipo = ETipoPermiso.EDITAR
            //};
            //pEditarIMPUTACION.save();
            //Permiso pRemoverIMPUTACION = new Permiso
            //{
            //    Recurso = Parametros.GetByClave("ENTIDAD.IMPUTACION"),
            //    Tipo = ETipoPermiso.REMOVER
            //};
            //pRemoverIMPUTACION.save();
            Permiso pVerRECIBO = new Permiso {
                Recurso = Parametros.GetByClave("ENTIDAD.RECIBO"),
                Tipo = ETipoPermiso.VER
            };
            pVerRECIBO.save();
            // NO SE PUEDE OPERAR DIRECTAMENTE CON UN RECIBO
            //Permiso pAgregarRECIBO = new Permiso
            //{
            //    Recurso = Parametros.GetByClave("ENTIDAD.RECIBO"),
            //    Tipo = ETipoPermiso.AGREGAR
            //};
            //pAgregarRECIBO.save();
            //Permiso pEditarRECIBO = new Permiso
            //{
            //    Recurso = Parametros.GetByClave("ENTIDAD.RECIBO"),
            //    Tipo = ETipoPermiso.EDITAR
            //};
            //pEditarRECIBO.save();
            //Permiso pRemoverRECIBO = new Permiso
            //{
            //    Recurso = Parametros.GetByClave("ENTIDAD.RECIBO"),
            //    Tipo = ETipoPermiso.REMOVER
            //};
            //pRemoverRECIBO.save();
            #endregion permisos entidades

            ///////////////////////////////////////////////////////
            // Se crean permisos contra botones
            ///////////////////////////////////////////////////////

            #region permisos botones
            Permiso pBotonConvenioGenerar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CONVENIO.GENERAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonConvenioGenerar.save();
            Permiso pBotonConvenioActivar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CONVENIO.ACTIVAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonConvenioActivar.save();
            Permiso pBotonConvenioImprimir = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CONVENIO.IMPRIMIR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonConvenioImprimir.save();
            Permiso pBotonCuentaCancelar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CUENTA.CANCELAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonCuentaCancelar.save();
            Permiso pBotonContactoVerificar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CONTACTO.VERIFICAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonContactoVerificar.save();
            Permiso pBotonContactoCrear = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CONTACTO.CREAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonContactoCrear.save();
            Permiso pBotonGestionarActual = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.ACTUAL"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarActual.save();
            Permiso pBotonGestionarSeleccion = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.SELECCION"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarSeleccion.save();
            Permiso pBotonGestionarTelefonica = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.TELEFONICA"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarTelefonica.save();
            Permiso pBotonGestionarPostal = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.POSTAL"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarPostal.save();
            Permiso pBotonGestionarTerreno = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.TERRENO"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarTerreno.save();
            Permiso pBotonGestionarBack = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.BACKOFFICE"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarBack.save();
            Permiso pBotonGestionarAltaPago = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.ALTAPAGO"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarAltaPago.save();
            Permiso pBotonGestionarAltaConvenio = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.ALTACONVENIO"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarAltaConvenio.save();
            Permiso pBotonGestionarAltaDeuda = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTIONAR.ALTADEUDA"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarAltaDeuda.save();
            Permiso pBotonGestionarGestion = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTION.GESTIONAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonGestionarGestion.save();
            Permiso pBotonImprimir = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTION.IMPRIMIR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonImprimir.save();
            Permiso pBotonImprimirTodo = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.GESTION.IMPRIMIR.TODO"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonImprimirTodo.save();
            Permiso pBotonReciboReimprimir = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.RECIBO.REIMPRIMIR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonReciboReimprimir.save();
            Permiso pBotonCuentaEditar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CUENTA.EDITAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonCuentaEditar.save();
            Permiso pBotonContactoEditar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.CONTACTO.EDITAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonContactoEditar.save();
            Permiso pBotonPersonaEditar = new Permiso {
                Recurso = Parametros.GetByClave("BOTON.PERSONA.EDITAR"),
                Tipo = ETipoPermiso.EJECUTAR
            };
            pBotonPersonaEditar.save();
            #endregion permisos botones

            ///////////////////////////////////////////////////////
            // Se crea un rol para los administradores
            ///////////////////////////////////////////////////////

            #region roles
            Rol roladmin = new Rol {Nombre = "ADMIN", Descripcion = "ADMINISTRADORES DE SISTEMAS", Activado = true};
            //roladmin.agregarPermiso(pBackup);
            //roladmin.agregarPermiso(pGestel);
            //roladmin.agregarPermiso(pGestsel);
            //roladmin.agregarPermiso(pGeslegal);
            //roladmin.agregarPermiso(pDgadmin);
            //roladmin.agregarPermiso(pDgadminpg);
            //roladmin.agregarPermiso(pDgadmindd);
            //roladmin.agregarPermiso(pConfParam);
            //roladmin.agregarPermiso(pConflist);
            //roladmin.agregarPermiso(pInfogest);
            //roladmin.agregarPermiso(pAbmJobs);
            //roladmin.agregarPermiso(pInfogenlist);
            //roladmin.agregarPermiso(pInfocobranzas);
            //roladmin.agregarPermiso(pInterfaltactas);
            //roladmin.agregarPermiso(pInterfupdpers);
            //roladmin.agregarPermiso(pInterfupdctas);
            //roladmin.agregarPermiso(pInterfupdmovs);
            //roladmin.agregarPermiso(pAbmVar);
            roladmin.agregarPermiso(pSeguridad);
            roladmin.agregarPermiso(pVerUsuario);
            roladmin.agregarPermiso(pAgregarUsuario);
            roladmin.agregarPermiso(pEditarUsuario);
            roladmin.agregarPermiso(pRemoverUsuario);
            roladmin.agregarPermiso(pVerROL);
            roladmin.agregarPermiso(pAgregarROL);
            roladmin.agregarPermiso(pEditarROL);
            roladmin.agregarPermiso(pRemoverROL);
            roladmin.agregarPermiso(pVerPERMISO);
            roladmin.agregarPermiso(pAgregarPERMISO);
            roladmin.agregarPermiso(pEditarPERMISO);
            roladmin.agregarPermiso(pRemoverPERMISO);
            roladmin.agregarPermiso(pVerPARAMETRO);
            //roladmin.agregarPermiso(pAgregarPARAMETRO);
            //roladmin.agregarPermiso(pEditarPARAMETRO);
            //roladmin.agregarPermiso(pRemoverPARAMETRO);
            roladmin.save();

            // Se asignan roles a los usuarios
            admin.agregarRol(roladmin); // forma 1
            #endregion roles

            ///////////////////////////////////////////////////////
            // Se crean nodos del arbol de configuracion de gestión
            ///////////////////////////////////////////////////////

            #region NodosTreeGestion
            NodoTree ntseg0 = new NodoTree {
                Nivel = 0,
                Descripcion = "Seguridad y Perfiles",
                Texto = "Seleccione un nodo del árbol de opciones...",
                IdImagenSeleccionado = 0,
                IdImagenNoSeleccionado = 0
            };
            NodoTree ntseg01 = new NodoTree {
                Nivel = 1,
                Descripcion = "Usuarios",
                Texto = "cuConfigurarUsuarios.CUListUsuarios:Creación y edición de usuarios que podrán operar el Sistema",
                IdImagenSeleccionado = 1,
                IdImagenNoSeleccionado = 1
            };
            NodoTree ntseg02 = new NodoTree {
                Nivel = 1,
                Descripcion = "Roles",
                Texto = "cuConfigurarUsuarios.CUListRoles:Conjunto de permisos sobre las distintas funcionalidades del Sistema.",
                IdImagenSeleccionado = 2,
                IdImagenNoSeleccionado = 2
            };
            NodoTree ntseg03 = new NodoTree {
                Nivel = 1,
                Descripcion = "Perfiles",
                Texto = "cuConfigurarUsuarios.CUListPerfiles:Conjunto de perfiles a los cuales puede asignarse los usuarios",
                IdImagenSeleccionado = 3,
                IdImagenNoSeleccionado = 3,
            };
            ntseg0.NodosHijos.Add(ntseg01);
            ntseg0.NodosHijos.Add(ntseg02);
            ntseg0.NodosHijos.Add(ntseg03);
            ntseg0.save();

            NodoTree ntdg0 = new NodoTree {
                Nivel = 0,
                Descripcion = "Datos de Gestión",
                Texto = "Seleccione un nodo del árbol de opciones...",
                IdImagenSeleccionado = 0,
                IdImagenNoSeleccionado = 0
            };
            NodoTree ntdg01 = new NodoTree {
                Nivel = 1,
                Descripcion = "Entidades",
                Texto = "cuAbmEntidad.CUListEntidad:Organizaciones que poseen las cuentas sobre las cuales se realizan las gestiones. Son las organizaciones clientes",
                IdImagenSeleccionado = 1,
                IdImagenNoSeleccionado = 1
            };
            NodoTree ntdg02 = new NodoTree {
                Nivel = 1,
                Descripcion = "Personas",
                Texto = "cuAbmPersona.CUListPersonas:Toda persona relacionada con alguna cuenta cargada en el Sistema. Por ej. un titular de una cta. (Deudor) o un garante de una cta.",
                IdImagenSeleccionado = 2,
                IdImagenNoSeleccionado = 2
            };
            NodoTree ntdg03 = new NodoTree {
                Nivel = 1,
                Descripcion = "Gestiones",
                Texto = "cuAbmGestion.CUListGestiones:Listado de gestiones generadas.",
                IdImagenSeleccionado = 3,
                IdImagenNoSeleccionado = 3,
            };
            NodoTree ntdg04 = new NodoTree {
                Nivel = 1,
                Descripcion = "Convenios",
                Texto = "cuAbmConvenio.CUListConvenios:Listado de convenios generados",
                IdImagenSeleccionado = 4,
                IdImagenNoSeleccionado = 4,
            };
            ntdg0.NodosHijos.Add(ntdg01);
            ntdg0.NodosHijos.Add(ntdg02);
            ntdg0.NodosHijos.Add(ntdg03);
            ntdg0.NodosHijos.Add(ntdg04);
            ntdg0.save();

            NodoTree ntg0 = new NodoTree {
                Nivel = 0,
                Descripcion = "Gestiones Asociadas",
                Texto = "Seleccione un nodo del árbol de opciones...",
                IdImagenSeleccionado = 0,
                IdImagenNoSeleccionado = 0
            };
            NodoTree ntg01 = new NodoTree {
                Nivel = 1,
                Descripcion = "Bandeja de Entrada",
                Texto = "Listado de gestiones, pendientes de ó en gestión, asignadas al usuario activo",
                IdImagenSeleccionado = 1,
                IdImagenNoSeleccionado = 1
            };
            NodoTree ntg02 = new NodoTree {
                Nivel = 1,
                Descripcion = "Gestiones Pendientes",
                Texto = "cuAbmGestion.CUListGestiones:PENDIENTE:Listado de gestiones pendientes",
                IdImagenSeleccionado = 7,
                IdImagenNoSeleccionado = 7
            };
            NodoTree ntg03 = new NodoTree {
                Nivel = 1,
                Descripcion = "Gestiones Realizadas",
                Texto = "cuAbmGestion.CUListGestiones:FINALIZADA:Listado de gestiones realizadas",
                IdImagenSeleccionado = 2,
                IdImagenNoSeleccionado = 2
            };
            NodoTree ntg0101 = new NodoTree {
                Nivel = 2,
                Descripcion = "Gestión Telefónica",
                Texto = "cuAbmGestion.CUListGestiones:TELEFONICA:Gestiones telefónicas disponibles para asignar o asigandas al usuario actual",
                IdImagenSeleccionado = 3,
                IdImagenNoSeleccionado = 3
            };
            NodoTree ntg0102 = new NodoTree {
                Nivel = 2,
                Descripcion = "Gestión BackOffice",
                Texto = "cuAbmGestion.CUListGestiones:BACKOFFICE:Gestiones de backoffice disponibles para asignar o asigandas al usuario actual",
                IdImagenSeleccionado = 4,
                IdImagenNoSeleccionado = 4
            };
            NodoTree ntg0103 = new NodoTree {
                Nivel = 2,
                Descripcion = "Gestión Postal",
                Texto = "cuAbmGestion.CUListGestiones:POSTAL:Gestiones postales disponibles para asignar o asigandas al usuario actual",
                IdImagenSeleccionado = 5,
                IdImagenNoSeleccionado = 5
            };
            NodoTree ntg0104 = new NodoTree {
                Nivel = 2,
                Descripcion = "Gestión Terreno",
                Texto = "cuAbmGestion.CUListGestiones:TERRENO:Gestiones de terreno disponibles para asignar o asigandas al usuario actual",
                IdImagenSeleccionado = 6,
                IdImagenNoSeleccionado = 6
            };
            ntg01.NodosHijos.Add(ntg0101);
            ntg01.NodosHijos.Add(ntg0102);
            ntg01.NodosHijos.Add(ntg0103);
            ntg01.NodosHijos.Add(ntg0104);
            ntg0.NodosHijos.Add(ntg01);
            ntg0.NodosHijos.Add(ntg02);
            ntg0.NodosHijos.Add(ntg03);
            ntg0.save();

            NodoTree ntcfg0 = new NodoTree {
                Nivel = 0,
                Descripcion = "Configuración de Listas",
                Texto = "Seleccione un nodo del árbol de opciones...",
                IdImagenSeleccionado = 0,
                IdImagenNoSeleccionado = 0
            };
            NodoTree ntcfg01 = new NodoTree {
                Nivel = 1,
                Descripcion = "Tipos de Listas",
                Texto = "cuAbmTipoLista.CUListTiposLista:Contiene la configuración de las Listas de Gestión que se generarán periodicamente",
                IdImagenSeleccionado = 1,
                IdImagenNoSeleccionado = 1
            };
            NodoTree ntcfg02 = new NodoTree {
                Nivel = 1,
                Descripcion = "Estrategias",
                Texto = "cuAbmEstrategia.CUListEstrategias:Regla que define el filtro por el cual se agrupan las cuentas en las distintas Listas de Gestión",
                IdImagenSeleccionado = 2,
                IdImagenNoSeleccionado = 2,
            };
            NodoTree ntcfg03 = new NodoTree {
                Nivel = 1,
                Descripcion = "Variables",
                Texto = "cuAbmVariable.CUListVariables:Valor definido por el usuario. Se utiliza en la configuración de Estrategias",
                IdImagenSeleccionado = 3,
                IdImagenNoSeleccionado = 3,
            };
            NodoTree ntcfg04 = new NodoTree {
                Nivel = 1,
                Descripcion = "Listas Generadas",
                Texto = "cuListaGestion.CUListListas:Listado de Listas de Gestión generadas y activas",
                IdImagenSeleccionado = 4,
                IdImagenNoSeleccionado = 4
            };
            ntcfg0.NodosHijos.Add(ntcfg01);
            ntcfg0.NodosHijos.Add(ntcfg02);
            ntcfg0.NodosHijos.Add(ntcfg03);
            ntcfg0.NodosHijos.Add(ntcfg04);
            ntcfg0.save();
            #endregion

            ////////////////////////////////////////////////////////
            // Se crean las formas de pago para las moras canceladas
            ////////////////////////////////////////////////////////

            #region formas pago
            (new Parametro {
                Clave = "FORMAPAGO.EFECTIVO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "EFECTIVO",
                Valorstring = "EFECTIVO",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "FORMAPAGO.BONOS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "BONOS",
                Valorstring = "BONOS",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "FORMAPAGO.DOLARES",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "DOLARES",
                Valorstring = "DOLARES",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "FORMAPAGO.CHEQUE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "CHEQUE",
                Valorstring = "CHEQUE",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "FORMAPAGO.OTRO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "OTRO",
                Valorstring = "OTRO",
                Orden = 5
            }).save();
            #endregion formas pago

            ///////////////////////////////////////////////////
            // Se crean los tipos de gestion de mora aceptables
            ///////////////////////////////////////////////////

            #region tipos gestion
            (new Parametro {
                Clave = "TIPOGESTION.POSTAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "POSTAL",
                Valorstring = "POSTAL",
                Valorbool = true, // es un tipo generable via lista y requiere Contacto/Contactado
                Valordouble = 0,  // Costo de gestion (va a GASTO)
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "TIPOGESTION.TELEFONICA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "TELEFONICA",
                Valorstring = "TELEFONICA",
                Valorbool = true,// es un tipo generable via lista y requiere Contacto/Contactado
                Valordouble = 0, // Costo de gestion (va a GASTO)
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "TIPOGESTION.ADMINISTRATIVA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "ADMINISTRATIVA",
                Valorstring = "ADMINISTRATIVA",
                Valordouble = 0, // Costo de gestion (va a GASTO)
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "TIPOGESTION.TERRENO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "TERRENO",
                Valorstring = "TERRENO",
                Valorbool = true,// es un tipo generable via lista y requiere Contacto/Contactado
                Valordouble = 0, // Costo de gestion (va a GASTO)
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "TIPOGESTION.BACKOFFICE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "BACKOFFICE",
                Valorstring = "BACKOFFICE",
                Valorbool = true,// es un tipo generable via lista y requiere Contacto/Contactado
                Valordouble = 0, // Costo de gestion (va a GASTO)
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "TIPOGESTION.LEGAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "LEGAL",
                Valorstring = "LEGAL",
                Valordouble = 0, // Costo de gestion (va a GASTO)
                Orden = 6
            }).save();
            #endregion tipos gestion

            //////////////////////////////////////////////////////////
            // Se crean los tipos de facturas permitidos en el sistema
            //////////////////////////////////////////////////////////

            #region tipos recibos
            (new Parametro {
                Clave = "TIPOFACTURA.A",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "FACTURA A",
                Valorstring = "FACTURA A",
                Valorbool = true,
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "TIPOFACTURA.B",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "FACTURA B",
                Valorstring = "FACTURA B",
                Valorbool = true,
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "TIPOFACTURA.C",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "FACTURA C",
                Valorstring = "FACTURA C",
                Valorbool = true,
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "TIPOFACTURA.NINGUNO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "NINGUNO",
                Valorstring = "NINGUNO",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "TIPOFACTURA.RECIBOPROPIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "RECIBO PROPIO",
                Valorstring = "RECIBO ALAMO",
                Valorbool = true,
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "TIPOFACTURA.RECIBOPOR3",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "RECIBO DE CLIENTE",
                Valorstring = "RECIBO CLENTE",
                Orden = 6
            }).save();
            #endregion tipos recibos

            ///////////////////////////////////////////////////
            // Se crean los tipos de contacto para los datos de
            // ubicación de las personas.
            ///////////////////////////////////////////////////

            #region tipos contacto
            (new Parametro {
                Clave = "TIPOCONTACTO.PERSONAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "PERSONAL",
                Valorstring = "PERSONAL",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "TIPOCONTACTO.LABORAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "LABORAL",
                Valorstring = "LABORAL",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "TIPOCONTACTO.FAMILIAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "FAMILIAR",
                Valorstring = "FAMILIAR",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "TIPOCONTACTO.OTRO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "OTRO",
                Valorstring = "OTRO",
                Orden = 4
            }).save();
            #endregion tipos contacto

            ///////////////////////////////////////////////////
            // Se crean los estados civiles de las personas.
            ///////////////////////////////////////////////////

            #region estados civiles
            (new Parametro {
                Clave = "ESTADOCIVIL.CASADO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CASADO",
                Valorstring = "CASADO",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "ESTADOCIVIL.SOLTERO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "SOLTERO",
                Valorstring = "SOLTERO",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "ESTADOCIVIL.DIVORCIADO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "DIVORCIADO",
                Valorstring = "DIVORCIADO",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "ESTADOCIVIL.VIUDO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "VIUDO",
                Valorstring = "VIUDO",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "ESTADOCIVIL.SINDATOS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "SIN DATOS",
                Valorstring = "SIN DATOS",
                Orden = 5
            }).save();
            #endregion estados civiles

            ///////////////////////////////////////////////////
            // Se crean los Sexos de las personas.
            ///////////////////////////////////////////////////

            #region sexos
            (new Parametro {
                Clave = "SEXO.MASCULINO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "MASCULINO",
                Valorstring = "MASCULINO",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "SEXO.FEMENINO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "FEMENINO",
                Valorstring = "FEMENINO",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "SEXO.NOAPLICA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "NO APLICA",
                Valorstring = "NO APLICA",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "SEXO.DESCONOCIDO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "DESCONOCIDO",
                Valorstring = "DESCONOCIDO",
                Orden = 4
            }).save();
            #endregion estados civiles

            ////////////////////////////////////////////////////////////
            // Se crean los tipos de estados economicos de las personas.
            ////////////////////////////////////////////////////////////

            #region estado economicos
            (new Parametro {
                Clave = "ESTADOECONOMICO.BAJA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CLASE BAJA",
                Valorstring = "CLASE BAJA",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "ESTADOECONOMICO.MEDIABAJA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CLASE MEDIA-BAJA",
                Valorstring = "CLASE MEDIA-BAJA",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "ESTADOECONOMICO.MEDIA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CLASE MEDIA",
                Valorstring = "CLASE MEDIA",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "ESTADOECONOMICO.MEDIAALTA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CLASE MEDIA-ALTA",
                Valorstring = "CLASE MEDIA-ALTA",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "ESTADOECONOMICO.ALTA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CLASE ALTA",
                Valorstring = "CLASE ALTA",
                Orden = 5
            }).save();
            #endregion estados economicos

            ///////////////////////////////////////////////////
            // Se crean los tipos de contacto para los datos de
            // ubicación de las personas.
            ///////////////////////////////////////////////////

            #region condicion iva
            (new Parametro {
                Clave = "CONDICIONIVA.INSCRIPTO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "INSCRIPTO",
                Valorstring = "INSCRIPTO",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "CONDICIONIVA.MONOTRIBUTISTA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "MONOTRIBUTISTA",
                Valorstring = "MONOTRIBUTISTA",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "CONDICIONIVA.FINAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CONSUMIDOR FINAL",
                Valorstring = "CONSUMIDOR FINAL",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "CONDICIONIVA.EXCENTO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "EXCENTO",
                Valorstring = "EXCENTO",
                Orden = 4
            }).save();
            #endregion condicion iva

            ///////////////////////////////////////////////////
            // Se crean los tipos de relaciones entre personas
            // ubicación de las personas.
            ///////////////////////////////////////////////////

            #region tipos relacion
            (new Parametro {
                Clave = "TIPORELACION.CONYUGE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CONYUGE",
                Valorstring = "CONYUGE",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "TIPORELACION.FAMILIAR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "FAMILIAR",
                Valorstring = "FAMILIAR",
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "TIPORELACION.CODEUDOR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CODEUDOR",
                Valorstring = "CODEUDOR",
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "TIPORELACION.TUTOR",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "TUTOR",
                Valorstring = "TUTOR",
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "TIPORELACION.VECINO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "VECINO",
                Valorstring = "VECINO",
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "TIPORELACION.OTRO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "OTRO",
                Valorstring = "OTRO",
                Orden = 6
            }).save();
            #endregion tipos contacto

            ///////////////////////////////////////////////////
            // Se crean los conceptos de deuda.
            ///////////////////////////////////////////////////

            #region conceptos deuda
            (new Parametro {
                Clave = "CONCEPTODEUDA.ORIGEN",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "INGRESO DEUDA INICIAL",
                Valorstring = "INGRESO DEUDA INICIAL",
                Valorlong = 0, // esto significa que genera punitorio
                Valorbool = true, // esto significa que puede entrar en convenio
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "CONCEPTODEUDA.GASTO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "GASTOS",
                Valorstring = "GASTOS",
                Valorlong = 0, // esto significa que NO genera punitorio
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "CONCEPTODEUDA.HONORARIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "HONORARIOS",
                Valorstring = "HONORARIOS",
                Valorlong = 0, // esto significa que NO genera punitorio
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "CONCEPTODEUDA.CONVENIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "DEUDA DE CONVENIO",
                Valorstring = "DEUDA DE CONVENIO",
                Valorlong = 1, // esto significa que genera punitorio
                Orden = 11 // hasta 10 se puede seleccionar a mano
            }).save();
            (new Parametro {
                Clave = "CONCEPTODEUDA.AJUSTE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "AJUSTE",
                Valorstring = "AJUSTE",
                Valorlong = 0, // esto significa que NO genera punitorio
                Orden = 12 // hasta 10 se puede seleccionar a mano
            }).save();
            (new Parametro {
                Clave = "CONCEPTODEUDA.PUNITORIO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "PUNITORIOS",
                Valorstring = "PUNITORIOS",
                Valorlong = 0,  // esto significa que NO genera punitorio
                Orden = 14 // hasta 10 se puede seleccionar a mano
            }).save();
            (new Parametro {
                Clave = "CONCEPTODEUDA.REVERSION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "REVERSION",
                Valorstring = "REVERSION",
                Valorlong = 0, // esto significa que NO genera punitorio
                Orden = 15 // hasta 10 se puede seleccionar a mano
            }).save();
            #endregion conceptos deuda

            ///////////////////////////////////////////////////
            // Se crean los detalles de deuda.
            ///////////////////////////////////////////////////

            #region detalles deuda
            (new Parametro {
                Clave = "DETALLEDEUDA.APERTURALEGAJO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "APERTURA LEGAJO",
                Valorstring = "APERTURA LEGAJO",
                Valorlong = 2,
                // determina a que concepto de deuda
                // pertenece (0 significa para todos)
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.ADMINISTRACION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "GASTO ADMINISTRATIVO",
                Valorstring = "GASTO ADMINISTRATIVO",
                Valorlong = 2,
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.DILIGENCIA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "GASTO POR DILIGENCIA",
                Valorstring = "GASTO POR DILIGENCIA",
                Valorlong = 2,
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.GESTION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "GASTO POR GESTION",
                Valorstring = "GASTO POR GESTION",
                Valorlong = 2,
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.JUDICIALES",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "GASTO JUDICIAL",
                Valorstring = "GASTO JUDICIAL",
                Valorlong = 2,
                Orden = 5
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.SELLADO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "GASTO DE SELLADO",
                Valorstring = "GASTO DE SELLADO",
                Valorlong = 2,
                Orden = 6
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.HONOREXTRA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "HONORARIO EXTRA",
                Valorstring = "HONORARIO EXTRA",
                Valorlong = 3,
                Orden = 7
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.JURIDICO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "HONORARIO JURIDICO",
                Valorstring = "HONORARIO JURIDICO",
                Valorlong = 3,
                Orden = 8
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.CUOTA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "CUOTA",
                Valorstring = "CUOTA",
                Valorlong = 11,
                Orden = 9
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.ANTICIPO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "ANTICIPO",
                Valorstring = "ANTICIPO",
                Valorlong = 11,
                Orden = 10
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.ATRASO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "ATRASO DE ANTICIPO/CUOTA",
                Valorstring = "ATRASO DE ANTICIPO/CUOTA",
                Valorlong = 14,
                Orden = 11
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.NINGUNO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "NINGUNO",
                Valorstring = "NINGUNO",
                Valorlong = 0,
                Orden = 12
            }).save();
            (new Parametro {
                Clave = "DETALLEDEUDA.MIGRADO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "DEUDA MIGRADA",
                Valorstring = "DEUDA MIGRADA",
                Valorlong = 0,
                Orden = 13
            }).save();
            #endregion detalles deuda

            ///////////////////////////////////////////////////
            // Se crean los tipos de convenios.
            ///////////////////////////////////////////////////

            #region tipos convenio
            (new Parametro {
                Clave = "TIPOCONVENIO.GRAL6CUOTAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "GENERAL 6 CUOTAS",
                // en formulas: cap=capital original; cta=cuota; cpc= capital de la cuota
                Valorstring = "((cap + (cap*6))/6):1:0:((cap*0.0175)/6)",
                // formulas (intere:honor:gastos:otros)
                Valorlong = 6,
                // cantidad de cuotas
                Valorchar = '2',
                // max cuotas vencidas permitidas
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "TIPOCONVENIO.GRAL12CUOTAS",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "GENERAL 12 CUOTAS",
                // en formulas: cap=capital original; cta=cuota; cpc= capital de la cuota
                Valorstring = "((cap + (cap*24))/12):1:0:((cap*0.0175)/12)",
                // formulas (intere:honor:gastos:otros)
                Valorlong = 12,
                // cantidad de cuotas
                Valorchar = '2',
                // max cuotas vencidas permitidas
                Orden = 2
            }).save();
            #endregion tipos contacto

            ///////////////////////////////////////////////////
            // Se crean los origenes de un contacto.
            ///////////////////////////////////////////////////

            #region origen contacto
            (new Parametro {
                Clave = "ORIGENCONTACTO.CLIENTE",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "CLIENTE",
                Valorstring = "CLIENTE",
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "ORIGENCONTACTO.PAGAMARILLA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "PAGINAS AMARILLAS",
                Valorstring = "PAGINAS AMARILLAS",
                Valorbool = true,//puede ser modificado/eliminado
                Orden = 2,
            }).save();
            (new Parametro {
                Clave = "ORIGENCONTACTO.PADRON",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "PADRON",
                Valorstring = "PADRON",
                Valorbool = true,//puede ser modificado/eliminado
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "ORIGENCONTACTO.RIESGONET",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "RIESGONET",
                Valorstring = "RIESGONET",
                Valorbool = true,//puede ser modificado/eliminado
                Orden = 4
            }).save();
            (new Parametro {
                Clave = "ORIGENCONTACTO.OTRO",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.GESTION,
                Nombre = "OTRO",
                Valorstring = "OTRO",
                Valorbool = true,//puede ser modificado/eliminado
                Orden = 5
            }).save();
            #endregion origen contacto

            ///////////////////////////////////////////////////
            // Se crean las cartas para la gestión postal
            ///////////////////////////////////////////////////

            #region Cartas
            (new Parametro {
                Clave = "CARTA.PREJUDICIAL",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CARTA 1. GESTIÓN PREJUDICIAL",
                Valorstring = "TEMPGESTIONPREJUDICIAL.DOT",
                Valorbool = true,
                //puede ser modificado/eliminado
                Orden = 1
            }).save();
            (new Parametro {
                Clave = "CARTA.COLUMBIA",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CARTA 1. BANCO COLUMBIA",
                Valorstring = "TEMPBANCOCOLUMBIA.DOT",
                Valorbool = true,
                //puede ser modificado/eliminado
                Orden = 2
            }).save();
            (new Parametro {
                Clave = "CARTA.INTIMACION",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CARTA 2. CARTA INTIMACIÓN",
                Valorstring = "TEMPINTIMACION.DOT",
                Valorbool = true,
                //puede ser modificado/eliminado
                Orden = 3
            }).save();
            (new Parametro {
                Clave = "CARTA.INTIMACIONMF",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CARTA 3. MF FORESTAL",
                Valorstring = "TEMPINTIMACIONMFFORESTAL.DOT",
                Valorbool = true,
                //puede ser modificado/eliminado
                Orden = 4
            }).save();
            (new Parametro
            {
                Clave = "CARTA.INTIMACIONJUD",
                Clase = EClaseParametro.SISTEMA,
                Tipo = ETipoParametro.BASE,
                Nombre = "CARTA 3. INTIMACIÓN JUDICIAL",
                Valorstring = "TEMPINTIMACIONJUDICIAL.DOT",
                Valorbool = true,//puede ser modificado/eliminado
                Orden = 4
            }).save();

            #endregion

            // ReSharper restore InconsistentNaming
        }
 private void setCheckBoxes()
 {
     try
     {
         BL.Permiso per = new Permiso();
         permisos_CBList.DataSource = per.getPermisosID();
         permisos_CBList.DataBind();
     }
     catch (Exception ex)
     {
         Response.Write("<script>alert(" + ex.ToString() + " --Eliminar Permisos.aspx.cs / setCheckBoxes()" + ")</script>");
     }
 }
 private void setCheckBoxes()
 {
     try
     {
         BL.Permiso per = new Permiso();
         permisos_CBList.DataSource = per.getPermisosID();
         permisos_CBList.DataBind();
     }
     catch (Exception ex)
     {
         Session["Error_Msg"] = ex.Message;
         Response.Redirect("~/Error.aspx", true);
     }
 }
 private Permiso[] ConvertirPermisos( List<PermisoDeEmbarque> permisosDeEmbarque )
 {
     Permiso[] permisos = null;
     if ( permisosDeEmbarque.Count > 0 )
     {
         permisos = new Permiso[permisosDeEmbarque.Count];
         Permiso permiso;
         for ( int i = 0; i < permisosDeEmbarque.Count; i++ )
         {
             permiso = new Permiso();
             permiso.Id_permiso = permisosDeEmbarque[i].Id;
             permiso.Dst_merc = permisosDeEmbarque[i].DestinoMercaderia;
             permisos[i] = permiso;
         }
     }
     return permisos;
 }