Example #1
0
        public static IDbClient GetClient(string dbName, DatabaseType databaseType, string connectionString = null)
        {
            var id = new DbIdentity(dbName, databaseType);

            IDbClient client;

            if (KnownClients.TryGetValue(id, out client))
            {
                return(client);
            }

            lock (KnownClients)
            {
                if (KnownClients.TryGetValue(id, out client))
                {
                    return(client);
                }

                var conn = connectionString ?? GetConnectionString(dbName, databaseType);

                if (databaseType == DatabaseType.SqlServer)
                {
                    client = new SqlDbClient(conn);
                }
                else
                {
                    client = new MysqlDbClient(conn);
                }

                KnownClients[id] = client;
                return(client);
            }
        }
Example #2
0
        public static IDbClient GetClient(string dbName, DatabaseType databaseType, string connectionString = null)
        {
            ArgAssert.NotNullOrEmpty(dbName, "dbName");

            var id     = new DbIdentity(dbName, databaseType);
            var client = KnownClients.GetOrAdd(id, x =>
            {
                var conn = connectionString ?? GetConnectionString(dbName, databaseType);
                return(databaseType == DatabaseType.MySql
                    ? (IDbClient) new MysqlDbClient(conn)
                    : (IDbClient) new SqlDbClient(conn));
            });

            return(client);
        }
Example #3
0
        public static DbIdentity AddDbIdentity()
        {
            var m = new DbIdentity
            {
                Identity = 2,
                UniqueId = Guid.NewGuid()
            };

            var bll = new DbIdentityBll();

            for (var i = 0; i < 5; i++)
            {
                bll.Insert(m);
                if (m.Id > 0)
                {
                    return(m);
                }
            }

            throw new Exception("数据库标识插入失败,请联系管理员");
        }
Example #4
0
        public async Task <OperationDetails> Create(UserDTO userDto)
        {
            try
            {
                User user = await DbIdentity.UserManager.FindByEmailAsync(userDto.Email);

                if (user == null)
                {
                    user = new User {
                        Email = userDto.Email, UserName = userDto.Email
                    };
                    var result = await DbIdentity.UserManager.CreateAsync(user, userDto.Password);

                    if (result.Errors.Any())
                    {
                        return(new OperationDetails(false, result.Errors.FirstOrDefault(), ""));
                    }
                    // добавляем роль
                    await DbIdentity.UserManager.AddToRoleAsync(user.Id, userDto.Role);

                    // создаем профиль клиента
                    UserProfile clientProfile = new UserProfile {
                        Id = user.Id
                    };
                    DbAuction.UserProfile.Create(clientProfile);
                    await DbIdentity.SaveAsync();

                    return(new OperationDetails(true, "Регистрация успешно пройдена", ""));
                }
                else
                {
                    return(new OperationDetails(false, "Пользователь с таким логином уже существует", "Email"));
                }
            }
            catch (EntityException ex)
            {
                throw new Exception(ex.Message);
            }
        }
Example #5
0
 public void Dispose()
 {
     DbIdentity.Dispose();
 }