Esempio n. 1
0
        public JsonResult GetRol(Guid id)
        {
            Castellano.Membresia.Rol rol = Castellano.Membresia.Rol.Get(id);

            return(this.Json(new Castellano.Web.UI.Areas.Administracion.Models.Rol
            {
                Id = rol.Id,
                Nombre = rol.Nombre,
                Clave = rol.Clave
            }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public ActionResult GetPermissions(Guid rolId)
        {
            Castellano.Membresia.Rol rol = Castellano.Membresia.Rol.Get(rolId);

            return(this.View(new Castellano.Web.UI.Areas.Administracion.Models.RolAccion
            {
                RolId = rol.Id,
                Rol = rol,
                AplicacionId = default(Guid),
                MenuId = Castellano.Membresia.Menu.MenuPrincipal.Id,
                MenuItemId = default(Guid),
                AccionCodigo = default(int)
            }));
        }
Esempio n. 3
0
        public static bool Exists(Castellano.Empresa empresa, Castellano.Membresia.Rol rol)
        {
            List <Castellano.Empresa> empresas = Query.GetEmpresas(rol).ToList <Castellano.Empresa>();

            if (empresas.Count == 0)
            {
                return(true);
            }
            else if (empresas.Count == 1)
            {
                return(empresas[0].Equals(empresa));
            }
            else
            {
                return(false);
            }
        }
Esempio n. 4
0
        public JsonResult DeleteRol(Guid id)
        {
            Castellano.Membresia.Rol rol = Castellano.Membresia.Rol.Get(id);

            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                new Castellano.Membresia.Rol
                {
                    Id           = rol.Id,
                    AmbitoCodigo = rol.AmbitoCodigo,
                    Nombre       = rol.Nombre,
                    Clave        = rol.Clave,
                }.Delete(context);

                context.SubmitChanges();
            }

            return(this.Json("200 ok", JsonRequestBehavior.AllowGet));
        }
Esempio n. 5
0
        public JsonResult GetRolAccion(Guid rolId, Guid aplicacionId)
        {
            Castellano.Membresia.Rol rol = Castellano.Membresia.Rol.Get(rolId);

            Castellano.Membresia.Aplicacion aplicacion = Castellano.Membresia.Aplicacion.Get(aplicacionId);

            List <Castellano.Membresia.Accion> acciones = Castellano.Membresia.Accion.GetAll();

            Castellano.Web.UI.Areas.Administracion.Models.RolAccion.RolAcciones rolAcciones = new Castellano.Web.UI.Areas.Administracion.Models.RolAccion.RolAcciones();

            foreach (Castellano.Membresia.MenuItem menuItem in Castellano.Membresia.MenuItem.GetAll(Castellano.Membresia.Menu.MenuPrincipal, aplicacion))
            {
                Castellano.Web.UI.Areas.Administracion.Models.RolAccion model = new Castellano.Web.UI.Areas.Administracion.Models.RolAccion
                {
                    RolId        = rol.Id,
                    AplicacionId = aplicacion.Id,
                    MenuId       = menuItem.MenuId,
                    MenuItemId   = menuItem.Id,
                    MenuItem     = menuItem.Nombre
                };

                foreach (Castellano.Membresia.Accion accion in acciones)
                {
                    model.Accion += string.Format("<label class='checkbox-inline'><input type='checkbox' checked='' name='Accion' class='icheck'>{0}</label>", accion.Nombre);

                    model.Acciones.Add(new SelectListItem
                    {
                        Text  = accion.Nombre,
                        Value = accion.Codigo.ToString()
                    });
                }

                rolAcciones.data.Add(model);
            }

            return(this.Json(rolAcciones, JsonRequestBehavior.AllowGet));
        }
Esempio n. 6
0
        public ActionResult Roles(Castellano.Web.UI.Areas.Administracion.Models.Rol model)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(model));
            }

            Castellano.Membresia.Rol rol = Castellano.Membresia.Rol.Get(model.Id);

            using (Castellano.Membresia.Context context = new Castellano.Membresia.Context())
            {
                new Castellano.Membresia.Rol
                {
                    Id           = model.Id,
                    AmbitoCodigo = model.AmbitoCodigo,
                    Nombre       = model.Nombre.Trim(),
                    Clave        = string.IsNullOrEmpty(model.Clave) ? default(string) : model.Clave.Trim()
                }.Save(context);

                context.SubmitChanges();
            }

            return(this.Json("200 ok", JsonRequestBehavior.DenyGet));
        }
Esempio n. 7
0
        internal static IQueryable <Castellano.CentroCosto> GetCentroCostos(Persona persona, Castellano.Empresa empresa, Aplicacion aplicacion)
        {
            Castellano.Membresia.Rol apoderado = Castellano.Membresia.Rol.Apoderado;

            if (aplicacion.Clave == "apoderados")
            {
                return
                    (from centroCosto in GetCentroCostos()
                     join rpc in GetRolPersonaCentroCostos(persona) on centroCosto equals rpc.CentroCosto
                     where rpc.Rol == apoderado &&
                     centroCosto.Empresa == empresa &&
                     GetRolAcciones(aplicacion).Where <RolAccion>(x => x.Rol.Equals(apoderado)).Any <RolAccion>() &&
                     GetCentroCostoAplicaciones(empresa, aplicacion).Select <CentroCostoAplicacion, Castellano.CentroCosto>(x => x.CentroCosto).Contains <Castellano.CentroCosto>(centroCosto)
                     &&
                     (
                         from item in
                         (from rolPersona in GetRolPersonas(persona) select rolPersona.Rol)
                         .Union <Rol>(from rolPersonaEmpresa in GetRolPersonaEmpresas(persona) where (rolPersonaEmpresa.Empresa == centroCosto.Empresa) select rolPersonaEmpresa.Rol)
                         .Union <Rol>(from rolPersonaCentroCosto in GetRolPersonaCentroCostos(persona) where (rolPersonaCentroCosto.CentroCosto == centroCosto) select rolPersonaCentroCosto.Rol)
                         select item
                     ).Any <Rol>()
                     select centroCosto);
            }
            else
            {
                if (Castellano.Membresia.RolPersonaCentroCosto.Exists(apoderado, persona))
                {
                    System.Collections.Generic.List <Castellano.CentroCosto> centrosCosto_apoderado = Castellano.Membresia.RolPersonaCentroCosto.GetAll(persona, empresa).Where <Castellano.Membresia.RolPersonaCentroCosto>(x => x.Rol.Clave == "apoderado" || x.Rol.Clave == "apoderado_academico" || x.Rol.Clave == "apoderado_delegado" || x.Rol.Clave == "apoderado_financiero").Select <Castellano.Membresia.RolPersonaCentroCosto, Castellano.CentroCosto>(x => x.CentroCosto).ToList <Castellano.CentroCosto>();
                    System.Collections.Generic.List <Castellano.CentroCosto> centrosCosto_acceso    = Castellano.Membresia.RolPersonaCentroCosto.GetAll(persona, empresa).Where <Castellano.Membresia.RolPersonaCentroCosto>(x => x.Rol.Clave != "apoderado" && x.Rol.Clave != "apoderado_academico" && x.Rol.Clave != "apoderado_delegado" && x.Rol.Clave != "apoderado_financiero").Select <Castellano.Membresia.RolPersonaCentroCosto, Castellano.CentroCosto>(x => x.CentroCosto).ToList <Castellano.CentroCosto>();

                    if ((from cc_apoderado in centrosCosto_apoderado
                         join cc_acceso in centrosCosto_acceso on cc_apoderado equals cc_acceso
                         select cc_apoderado).Any())
                    {
                        return
                            (from centroCosto in GetCentroCostos()
                             where centroCosto.Empresa == empresa &&
                             GetRolAcciones(aplicacion).Any <RolAccion>() &&
                             GetCentroCostoAplicaciones(empresa, aplicacion).Select <CentroCostoAplicacion, Castellano.CentroCosto>(x => x.CentroCosto).Contains <Castellano.CentroCosto>(centroCosto)
                             &&
                             (
                                 from rol in
                                 (from rolPersona in GetRolPersonas(persona) select rolPersona.Rol)
                                 .Union <Rol>(from rolPersonaEmpresa in GetRolPersonaEmpresas(persona) where (rolPersonaEmpresa.Empresa == centroCosto.Empresa) select rolPersonaEmpresa.Rol)
                                 .Union <Rol>(from rolPersonaCentroCosto in GetRolPersonaCentroCostos(persona) where (rolPersonaCentroCosto.CentroCosto == centroCosto) select rolPersonaCentroCosto.Rol)
                                 select rol
                             ).Any <Rol>()
                             select centroCosto);
                    }
                    else
                    {
                        return
                            (from centroCosto in GetCentroCostos()
                             join rpc in GetRolPersonaCentroCostos(persona) on centroCosto equals rpc.CentroCosto
                             where centroCosto.Empresa == empresa &&
                             !GetRolPersonaCentroCostos(persona, empresa, apoderado).Select <Castellano.Membresia.RolPersonaCentroCosto, Castellano.CentroCosto>(x => x.CentroCosto).Contains <Castellano.CentroCosto>(centroCosto) &&
                             GetRolAcciones(aplicacion).Any <RolAccion>() &&
                             GetCentroCostoAplicaciones(empresa, aplicacion).Select <CentroCostoAplicacion, Castellano.CentroCosto>(x => x.CentroCosto).Contains <Castellano.CentroCosto>(centroCosto)
                             &&
                             (
                                 from rol in
                                 (from rolPersona in GetRolPersonas(persona) select rolPersona.Rol)
                                 .Union <Rol>(from rolPersonaEmpresa in GetRolPersonaEmpresas(persona) where (rolPersonaEmpresa.Empresa == centroCosto.Empresa) select rolPersonaEmpresa.Rol)
                                 .Union <Rol>(from rolPersonaCentroCosto in GetRolPersonaCentroCostos(persona) where (rolPersonaCentroCosto.CentroCosto == centroCosto) select rolPersonaCentroCosto.Rol)
                                 select rol
                             ).Any <Rol>()
                             select centroCosto);
                    }
                }
                else
                {
                    return
                        (from centroCosto in GetCentroCostos()
                         where centroCosto.Empresa == empresa &&
                         GetRolAcciones(aplicacion).Any <RolAccion>() &&
                         GetCentroCostoAplicaciones(empresa, aplicacion).Select <CentroCostoAplicacion, Castellano.CentroCosto>(x => x.CentroCosto).Contains <Castellano.CentroCosto>(centroCosto)
                         &&
                         (
                             from rol in
                             (from rolPersona in GetRolPersonas(persona) select rolPersona.Rol)
                             .Union <Rol>(from rolPersonaEmpresa in GetRolPersonaEmpresas(persona) where (rolPersonaEmpresa.Empresa == centroCosto.Empresa) select rolPersonaEmpresa.Rol)
                             .Union <Rol>(from rolPersonaCentroCosto in GetRolPersonaCentroCostos(persona) where (rolPersonaCentroCosto.CentroCosto == centroCosto) select rolPersonaCentroCosto.Rol)
                             select rol
                         ).Any <Rol>()
                         select centroCosto);
                }
            }
        }