/// <summary> /// Cuenta by Cuenta /// </summary> /// <param name="cuentaID"></param> /// <returns>Cuenta object</returns> public List <Cuenta> GetCuentasByUsuario(int usuarioID, int currentPageNumber, int pageSize, string sortExpression, string sortDirection, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); List <Cuenta> cuentas = new List <Cuenta>(); try { ICuentaDataService iCuentaDataService = new CuentaDataService(); cuentas = iCuentaDataService.GetCuentasByUsuario(usuarioID); transaction.TotalPages = Utilities.CalculateTotalPages(cuentas.Count, pageSize); transaction.TotalRows = cuentas.Count; transaction.ReturnStatus = true; } catch (Exception ex) { string errorMessage = ex.Message; transaction.ReturnMessage.Add(errorMessage); transaction.ReturnStatus = false; } return(cuentas); }
private static List <IdentityRolPermit> ObtenerPermits(CuentaDataService ds, string idRol, HttpContextBase context) { List <IdentityRolPermit> res = (List <IdentityRolPermit>)Cache.Get(idRol); if (res == null) { res = ds.GetViewsPermitidas(idRol, context).Result; Cache.Add(idRol, res, null, Cache.NoAbsoluteExpiration, new TimeSpan(8, 0, 0), CacheItemPriority.Normal, null); } return(res); }
/// <summary> /// Cuenta by Cuenta /// </summary> /// <param name="cuentaID"></param> /// <returns>Cuenta object</returns> public Cuenta GetCuentaByCuentaID(int cuentaID, out TransactionalInformation transaction) { transaction = new TransactionalInformation(); Cuenta cuenta = new Cuenta(); try { ICuentaDataService iCuentaDataService = new CuentaDataService(); cuenta = iCuentaDataService.GetCuentaByCuentaID(cuentaID); transaction.ReturnStatus = true; } catch (Exception ex) { string errorMessage = ex.Message; transaction.ReturnMessage.Add(errorMessage); transaction.ReturnStatus = false; } return(cuenta); }
public static bool IsAuthorized(IPrincipal principal, string controller, string action, HttpContextBase context) { if (principal == null || string.IsNullOrEmpty(controller) || string.IsNullOrEmpty(action) || context == null) { return(false); } if (controller.ToLower() == "home" && action.ToLower() == nameof(Controllers.HomeController.Index).ToLower()) { return(true); } if (controller.EndsWith("Controller")) { controller = controller.Replace("Controller", string.Empty); } ApplicationUserManager man = context.GetOwinContext().GetUserManager <ApplicationUserManager>(); RoleManager <IdentityRole> rolMan = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(FaApplicationDbContext.Create())); if (man != null) { ApplicationUser user = man.FindByNameAsync(principal.Identity.Name).Result; if (user == null) { return(false); } IdentityRole role = rolMan.FindById(user.Roles.FirstOrDefault().RoleId); CuentaDataService ds = new CuentaDataService(user, man, null); if (role.Name != "Admin") { bool found = false; List <IdentityRolPermit> views = ObtenerPermits(ds, user.Roles.FirstOrDefault().RoleId, context); foreach (IdentityRolPermit item in views) { if (item.TodasLasVistas == 0) { string direcciones = ViewUtil.ObtenerDireccionDeView(item.ViewPath); if (!direcciones.Contains(DIV_DIRECCIONES)) { string[] vista = direcciones.Split(new string[] { DIV_DIRECCION }, StringSplitOptions.RemoveEmptyEntries); if (vista[0] == controller && vista[1] == action) { found = true; break; } } else { string[] vistas = direcciones.Split(new string[] { DIV_DIRECCIONES }, StringSplitOptions.RemoveEmptyEntries); foreach (string vista in vistas) { string[] div = vista.Split(new string[] { DIV_DIRECCION }, StringSplitOptions.RemoveEmptyEntries); if (div[0] == controller && div[1] == action) { found = true; break; } } if (found) { break; } } } else { if (item.TodasLasVistas == 2) { found = false; } else if (item.TodasLasVistas == 1) { found = true; } break; } } if (!found) { return(false); } } } return(true); }
/// <summary> /// Cuenta by Cuenta /// </summary> /// <param name="cuentaID"></param> /// <returns>Cuenta object</returns> public Cuenta GetCuentaByCuentaID(int cuentaID) { ICuentaDataService iCuentaDataService = new CuentaDataService(); return(iCuentaDataService.GetCuentaByCuentaID(cuentaID)); }
/// <summary> /// Cuentas by Usuario /// </summary> /// <param name="usuarioID"></param> /// <returns>List<Cuenta> object</returns> public List <Cuenta> GetCuentasByUsuario(int usuarioID) { ICuentaDataService iCuentaDataService = new CuentaDataService(); return(iCuentaDataService.GetCuentasByUsuario(usuarioID)); }