Ejemplo n.º 1
0
        public static bool GetIsSecurityOperation(ZIsSecurityOperations isSecurityOperations, ZSecurityOperations operation)
        {
            bool result = false;

            switch (operation)
            {
            case ZSecurityOperations.Search:
                result = isSecurityOperations.IsSearch;
                break;

            case ZSecurityOperations.Create:
                result = isSecurityOperations.IsCreate;
                break;

            case ZSecurityOperations.Read:
                result = isSecurityOperations.IsRead;
                break;

            case ZSecurityOperations.Update:
                result = isSecurityOperations.IsUpdate;
                break;

            case ZSecurityOperations.Delete:
                result = isSecurityOperations.IsDelete;
                break;
            }

            return(result);
        }
Ejemplo n.º 2
0
        public static bool IsDelete(ZIsSecurityOperations isSecurityOperations, ZOperationResult operationResult)
        {
            bool result = true;

            if (!isSecurityOperations.IsDelete)
            {
                result = false;
                operationResult.AddOperationError("", MessageNotAuthorized(isSecurityOperations.Activity, ZSecurityOperations.Delete));
            }

            return(result);
        }
Ejemplo n.º 3
0
        public ZIsSecurityOperations GetOperations(string activity)
        {
            ZIsSecurityOperations isSecurityOperations = new ZIsSecurityOperations();

            isSecurityOperations.IsSearch  = true;
            isSecurityOperations.IsCreate  = true;
            isSecurityOperations.IsRead    = true;
            isSecurityOperations.IsUpdate  = true;
            isSecurityOperations.IsDelete  = true;
            isSecurityOperations.IsExport  = true;
            isSecurityOperations.IsImport  = true;
            isSecurityOperations.IsExecute = true;

            return(isSecurityOperations);
        }
Ejemplo n.º 4
0
 public static bool GetIsSecurityOperationByName(ZIsSecurityOperations isSecurityOperations, string name)
 {
     return(GetIsSecurityOperation(isSecurityOperations, GetSecurityOperationByAcronym(name)));
 }
Ejemplo n.º 5
0
 public static bool GetIsSecurityOperationByAcronym(ZIsSecurityOperations isSecurityOperations, string acronym)
 {
     return(GetIsSecurityOperation(isSecurityOperations, GetSecurityOperationByAcronym(acronym)));
 }
Ejemplo n.º 6
0
        public ZIsSecurityOperations GetOperations(string activity)
        {
            ZIsSecurityOperations result = new ZIsSecurityOperations();

            result.Activity = activity;

            if (IdentityHelper.IsAdministrator)
            {
                result.IsSearch  = true;
                result.IsCreate  = true;
                result.IsRead    = true;
                result.IsUpdate  = true;
                result.IsDelete  = true;
                result.IsExport  = true;
                result.IsImport  = true;
                result.IsExecute = true;

                return(result);
            }

            if (!String.IsNullOrEmpty(activity))
            {
                string operationSearchAcronym = SecurityHelper.GetSecurityOperationAcronym(ZSecurityOperations.Search);
                string operationCreateAcronym = SecurityHelper.GetSecurityOperationAcronym(ZSecurityOperations.Create);
                string operationReadAcronym   = SecurityHelper.GetSecurityOperationAcronym(ZSecurityOperations.Read);
                string operationUpdateAcronym = SecurityHelper.GetSecurityOperationAcronym(ZSecurityOperations.Update);
                string operationDeleteAcronym = SecurityHelper.GetSecurityOperationAcronym(ZSecurityOperations.Delete);

                IGenericRepository <ActivityRole> repositoryActivityRole = UnitOfWork.GetRepository <ActivityRole>();
                IGenericRepository <Activity>     repositoryActivity     = UnitOfWork.GetRepository <Activity>();
                IGenericRepository <UserRole>     repositoryUserRole     = UnitOfWork.GetRepository <UserRole>();

                IQueryable <ActivityRole> activityRoles =
                    from
                    ActivityRole in repositoryActivityRole.Query
                    from
                    Activity in repositoryActivity.Query
                    from
                    UserRole in repositoryUserRole.Query
                    where
                    ActivityRole.ActivityId == Activity.Id &&
                    Activity.Name == activity &&
                    ActivityRole.RoleId == UserRole.RoleId &&
                    UserRole.UserId == IdentityHelper.UserId
                    select
                    ActivityRole;

                foreach (ActivityRole activityRole in activityRoles.ToList())
                {
                    string operations = activityRole.Operations.ToUpper();

                    result.IsSearch = result.IsSearch || operations.Contains(operationSearchAcronym);
                    result.IsCreate = result.IsCreate || operations.Contains(operationCreateAcronym);
                    result.IsRead   = result.IsRead || operations.Contains(operationReadAcronym);
                    result.IsUpdate = result.IsUpdate || operations.Contains(operationUpdateAcronym);
                    result.IsDelete = result.IsDelete || operations.Contains(operationDeleteAcronym);
                }
            }

            return(result);
        }