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);
            }
        }
Esempio n. 2
0
        /// <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);
        }