예제 #1
0
        public void GenderAdmins()
        {
            var sql       = @"SELECT
	a.user_id,
	a.email,
	a.user_name,
	a.`password`,
	a.ec_salt,
	b.shop_name ,b.ru_id
FROM
	dsc_admin_user a
	LEFT JOIN dsc_seller_shopinfo b ON a.ru_id = b.ru_id where 1=1"    ;
            var result    = DapperHelper.GetSqlResult <dsc_drp_shop>(sql);
            var adminRole = _roleRepository.FirstOrDefault(c => c.Name == StaticRoleNames.Tenants.Admin);

            foreach (var item in result.Items)
            {
                var family = _orgRepository.FirstOrDefault(c => c.TreeName == item.shop_name);
                if (family == null)
                {
                    family = new OperatorTree()
                    {
                        TreeLength = 1,
                        ShopId     = item.ru_id,
                        TreeName   = item.shop_name,
                        TreeCode   = Guid.NewGuid().ToString("D").Split('-').Last()
                    };
                }
                else
                {
                    family.TreeName = item.shop_name;
                    family.ShopId   = item.ru_id;
                }
                _orgRepository.InsertOrUpdate(family);
                var temp = _userRepository.FirstOrDefault(u =>
                                                          u.UserName == item.user_name);
                if (temp == null)
                {
                    temp                  = User.CreateTenantUser(1, item.user_name, item.user_name, item.email);
                    temp.Password         = item.password;
                    temp.IsEmailConfirmed = true;
                    temp.IsActive         = true;
                    temp.IsAdmin          = true;
                    temp.ShopId           = item.ru_id;
                    temp.TreeCode         = family.TreeCode;
                    temp.Salt             = item.ec_salt;
                    temp.EmailAddress     = item.user_name + "@" + item.user_id + ".com";
                    temp.KeyId            = item.user_id;
                    temp                  = _userRepository.Insert(temp);
                    _userRoleRepository.Insert(new UserRole(1, temp.Id, adminRole.Id));
                }
                else
                {
                    temp.Password     = item.password;
                    temp.Salt         = item.ec_salt;
                    temp.KeyId        = item.user_id;
                    temp.EmailAddress = item.user_name + "@" + item.user_id + ".com";
                    temp.ShopId       = item.ru_id;
                    temp.UserName     = item.user_name;
                    _userRepository.Update(temp);
                }
            }
        }
예제 #2
0
        private void CreateSuperAdminsFromDb(Role adminRole)
        {
            var sql    = @"SELECT
	a.user_id,
	a.email,
	a.user_name,
	a.`password`,
	a.ec_salt,
	b.shop_name ,b.ru_id
FROM
	dsc_admin_user a
	LEFT JOIN dsc_seller_shopinfo b ON a.ru_id = b.ru_id"    ;
            var result = DapperHelper.GetSqlResult <dsc_drp_shop>(sql);

            foreach (var item in result.Items)
            {
                var temp = _context.Users.IgnoreQueryFilters().FirstOrDefault(u =>
                                                                              u.TenantId == _tenantId && u.UserName == item.user_name);
                var family = _context.OperatorTrees.IgnoreQueryFilters().FirstOrDefault(c => c.TreeName == item.shop_name);
                if (family == null)
                {
                    family = new OperatorTree()
                    {
                        TreeLength = 1,
                        ShopId     = item.ru_id,
                        TreeName   = item.shop_name,
                        TreeCode   = Guid.NewGuid().ToString("D").Split('-').Last()
                    };
                    _context.OperatorTrees.Add(family);
                    _context.SaveChanges();
                }
                if (temp != null)
                {
                    continue;
                }

                temp                  = User.CreateTenantUser(_tenantId, item.user_name, item.user_name, item.email);
                temp.Password         = item.password;
                temp.ShopId           = item.ru_id;
                temp.IsEmailConfirmed = true;
                temp.IsActive         = true;
                temp.IsAdmin          = true;
                temp.TreeCode         = family.TreeCode;
                temp.EmailAddress     = item.user_name + "@" + item.user_id + ".com";
                temp.Salt             = item.ec_salt;
                temp.KeyId            = item.user_id;
                _context.Users.Add(temp);
                _context.SaveChanges();

                // Assign Admin role to admin user
                _context.UserRoles.Add(new UserRole(_tenantId, temp.Id, adminRole.Id));
                _context.SaveChanges();
                // User account of admin user
                if (_tenantId == 1)
                {
                    _context.UserAccounts.Add(new UserAccount
                    {
                        TenantId     = _tenantId,
                        UserId       = temp.Id,
                        UserName     = AbpUserBase.AdminUserName,
                        EmailAddress = temp.EmailAddress
                    });
                    _context.SaveChanges();
                }
            }
        }