Пример #1
0
        public void Name()
        {
            var data = StringHelper.ValidString();
            var role = new RoleRow(Guid.NewGuid());

            role.Name = data;
            Assert.AreEqual <string>(data, role.Name);
        }
Пример #2
0
        public void UserIdentifier()
        {
            var data = Guid.NewGuid();
            var role = new RoleRow(Guid.NewGuid());

            role.UserIdentifier = data;
            Assert.AreEqual <Guid>(data, role.UserIdentifier);
        }
Пример #3
0
        public void GetUsersDeepLoad()
        {
            var table = new AzureTable <UserData>(CloudStorageAccount.DevelopmentStorageAccount);
            var user  = table.QueryByPartition(Settings.ApplicationIdentifier.ToString()).FirstOrDefault();

            if (null == user)
            {
                user = new UserData(string.Format("{0}@temp.com", Guid.NewGuid()), "na", Guid.NewGuid().ToBase64());
                table.AddEntity(user);
            }

            var companyTable = new AzureTable <CompanyRow>(CloudStorageAccount.DevelopmentStorageAccount);
            var companyRow   = new CompanyRow(user.Id)
            {
                Name = Guid.NewGuid().ToBase64(),
            };

            companyTable.AddEntity(companyRow);
            var roleTable = new AzureTable <RoleRow>(CloudStorageAccount.DevelopmentStorageAccount);
            var roleRow   = new RoleRow(Settings.ApplicationIdentifier)
            {
                UserIdentifier = user.Id,
                Name           = Guid.NewGuid().ToBase64(),
            };

            roleTable.AddEntity(roleRow);

            var core  = new ApplicationCore();
            var users = core.GetUsers(Application.Current, true);

            Assert.IsNotNull(users);
            Assert.IsTrue(0 < users.Count());
            var returned = (from data in users
                            where data.Identifier == user.Id &&
                            data.Companies != null &&
                            data.Roles != null
                            select data).FirstOrDefault();

            Assert.IsNotNull(returned);
            Assert.AreEqual <Guid>(user.Id, returned.Identifier);
            Assert.AreEqual <string>(user.UserName, returned.UserName);
            Assert.IsNotNull(returned.Companies);
            var company = (from data in returned.Companies
                           where data.Identifier == companyRow.Identifier
                           select data).First();

            Assert.AreEqual <Guid>(companyRow.Identifier, company.Identifier);
            Assert.AreEqual <string>(companyRow.Name, company.Name);
            Assert.IsNotNull(returned.Roles);

            var role = (from data in returned.Roles
                        where data == roleRow.Name
                        select data).First();

            Assert.AreEqual <string>(roleRow.Name, role);
        }
Пример #4
0
            public RoleRow AddRoleRow(string name)
            {
                RoleRow rowRoleRow = ((RoleRow)(this.NewRow()));

                rowRoleRow.ItemArray = new object[] {
                    name
                };
                this.Rows.Add(rowRoleRow);
                return(rowRoleRow);
            }
Пример #5
0
            public UserRoleRow AddUserRoleRow(RoleRow parentRoleRowByRoleUserRole, UserRow parentUserRowByUser_UserRole)
            {
                UserRoleRow rowUserRoleRow = ((UserRoleRow)(this.NewRow()));

                rowUserRoleRow.ItemArray = new object[] {
                    parentRoleRowByRoleUserRole[0],
                    parentUserRowByUser_UserRole[0]
                };
                this.Rows.Add(rowUserRoleRow);
                return(rowUserRoleRow);
            }
        public override void AddUsersToRoles(string[] emails, string[] roleNames)
        {
            using (new PerformanceMonitor())
            {
                if (roleNames.Any(rolename => !this.RoleExists(rolename)))
                {
                    throw new ProviderException("Role name not found.");
                }
                else if (emails.Any(email => roleNames.Any(rolename => this.IsUserInRole(email, rolename))))
                {
                    throw new ProviderException("User is already in role.");
                }
                else
                {
                    foreach (var email in emails)
                    {
                        var user = (from data in userTable.QueryByPartition(this.ApplicationName)
                                    where data.Email == email
                                    select data).FirstOrDefault();

                        foreach (var roleName in roleNames)
                        {
                            if (!this.IsUserInRole(email, roleName))
                            {
                                var role = new RoleRow(ServerConfiguration.ApplicationIdentifier)
                                {
                                    Name           = roleName,
                                    UserIdentifier = user.Id,
                                };

                                roleTable.AddEntity(role);
                            }
                        }
                    }
                }
            }
        }
Пример #7
0
 public void AddRoleRow(RoleRow row)
 {
     this.Rows.Add(row);
 }
Пример #8
0
 public RoleRowChangeEvent(RoleRow row, DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }
Пример #9
0
 public void RemoveRoleRow(RoleRow row)
 {
     this.Rows.Remove(row);
 }
Пример #10
0
 public RoleRowChangeEvent(RoleRow row, global::System.Data.DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }
Пример #11
0
 public void RemoveRoleRow(RoleRow row) {
     this.Rows.Remove(row);
 }
Пример #12
0
 public void AddRoleRow(RoleRow row) {
     this.Rows.Add(row);
 }
Пример #13
0
 public RoleRowChangeEvent(RoleRow row, global::System.Data.DataRowAction action) {
     this.eventRow = row;
     this.eventAction = action;
 }
Пример #14
0
 public UserRoleRow AddUserRoleRow(RoleRow parentRoleRowByRoleUserRole, UserRow parentUserRowByUser_UserRole)
 {
     UserRoleRow rowUserRoleRow = ((UserRoleRow)(this.NewRow()));
     rowUserRoleRow.ItemArray = new object[] {
             parentRoleRowByRoleUserRole[0],
             parentUserRowByUser_UserRole[0]};
     this.Rows.Add(rowUserRoleRow);
     return rowUserRoleRow;
 }
Пример #15
0
 public RoleRowChangeEvent(RoleRow row, DataRowAction action)
 {
     this.eventRow = row;
     this.eventAction = action;
 }
Пример #16
0
 public UserRoleRow AddUserRoleRow(RoleRow parentRoleRowByRoleUserRole, UserRow parentUserRowByUser_UserRole) {
     UserRoleRow rowUserRoleRow = ((UserRoleRow)(this.NewRow()));
     object[] columnValuesArray = new object[] {
             null,
             null};
     if ((parentRoleRowByRoleUserRole != null)) {
         columnValuesArray[0] = parentRoleRowByRoleUserRole[0];
     }
     if ((parentUserRowByUser_UserRole != null)) {
         columnValuesArray[1] = parentUserRowByUser_UserRole[0];
     }
     rowUserRoleRow.ItemArray = columnValuesArray;
     this.Rows.Add(rowUserRoleRow);
     return rowUserRoleRow;
 }