public static Fr8AccountDO TestDockyardAccount7() { string adminUserEmail = "*****@*****.**"; string password = "******"; string firstName = "Admin"; string lastName = "Admin"; Fr8Account _dockyardAccount = ObjectFactory.GetInstance <Fr8Account>(); using (var uow = ObjectFactory.GetInstance <IUnitOfWork>()) { var adminRoleId = Guid.NewGuid().ToString(); var adminRoleDO = new AspNetRolesDO() { Name = "Admin", Id = adminRoleId, CreateDate = DateTimeOffset.UtcNow, LastUpdated = DateTimeOffset.UtcNow, }; uow.AspNetRolesRepository.Add(adminRoleDO); var adminUserFr8Account = _dockyardAccount.Register(uow, adminUserEmail, firstName, lastName, password, adminRoleId); uow.AspNetUserRolesRepository.RevokeRoleFromUser(Roles.Admin, adminUserFr8Account.Id); var adminRole = new IdentityUserRole() { RoleId = adminRoleId, UserId = adminUserFr8Account.Id }; adminUserFr8Account.Roles.Add(adminRole); uow.SaveChanges(); return(adminUserFr8Account); } }
/// <summary> /// Check if already exists some organization with the same name and create new if not /// </summary> /// <param name="organizationName"></param> /// <param name="isNewOrganization"></param> /// <returns></returns> public OrganizationDO GetOrCreateOrganization(IUnitOfWork uow, string organizationName, out bool isNewOrganization) { OrganizationDO organization = null; isNewOrganization = false; //check if organization already exist organization = uow.OrganizationRepository.GetQuery().FirstOrDefault(x => x.Name == organizationName); if (organization != null) { return(organization); } //create new organization organization = new OrganizationDO() { Name = organizationName }; uow.OrganizationRepository.Add(organization); //create role for new organization and add System Administrator Profile to this role var memberOfOrganizationRole = new AspNetRolesDO() { Name = MemberOfOrganizationRoleName(organizationName), }; uow.AspNetRolesRepository.Add(memberOfOrganizationRole); var adminRole = new AspNetRolesDO() { Name = AdminOfOrganizationRoleName(organizationName), }; uow.AspNetRolesRepository.Add(adminRole); isNewOrganization = true; uow.SaveChanges(); return(organization); }