Beispiel #1
0
        public Framework.Rbac AddOrUpdate(Framework.Rbac rbac)
        {
            Rbac dbRbac = null;

            try
            {
                using (var ctx = new Entities(ConnectionString))
                {
                    dbRbac = ctx.Rbacs.Where(r => r.RbacId == rbac.RbacId).SingleOrDefault();
                    if (dbRbac == null) //try with name
                    {
                        dbRbac = ctx.Rbacs.Where(r => r.Name.Equals(rbac.Name, StringComparison.OrdinalIgnoreCase)).SingleOrDefault();
                    }

                    if (dbRbac == null)
                    {
                        Rbac newRbac = Assign(rbac);
                        newRbac.Password = GetEncryptedString("password");  //default, user supposed to change immediately
                        newRbac.Version  = 1;
                        dbRbac           = ctx.Rbacs.Add(newRbac);
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(rbac.Name))
                        {
                            dbRbac.Name = rbac.Name;
                        }

                        if (!string.IsNullOrEmpty(rbac.Description))
                        {
                            dbRbac.Description = rbac.Description;
                        }

                        if (!string.IsNullOrEmpty(rbac.ConnectionString))
                        {
                            dbRbac.ConnectionString = GetEncryptedString(rbac.ConnectionString);
                        }

                        if (!string.IsNullOrEmpty(rbac.MetaDataRbac))
                        {
                            dbRbac.MetaDataRbac = GetEncryptedString(rbac.MetaDataRbac);
                        }

                        if (!string.IsNullOrEmpty(rbac.MetaDataEntitlements))
                        {
                            dbRbac.MetaDataEntitlements = GetEncryptedString(rbac.MetaDataEntitlements);
                        }
                        dbRbac.Version = rbac.Version + 1;
                    }

                    ctx.SaveChanges();
                }
            }
            catch (DbEntityValidationException e)
            {
                RaiseError(e);
            }

            return(Assign(dbRbac));
        }
Beispiel #2
0
        private Rbac Assign(Framework.Rbac rbac)
        {
            if (rbac == null)
            {
                return(null);
            }

            Rbac newRbac = new Rbac();

            newRbac.RbacId               = rbac.RbacId;
            newRbac.Name                 = rbac.Name;
            newRbac.Description          = rbac.Description;
            newRbac.ConnectionString     = GetEncryptedString(rbac.ConnectionString);
            newRbac.MetaDataRbac         = GetEncryptedString(rbac.MetaDataRbac);
            newRbac.MetaDataEntitlements = GetEncryptedString(rbac.MetaDataEntitlements);
            newRbac.Version              = rbac.Version;
            return(newRbac);
        }
Beispiel #3
0
        /// <summary>
        /// Instantiates a new Rbac Role
        /// </summary>
        /// <param name="rbacId">The rbac id it will belong to</param>
        /// <param name="name">Name of the new role</param>
        /// <param name="description">Description of the new role</param>
        /// <param name="metaDataRbac">Meta data of the role</param>
        /// <param name="metaDataEntitlements">Meta data of the entilements</param>
        public RbacRole(int rbacId, string name, string description, string metaDataRbac, string metaDataEntitlements)
        {
            if (rbacId == 0)
            {
                RbacException.Raise("Creation of role requires a valid rbacId!");
            }

            Rbac rbac = new Framework.Rbac();

            //create new role
            RbacRole newRole = new RbacRole();

            newRole.RbacId               = rbacId;
            newRole.Name                 = name;
            newRole.Description          = description;
            newRole.MetaDataRbac         = metaDataRbac;
            newRole.MetaDataEntitlements = metaDataEntitlements;
            newRole = new DataManager.Manager(false).AddOrUpdate(newRole);
            Assign(newRole);
        }
Beispiel #4
0
 public Framework.Rbac GetRbac(string name)
 {
     Framework.Rbac rbac = null;
     try
     {
         using (var ctx = new Entities(ConnectionString))
         {
             Rbac dbRbac = ctx.Rbacs.Where(r => r.Name.Equals(name, StringComparison.OrdinalIgnoreCase)).SingleOrDefault();
             if (dbRbac != null)
             {
                 rbac = Assign(dbRbac);
             }
         }
     }
     catch (Exception ex)
     {
         RaiseError(ex);
     }
     return(rbac);
 }
Beispiel #5
0
 public Framework.Rbac GetRbac(int rbacId)
 {
     Framework.Rbac rbac = null;
     try
     {
         using (var ctx = new Entities(ConnectionString))
         {
             Rbac dbRbac = ctx.Rbacs.Where(r => r.RbacId == rbacId).SingleOrDefault();
             if (dbRbac != null)
             {
                 rbac = Assign(dbRbac);
             }
         }
     }
     catch (Exception ex)
     {
         RaiseError(ex);
     }
     return(rbac);
 }
Beispiel #6
0
        private Framework.Rbac Assign(Rbac rbac)
        {
            if (rbac == null)
            {
                return(null);
            }

            Framework.Rbac newRbac = new Framework.Rbac();
            newRbac.RbacId      = rbac.RbacId;
            newRbac.Name        = rbac.Name;
            newRbac.Description = rbac.Description;
            if (!HideSensitiveData)
            {
                newRbac.ConnectionString     = GetDecryptedString(rbac.ConnectionString);
                newRbac.MetaDataRbac         = GetDecryptedString(rbac.MetaDataRbac);
                newRbac.MetaDataEntitlements = GetDecryptedString(rbac.MetaDataEntitlements);
            }
            newRbac.Version = rbac.Version;

            return(newRbac);
        }
Beispiel #7
0
 public void Delete(Framework.Rbac user)
 {
 }