private static PermissionContract GetPermissionContract(UM_Resource resource, Guid groupID, Guid projectID)
        {
            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var permission = (from n in db.UM_Permissions
                                  where n.DateDeleted == null &&
                                  n.GroupID == groupID &&
                                  n.ResourceID == resource.ID
                                  orderby n.RuleValue descending
                                  select n).FirstOrDefault();

                if (permission != null)
                {
                    return(permission.ToContract(projectID));
                }

                if (resource.Parent == null)
                {
                    var newPemission = new UM_Permission();

                    newPemission.ID          = Guid.NewGuid();
                    newPemission.GroupID     = groupID;
                    newPemission.ResourceID  = resource.ID;
                    newPemission.RuleValue   = (int)RulePermissionsEnum.View;
                    newPemission.DateCreated = DateTime.Now;

                    db.UM_Permissions.InsertOnSubmit(newPemission);
                    db.SubmitChanges();

                    return(newPemission.ToContract(projectID));
                }

                return(GetPermissionContract(resource.Parent, groupID, projectID));
            }
        }
Example #2
0
        private static PermissionContract GetPermissionContract(UM_Resource resource, Guid groupID, Guid projectID)
        {
            var session = Hb8Factory.InitSession();

            var permission = (from n in session.Query <UM_Permission>()
                              where n.DateDeleted == null &&
                              n.GroupID == groupID &&
                              n.ResourceID == resource.ID
                              orderby n.RuleValue descending
                              select n).FirstOrDefault();

            if (permission != null)
            {
                return(permission.ToContract(projectID));
            }

            if (resource.Parent == null)
            {
                var newPemission = new UM_Permission
                {
                    ID          = Guid.NewGuid(),
                    GroupID     = groupID,
                    ResourceID  = resource.ID,
                    RuleValue   = (int)RulePermissionsEnum.View,
                    DateCreated = DateTime.Now
                };

                session.SubmitInsert(newPemission);

                return(newPemission.ToContract(projectID));
            }

            return(GetPermissionContract(resource.Parent, groupID, projectID));
        }
Example #3
0
    protected void btnSet_Click(object sender, EventArgs e)
    {
        var permissionKey = GetPermissionKey();

        if (permissionKey.GroupID == Guid.Empty ||
            permissionKey.ResourseID == Guid.Empty ||
            permissionKey.ProjectID == Guid.Empty)
        {
            return;
        }

        var permission = GetRelatedPermission(true);

        if (permission == null)
        {
            permission = new UM_Permission
            {
                ID = Guid.NewGuid(),

                DateCreated = DateTime.Now
            };
            DataContext.UM_Permissions.InsertOnSubmit(permission);
        }

        permission.GroupID    = permissionKey.GroupID;
        permission.ResourceID = permissionKey.ResourseID;
        permission.RuleValue  = GetDecValue();

        DataContext.SubmitChanges();

        DisplayRelatedRule();
    }
Example #4
0
        public static UM_Permission ToEntity(this PermissionContract contract)
        {
            if (contract == null)
            {
                return(null);
            }

            var entity = new UM_Permission();

            entity.ResourceID = contract.ResourceID;
            entity.RuleValue  = Convert.ToInt32(contract.RuleValue);
            return(entity);
        }
Example #5
0
        public static PermissionContract ToContract(this UM_Permission entity, Guid?projectID)
        {
            if (entity == null)
            {
                return(null);
            }

            var contract = new PermissionContract();

            contract.ProjectID           = projectID;
            contract.ResourceID          = entity.ResourceID;
            contract.ResourcePath        = entity.Resource.FullPath();
            contract.RuleValue           = (RulePermissionsEnum)entity.RuleValue;
            contract.PermissionParameter = entity.PermissionParameters.ToDictionary(k => k.Name, v => v.Value);

            return(contract);
        }
 /// <summary>
 /// There are no comments for UM_Permission in the schema.
 /// </summary>
 public void AddToUM_Permission(UM_Permission uM_Permission)
 {
     base.AddObject("UM_Permission", uM_Permission);
 }
 /// <summary>
 /// Create a new UM_Permission object.
 /// </summary>
 /// <param name="permissionId">Initial value of PermissionId.</param>
 public static UM_Permission CreateUM_Permission(int permissionId)
 {
     UM_Permission uM_Permission = new UM_Permission();
     uM_Permission.PermissionId = permissionId;
     return uM_Permission;
 }