/// <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);
        }
Example #2
0
        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);
        }
Example #4
0
        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));
        }