Пример #1
0
        public static void SetCentroCosto(Usuario usuario, Castellano.CentroCosto centroCosto)
        {
            Perfil perfil = Get(PerfilType.CentroCosto);

            using (Context context = new Context())
            {
                PerfilUsuario perfilUsuario = PerfilUsuario.Get(perfil, usuario);

                if (centroCosto == null)
                {
                    if (perfilUsuario != null)
                    {
                        perfilUsuario.Delete(context);
                    }
                }
                else
                {
                    perfilUsuario = new PerfilUsuario
                    {
                        PerfilId  = perfil.Id,
                        UsuarioId = usuario.Id,
                        Valor     = centroCosto.Id.ToString()
                    };

                    perfilUsuario.Save(context);
                }

                context.SubmitChanges();
            }
        }
Пример #2
0
 public static List <RolAccion> GetAll(Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
 {
     return
         ((
              from query in Query.GetRolAcciones(empresa, centroCosto, persona)
              orderby query.Rol.AmbitoCodigo, query.Rol.Clave, query.Rol.Nombre
              select query
              ).ToList <RolAccion>());
 }
Пример #3
0
 public static List <Aplicacion> GetAll(Castellano.CentroCosto centroCosto)
 {
     return
         ((
              from query in Query.GetAplicaciones(centroCosto)
              orderby query.Orden
              select query
              ).ToList <Aplicacion>());
 }
Пример #4
0
        internal static IQueryable <Rol> GetRoles(Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
        {
            IQueryable <Rol> rolPersonas            = GetRolPersonas(persona).Select <RolPersona, Rol>(x => x.Rol);
            IQueryable <Rol> rolPersonaCentroCostos = centroCosto == null?GetRolPersonaCentroCostos(persona).Select <RolPersonaCentroCosto, Rol>(x => x.Rol) : GetRolPersonaCentroCostos(persona, centroCosto).Select <RolPersonaCentroCosto, Rol>(x => x.Rol);

            IQueryable <Rol> rolPersonaEmpresas = GetRolPersonaEmpresas(persona, empresa).Select <RolPersonaEmpresa, Rol>(x => x.Rol);

            return
                (rolPersonas
                 .Union <Rol>(rolPersonaCentroCostos)
                 .Union <Rol>(rolPersonaEmpresas));
        }
Пример #5
0
        public static int Count(Castellano.CentroCosto centroCosto, DateTime inicio, DateTime termino)
        {
            IEnumerable <Castellano.Feriado> feriados = Castellano.Context.Instancia.Feriados.Where <Castellano.Feriado>(x => x.Fecha >= inicio && x.Fecha <= termino);

            int?numeroFeriadosCentroCosto = feriados.Where <Castellano.Feriado>(x => x.CentroCostoId.HasValue && x.CentroCosto.Equals(centroCosto)).Count <Castellano.Feriado>();

            int?numeroFeriadosEmpresa = feriados.Where <Castellano.Feriado>(x => x.EmpresaId.HasValue && x.Empresa.Equals(centroCosto.Empresa) && x.CentroCosto == null).Count <Castellano.Feriado>();

            int?numeroFeriadosNacionales = feriados.Where <Castellano.Feriado>(x => !x.EmpresaId.HasValue && !x.CentroCostoId.HasValue).Count <Castellano.Feriado>();

            return((numeroFeriadosCentroCosto.HasValue ? numeroFeriadosCentroCosto.Value : 0) + (numeroFeriadosEmpresa.HasValue ? numeroFeriadosEmpresa.Value : 0) + (numeroFeriadosNacionales.HasValue ? numeroFeriadosNacionales.Value : 0));
        }
Пример #6
0
 internal static IQueryable <RolPersonaCentroCosto> GetRolPersonaCentroCostos(Persona persona, Aplicacion aplicacion, Castellano.CentroCosto centroCosto)
 {
     return
         (from rolPersonaCentroCosto in GetRolPersonaCentroCostos(persona, centroCosto)
          where
          (
              from rol in GetRoles()
              join rolAccion in GetRolAcciones() on rol equals rolAccion.Rol
              where rolAccion.MenuItemAccion.MenuItem.Aplicacion == aplicacion
              select rol
          ).Contains <Rol>(rolPersonaCentroCosto.Rol)
          select rolPersonaCentroCosto);
 }
Пример #7
0
 internal static IQueryable <RolAccion> GetRolAcciones(Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona, MenuItem menuItem)
 {
     return
         (from rolAccion in GetRolAcciones(empresa, centroCosto, persona)
          where rolAccion.MenuItemAccion.MenuItem == menuItem
          select rolAccion);
 }
Пример #8
0
 internal static IQueryable <RolAccion> GetRolAcciones(Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
 {
     return
         (from rolAccion in GetRolAcciones()
          where GetRoles(empresa, centroCosto, persona).Contains <Rol>(rolAccion.Rol)
          select rolAccion);
 }
Пример #9
0
 internal static IQueryable <Aplicacion> GetAplicaciones(Castellano.CentroCosto centroCosto)
 {
     return
         (from centroCostoAplicacion in GetCentroCostoAplicaciones(centroCosto)
          select centroCostoAplicacion.Aplicacion);
 }
Пример #10
0
 public static bool Exists(Rol rol, Persona persona, Castellano.CentroCosto centroCosto)
 {
     return(Query.GetRolPersonaCentroCostos().Any <RolPersonaCentroCosto>(x => x.Rol == rol && x.Persona == persona && x.CentroCosto == centroCosto));
 }
Пример #11
0
 internal static IQueryable <CentroCostoAplicacion> GetCentroCostoAplicaciones(Castellano.CentroCosto centroCosto)
 {
     return
         (from centroCostoAplicacion in GetCentroCostoAplicaciones()
          where centroCostoAplicacion.CentroCosto == centroCosto
          select centroCostoAplicacion);
 }
Пример #12
0
 public static List <MenuItem> GetTree(Menu menu, Aplicacion aplicacion, Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
 {
     return(BuildTree(GetAll(menu, aplicacion, empresa, centroCosto, persona)));
 }
Пример #13
0
        public static List <MenuItem> GetAll(Menu menu, Aplicacion aplicacion, Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
        {
            List <MenuItem> padres = new List <MenuItem>();
            List <MenuItem> result =
                (
                    from query in Query.GetMenuItemes(menu, aplicacion, empresa, centroCosto, persona)
                    orderby query.Orden
                    select query
                ).ToList <MenuItem>();

            foreach (MenuItem menuItem in result)
            {
                MenuItem padre = menuItem.Padre;

                while (padre != null && !padre.Equals(aplicacion.Inicio))
                {
                    if (!result.Contains <MenuItem>(padre) && !padres.Contains <MenuItem>(padre))
                    {
                        padres.Add(padre);
                    }

                    padre = padre.Padre;
                }
            }

            result.AddRange(padres);

            return(result.OrderBy(x => x.Orden).ToList <MenuItem>());
        }
Пример #14
0
 public static bool Exists(Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Castellano.Persona persona, MenuItem menuItem, Accion accion)
 {
     return(Query.GetRolAcciones(empresa, centroCosto, persona, menuItem).Any <RolAccion>(x => x.MenuItemAccion.Accion.Equals(accion)));
 }
Пример #15
0
        public static List <Castellano.Ambito> GetAll(Aplicacion aplicacion, Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
        {
            List <Castellano.Ambito> list = new List <Castellano.Ambito>();

            if (Query.GetRolPersonas(persona, aplicacion).Any <RolPersona>())
            {
                list.Add(Castellano.Ambito.Aplicacion);

                if (empresa != null)
                {
                    list.Add(Castellano.Ambito.Empresa);
                }

                if (centroCosto != null)
                {
                    list.Add(Castellano.Ambito.CentroCosto);
                }
            }
            else if (Query.GetRolPersonaEmpresas(persona, aplicacion, empresa).Any <RolPersonaEmpresa>())
            {
                list.Add(Castellano.Ambito.Empresa);

                if (centroCosto != null)
                {
                    list.Add(Castellano.Ambito.CentroCosto);
                }
            }
            else if (Query.GetRolPersonaCentroCostos(persona, aplicacion, centroCosto).Any <RolPersonaCentroCosto>())
            {
                list.Add(Castellano.Ambito.CentroCosto);
            }

            return(list);
        }
Пример #16
0
 internal static IQueryable <RolPersonaCentroCosto> GetRolPersonaCentroCostos(Persona persona, Castellano.CentroCosto centroCosto)
 {
     return
         (from rolPersonaCentroCosto in GetRolPersonaCentroCostos(persona)
          where rolPersonaCentroCosto.CentroCosto == centroCosto
          select rolPersonaCentroCosto);
 }
 public static bool Exists(Castellano.CentroCosto centroCosto, Aplicacion aplicacion)
 {
     return(Query.GetCentroCostoAplicaciones(centroCosto, aplicacion).Any <CentroCostoAplicacion>());
 }
Пример #18
0
 internal static IQueryable <CentroCostoAplicacion> GetCentroCostoAplicaciones(Castellano.CentroCosto centroCosto, Aplicacion aplicacion)
 {
     return
         (from centroCostoAplicacion in GetCentroCostoAplicaciones(centroCosto)
          where centroCostoAplicacion.Aplicacion == aplicacion
          select centroCostoAplicacion);
 }
Пример #19
0
 public static RolPersonaCentroCosto Get(Rol rol, Persona persona, Castellano.CentroCosto centroCosto)
 {
     return(Query.GetRolPersonaCentroCostos().SingleOrDefault <RolPersonaCentroCosto>(x => x.Rol == rol && x.Persona == persona && x.CentroCosto == centroCosto));
 }
Пример #20
0
 internal static IQueryable <MenuItem> GetMenuItemes(Menu menu, Aplicacion aplicacion, Castellano.Empresa empresa, Castellano.CentroCosto centroCosto, Persona persona)
 {
     return
         (from menuItem in GetMenuItemes(menu, aplicacion)
          where
          (
              from rol in GetRolPersonas(persona).Select <RolPersona, Rol>(x => x.Rol)
              .Union <Rol>(GetRolPersonaCentroCostos(persona).Select <RolPersonaCentroCosto, Rol>(x => x.Rol))
              .Union <Rol>(GetRolPersonaEmpresas(persona).Select <RolPersonaEmpresa, Rol>(x => x.Rol))
              join rolAccion in GetRolAcciones() on rol equals rolAccion.Rol
              select rolAccion.MenuItemAccion.MenuItem
          ).Contains <MenuItem>(menuItem)
          select menuItem);
 }