public CreateDatabaseTests()
 {
     _settings          = StoreSettings.DefaultSettings();
     _settings.Database = Guid.NewGuid().ToString();
     _service           = AdminServiceFactory.Create(_settings);
     _client            = new MongoClient(_settings.ConnectionString);
 }
        public static void AddIdentityServer(this IServiceCollection services, string idsConnectionString)
        {
            StoreSettings idSvrStoreSettings = StoreSettings.DefaultSettings();

            idSvrStoreSettings.ConnectionString = idsConnectionString;
            idSvrStoreSettings.Database         = MongoUrl.Create(idSvrStoreSettings.ConnectionString).DatabaseName;
            services.AddInstance(idSvrStoreSettings);
            services.AddInstance(AdminServiceFactory.CreateClientService(idSvrStoreSettings));
            services.AddInstance(AdminServiceFactory.CreateScopeService(idSvrStoreSettings));
        }
示例#3
0
        public LoginServiceMessage Login(UserLoginDTO userLoginDTO)
        {
            string         message   = "Successful login";
            bool           success   = true;
            LoginType      loginType = LoginType.NoLogin;
            ServiceFactory factory   = null;

            string login    = userLoginDTO.Login;
            string password = userLoginDTO.Password;

            string hashedPassword = encryptor.Encrypt(password);

            try
            {
                unitOfWork.Reconnect(login, hashedPassword);

                UserEntity userEntity = unitOfWork.Users.GetAll(user => user.Login == login).FirstOrDefault();
                string     roleName   = userEntity.Role.Name;

                switch (roleName)
                {
                case "Superuser":
                    factory   = new SuperuserServiceFactory(login, hashedPassword);
                    loginType = LoginType.Superuser;
                    break;

                case "Admin":
                    factory   = new AdminServiceFactory(login, hashedPassword);
                    loginType = LoginType.Admin;
                    break;

                case "Analytic":
                    factory   = new AnalyticServiceFactory(login, hashedPassword);
                    loginType = LoginType.Analytic;
                    break;

                case "Bookmaker":
                    factory   = new BookmakerServiceFactory(login, hashedPassword);
                    loginType = LoginType.Bookmaker;
                    break;

                case "Client":
                    factory   = new ClientServiceFactory(login, hashedPassword);
                    loginType = LoginType.Client;
                    break;

                default:
                    break;
                }

                Session.CurrentUserLogin          = login;
                Session.CurrentUserHashedPassword = hashedPassword;
            }
            catch (Exception ex)
            {
                message = ExceptionMessageBuilder.BuildMessage(ex);
                success = false;
            }

            return(new LoginServiceMessage(factory, loginType, message, success));
        }