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(); } }
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>()); }
public static List <Aplicacion> GetAll(Castellano.CentroCosto centroCosto) { return (( from query in Query.GetAplicaciones(centroCosto) orderby query.Orden select query ).ToList <Aplicacion>()); }
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)); }
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)); }
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); }
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); }
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); }
internal static IQueryable <Aplicacion> GetAplicaciones(Castellano.CentroCosto centroCosto) { return (from centroCostoAplicacion in GetCentroCostoAplicaciones(centroCosto) select centroCostoAplicacion.Aplicacion); }
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)); }
internal static IQueryable <CentroCostoAplicacion> GetCentroCostoAplicaciones(Castellano.CentroCosto centroCosto) { return (from centroCostoAplicacion in GetCentroCostoAplicaciones() where centroCostoAplicacion.CentroCosto == centroCosto select centroCostoAplicacion); }
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))); }
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>()); }
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))); }
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); }
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>()); }
internal static IQueryable <CentroCostoAplicacion> GetCentroCostoAplicaciones(Castellano.CentroCosto centroCosto, Aplicacion aplicacion) { return (from centroCostoAplicacion in GetCentroCostoAplicaciones(centroCosto) where centroCostoAplicacion.Aplicacion == aplicacion select centroCostoAplicacion); }
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)); }
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); }