Пример #1
0
 internal void PopulateWith(Entity[] entities)
 {
     foreach (var entity in entities)
     {
         if (entity.Id == Guid.Empty)
         {
             var id = Guid.NewGuid();
             entity.Id = id;
             entity[entity.LogicalName + "id"] = id;
         }
         db.Add(entity);
     }
 }
Пример #2
0
        internal void AddRoleTemplatesForBusinessUnit(XrmDb db, EntityReference businessUnit)
        {
            //role templates are actually uniques across all business units so don't try adding more than once.
            var allRoleTemplates = db.GetDBEntityRows("roletemplate").Select(x => x.ToEntity());

            foreach (var sr in SecurityRoles.Values.Where(x => x.RoleTemplateId != Guid.Empty).GroupBy(x => x.RoleTemplateId).Select(x => x.Key))
            {
                if (!allRoleTemplates.Any(x => x.Id == sr))
                {
                    var roleTemplate = new Entity("roletemplate")
                    {
                        Id = sr
                    };
                    db.Add(roleTemplate);
                }
            }
        }
Пример #3
0
        internal void AddRoleToDb(XrmDb db, SecurityRole newRole, EntityReference businessUnit)
        {
            var roleMeta = Metadata.EntityMetadata.GetMetadata("role");
            var role     = new Entity("role")
            {
                Id = newRole.RoleId
            };

            role[roleMeta.PrimaryIdAttribute] = role.Id;
            role["businessunitid"]            = businessUnit;
            role["name"]           = newRole.Name;
            role["roletemplateid"] = newRole.RoleTemplateId;
            role["createdby"]      = Core.AdminUserRef;
            role["createdon"]      = DateTime.UtcNow.Add(Core.TimeOffset);
            role["modifiedby"]     = Core.AdminUserRef;
            role["modifiedon"]     = DateTime.UtcNow.Add(Core.TimeOffset);
            db.Add(role);
            SecurityRoleMapping.Add(role.Id, newRole.RoleId);
        }
Пример #4
0
 internal void AddRolesForBusinessUnit(XrmDb db, EntityReference businessUnit)
 {
     foreach (var sr in SecurityRoles.Values)
     {
         var roleMeta = Metadata.EntityMetadata.GetMetadata("role");
         var role     = new Entity("role")
         {
             Id = Guid.NewGuid()
         };
         role[roleMeta.PrimaryIdAttribute] = role.Id;
         role["businessunitid"]            = businessUnit;
         role["name"]           = sr.Name;
         role["roletemplateid"] = sr.RoleTemplateId;
         role["createdby"]      = Core.AdminUserRef;
         role["createdon"]      = DateTime.Now.Add(Core.TimeOffset);
         role["modifiedby"]     = Core.AdminUserRef;
         role["modifiedon"]     = DateTime.Now.Add(Core.TimeOffset);
         db.Add(role);
         SecurityRoleMapping.Add(role.Id, sr.RoleId);
     }
 }