Exemplo n.º 1
0
        public static UserBalance Create(
            UserModel user = null, decimal amount = 0, CurrencyType currencyType = CurrencyType.BitCoin
            )
        {
            user = user ?? UserFaker.Create();
            var id = UserBalance.Create(user, currencyType, amount);

            return(UserBalanceRepository.Find(id));
        }
Exemplo n.º 2
0
        public void Create_DataCorrect_BalanceCreated()
        {
            var user    = UserFaker.Create();
            var id      = UserBalance.Create(user, CurrencyType.BitCoin);
            var balance = UserBalance.Find(id);

            Assert.NotNull(balance);
            Assert.AreEqual(user.id, balance.User().id);
        }
Exemplo n.º 3
0
        public void Create_WithAmount_BalanceEquals()
        {
            var randomBalance = Rand.SmallDecimal();
            var user          = UserFaker.Create();
            var id            = UserBalance.Create(user, CurrencyType.BitCoin, randomBalance);
            var balance       = UserBalance.Find(id);

            Assert.NotNull(balance);
            Assert.AreEqual(user.id, balance.User().id);
            Assert.AreEqual(randomBalance, balance.balance);
        }
Exemplo n.º 4
0
        public static UserModel FindOrCreateByEmailAndLogin(
            string email, string login, string password = null, UserModel referral = null
            )
        {
            password ??= Rand.RandomString();

            var user = UserModel.FindByEmail(email);

            var loginUser = UserModel.FindByLogin(login);

            var baseLogin  = login;
            int postfixNum = 0;

            while (loginUser != null)
            {
                postfixNum++;
                login     = $"{baseLogin}_{postfixNum}";
                loginUser = UserModel.FindByLogin(login);
            }

            user ??= Create(email, login, password);

            UserBadge.Create(user, "Early adopter");

            int tokenRegisterBonus = System.Convert.ToInt32(
                AppConfig.GetConfiguration("user:registration:token_bonus")
                );

            if (tokenRegisterBonus > 0)
            {
                UserBalance.Create(user, CurrencyType.GitComToken, tokenRegisterBonus);
                FundingTransaction.Create(
                    user, user.id, EntityType.User, null, tokenRegisterBonus, CurrencyType.GitComToken
                    );
            }

            if (referral != null)
            {
                UserReferralRepository.Create(user, referral);
            }

            return(user);
        }
 public static UserBalance Create(UserModel user, CurrencyType currencyType, decimal setBalance = 0)
 {
     return(Find(UserBalance.Create(user, currencyType, setBalance)));
 }