コード例 #1
0
ファイル: HiveDao.cs プロジェクト: thunder176/HeuristicLab
 /// <summary>
 /// Sets the permissions for a experiment. makes sure that only one permission per user exists.
 /// </summary>
 public void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission)
 {
     using (var db = CreateContext()) {
         HiveExperimentPermission hiveExperimentPermission = db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);
         if (hiveExperimentPermission != null)
         {
             if (permission == Permission.NotAllowed)
             {
                 // not allowed, delete
                 db.HiveExperimentPermissions.DeleteOnSubmit(hiveExperimentPermission);
             }
             else
             {
                 // update
                 hiveExperimentPermission.Permission      = permission;
                 hiveExperimentPermission.GrantedByUserId = grantedByUserId; // update grantedByUserId, always the last "granter" is stored
             }
         }
         else
         {
             // insert
             if (permission != Permission.NotAllowed)
             {
                 hiveExperimentPermission = new HiveExperimentPermission()
                 {
                     HiveExperimentId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission
                 };
                 db.HiveExperimentPermissions.InsertOnSubmit(hiveExperimentPermission);
             }
         }
         db.SubmitChanges();
     }
 }
コード例 #2
0
 public static void ToEntity(DT.HiveExperimentPermission source, HiveExperimentPermission target)
 {
     if ((source != null) && (target != null))
     {
         target.HiveExperimentId = source.HiveExperimentId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = source.Permission;
     }
 }
コード例 #3
0
        public static HiveExperimentPermission ToEntity(DT.HiveExperimentPermission source)
        {
            if (source == null)
            {
                return(null);
            }
            var entity = new HiveExperimentPermission(); ToEntity(source, entity);

            return(entity);
        }
コード例 #4
0
 public static DT.HiveExperimentPermission ToDto(HiveExperimentPermission source)
 {
     if (source == null)
     {
         return(null);
     }
     return(new DT.HiveExperimentPermission {
         HiveExperimentId = source.HiveExperimentId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = source.Permission
     });
 }
コード例 #5
0
ファイル: HiveDao.cs プロジェクト: thunder176/HeuristicLab
 public Permission GetPermissionForExperiment(Guid experimentId, Guid userId)
 {
     using (var db = CreateContext()) {
         HiveExperiment hiveExperiment = db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == experimentId);
         if (hiveExperiment == null)
         {
             return(Permission.NotAllowed);
         }
         if (hiveExperiment.OwnerUserId == userId)
         {
             return(Permission.Full);
         }
         HiveExperimentPermission permission = db.HiveExperimentPermissions.SingleOrDefault(p => p.HiveExperimentId == experimentId && p.GrantedUserId == userId);
         return(permission != null ? permission.Permission : Permission.NotAllowed);
     }
 }
コード例 #6
0
ファイル: HiveDao.cs プロジェクト: thunder176/HeuristicLab
 /// <summary>
 /// Sets the permissions for a experiment. makes sure that only one permission per user exists.
 /// </summary>
 public void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission) {
   using (var db = CreateContext()) {
     HiveExperimentPermission hiveExperimentPermission = db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);
     if (hiveExperimentPermission != null) {
       if (permission == Permission.NotAllowed) {
         // not allowed, delete
         db.HiveExperimentPermissions.DeleteOnSubmit(hiveExperimentPermission);
       } else {
         // update
         hiveExperimentPermission.Permission = permission;
         hiveExperimentPermission.GrantedByUserId = grantedByUserId; // update grantedByUserId, always the last "granter" is stored
       }
     } else {
       // insert
       if (permission != Permission.NotAllowed) {
         hiveExperimentPermission = new HiveExperimentPermission() { HiveExperimentId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission };
         db.HiveExperimentPermissions.InsertOnSubmit(hiveExperimentPermission);
       }
     }
     db.SubmitChanges();
   }
 }
コード例 #7
0
ファイル: Convert.cs プロジェクト: thunder176/HeuristicLab
 public static void ToEntity(DT.HiveExperimentPermission source, HiveExperimentPermission target) {
   if ((source != null) && (target != null)) {
     target.HiveExperimentId = source.HiveExperimentId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = source.Permission;
   }
 }
コード例 #8
0
ファイル: Convert.cs プロジェクト: thunder176/HeuristicLab
 public static HiveExperimentPermission ToEntity(DT.HiveExperimentPermission source) {
   if (source == null) return null;
   var entity = new HiveExperimentPermission(); ToEntity(source, entity);
   return entity;
 }
コード例 #9
0
ファイル: Convert.cs プロジェクト: thunder176/HeuristicLab
 public static DT.HiveExperimentPermission ToDto(HiveExperimentPermission source) {
   if (source == null) return null;
   return new DT.HiveExperimentPermission { HiveExperimentId = source.HiveExperimentId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = source.Permission };
 }