Esempio n. 1
0
        public void UpdateUserBalance(UserBalance entity)
        {
            var maxTime     = 3;
            var currentTime = 0;

            while (currentTime < maxTime)
            {
                try
                {
                    this.Update <UserBalance>(entity);
                    break;
                }
                catch (StaleObjectStateException ex)
                {
                    //throw new Exception("资金处理错误,请重试", ex);
                }
                catch (Exception ex)
                {
                    var writer = Common.Log.LogWriterGetter.GetLogWriter();
                    writer.Write("ERROR_UserBalanceManager", "_UpdateUserBalance", Common.Log.LogType.Error, "更新用户资金问题出错", ex.ToString());
                    //throw new Exception("资金处理错误,请重试", ex);
                }

                currentTime++;
                Thread.Sleep(1000);
            }
        }
        public async Task <bool> GetData(string msisdn)
        {
            try
            {
                Tools.Tools.SetProgressIndicator(true);
                SystemTray.ProgressIndicator.Text = "fetching data";
                var client = new VikingsApi();
                OAuthUtility.ComputeHash = (key, buffer) =>
                {
                    using (var hmac = new HMACSHA1(key))
                    {
                        return(hmac.ComputeHash(buffer));
                    }
                };
                string json = await client.GetInfo(new AccessToken((string)IsolatedStorageSettings.ApplicationSettings["tokenKey"], (string)IsolatedStorageSettings.ApplicationSettings["tokenSecret"]), client.Balance, new KeyValuePair { name = "msisdn", content = msisdn });

                if (Error.HandleError(json, "there seems to be no connection"))
                {
                    return(false);
                }
                Tools.Tools.SetProgressIndicator(false);
                Balance = new UserBalance(json);
                return(true);
            }
            catch (Exception)
            {
                Message.ShowToast("Could not load bundle info, please try again later");
                return(false);
            }
        }
        /// <summary>
        /// 取得最后一笔充值成功记录
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static UserBalance GetLastRecharge(CardInfoParam param)
        {
            RechargeFactory factory = new RechargeFactory();

            try
            {
                if (param == null)
                {
                    throw new Exception("Param is null");
                }
                UserBalance userBalance = new UserBalance();
                WxOrder     wxOrder     = factory.GetLastRecharge(param);
                //if (wxOrder == null) throw new Exception("DAL.WeChat.RechargeFactory.GetLastRecharge()==null");
                userBalance.lastOrder = wxOrder;
                return(userBalance);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(new Log()
                {
                    message = ex.Message
                }, "GetLastRecharge");
                throw ex;
            }
        }
        public async Task ShouldNotBeAbleToWithdrawMoreThanBalance()
        {
            var walletAddress = "1234";
            var userId        = 1111;

            double withdrawAmount = 6;

            var walletUser  = new WalletUser(walletAddress, userId);
            var userBalance = new UserBalance {
                Balance = 5
            };

            var chat = new Chat {
                Id = 123456789
            };

            _walletUserRepositoryMock.Setup(x => x.GetByUserId(userId)).Returns(walletUser);
            _userBalanceRepositoryMock.Setup(x => x.Get(userId)).ReturnsAsync(userBalance);

            await _sut.Handle(chat, userId, withdrawAmount);

            _botServiceMock.Verify(x => x.SendTextMessage(chat.Id,
                                                          string.Format(ReplyConstants.InsufficientBalance, userBalance.Balance.RoundMetahashHash(), withdrawAmount.RoundMetahashHash())
                                                          , It.IsAny <IReplyMarkup>()));
            _botServiceMock.VerifyNoOtherCalls();
            _withdrawalRepositoryMock.VerifyNoOtherCalls();
            _mhcHttpClientMock.VerifyNoOtherCalls();
        }
        public async Task ShouldCreateAndRetrieveTableRecord()
        {
            var tableName = "integration";
            await _sut.DeleteTableAsync(tableName);

            await _sut.CreateTableAsync(tableName);

            var userId = 123;

            var userBalanceEntity = await _sut.Retrieve <UserBalance>(tableName, AzureTableConstants.UserBalance.PartitionKeyName, userId.ToString());

            Assert.IsNull(userBalanceEntity);

            userBalanceEntity = new UserBalance(userId)
            {
                Balance = 1000, Address = "address", DefaultTipAmount = 5
            };

            userBalanceEntity = await _sut.InsertOrMergeEntity(tableName, userBalanceEntity);

            var savedUserBalanceEntity = await _sut.Retrieve <UserBalance>(tableName, AzureTableConstants.UserBalance.PartitionKeyName, userId.ToString());

            Assert.IsNotNull(savedUserBalanceEntity);

            Assert.AreEqual(userBalanceEntity.PartitionKey, savedUserBalanceEntity.PartitionKey);
            Assert.AreEqual(userBalanceEntity.RowKey, savedUserBalanceEntity.RowKey);
            Assert.AreEqual(userBalanceEntity.Balance, savedUserBalanceEntity.Balance);
            Assert.AreEqual(userBalanceEntity.Address, savedUserBalanceEntity.Address);
            Assert.AreEqual(userBalanceEntity.DefaultTipAmount, savedUserBalanceEntity.DefaultTipAmount);
        }
Esempio n. 6
0
        public async Task <OutUserDTO> Save(InUserCreateDTO userDTO)
        {
            _personValidate.ValidateExistPerson(userDTO.Person);

            _userValidate.ValidateExistUser(userDTO);

            var user = BuildUser(userDTO);

            var userBalance = new UserBalance()
            {
                UserId          = user.UserId,
                Principal       = true,
                PermissionAdmin = true,
                Balance         = new Balance()
                {
                    CurrencyId = (int)eCurrencies.EURO,
                    StatusId   = (int)eStatuses.ACTIVE,
                    Amount     = 0,
                    CreatedAt  = DateTime.UtcNow
                },
                User = user
            };

            await _userBalance.Save(userBalance);

            return(BuildUserDTO(userBalance.User));
        }
        public void GetBalanceById()
        {
            try
            {
                var options = CreateNewContextOptions();
                using (var db = new EntireMoneyProcessingContext(options))
                {
                    ProcessingTestHelper.PopulateDefaultMoneyCtx(db);
                }

                using (var db = new EntireMoneyProcessingContext(options))
                {
                    var repository = new SystemMoneyProcessing(db);
                    //IocHelper.GetObject<ISystemMoneyProcessing>(db);


                    var         user   = db.Set <User>().First();
                    UserBalance result = null;
                    Assert.DoesNotThrow(() => result = repository.GetUserBalance(user.Id));
                    Assert.NotNull(result);
                }
            }
            catch (Exception ex)
            {
                LogEventManager.Logger.Error(ex);
                throw;
            }
        }
Esempio n. 8
0
        public async Task ShouldNotMultiplyWithUserDefaultTipAmount()
        {
            var tipAmount = 2;
            var text      = $"!tip {tipAmount}";

            var senderUserId   = 1111;
            var receiverUserId = 9999;

            var senderBalance = new UserBalance {
                Balance = 20, DefaultTipAmount = 10
            };
            var receiverBalance = new UserBalance()
            {
                Balance = 5
            };

            _userBalanceRepository.Setup(x => x.Get(senderUserId)).ReturnsAsync(senderBalance);
            _userBalanceRepository.Setup(x => x.Get(receiverUserId)).ReturnsAsync(receiverBalance);

            var amount = await _sut.TryTip(text, senderUserId, receiverUserId);

            Assert.AreEqual(tipAmount, amount);
            Assert.AreEqual(20 - tipAmount, senderBalance.Balance);
            Assert.AreEqual(5 + tipAmount, receiverBalance.Balance);
        }
Esempio n. 9
0
        public async Task ShouldSettleTotalTipGivenAndReceived()
        {
            var senderUserId   = 1111;
            var receiverUserId = 9999;
            var tipAmount      = 12;

            var senderUserBalance = new UserBalance {
                Balance = 1000, TotalTipsGiven = 10.2, TotalTipsReceived = 4.6
            };
            var receiverUserBalance = new UserBalance {
                Balance = 30.20, TotalTipsGiven = 409.5, TotalTipsReceived = 300.984
            };

            _userBalanceRepository.Setup(x => x.Get(senderUserId)).ReturnsAsync(senderUserBalance);
            _userBalanceRepository.Setup(x => x.Get(receiverUserId)).ReturnsAsync(receiverUserBalance);

            var amount = await _sut.TryTip($"!tip {tipAmount}", senderUserId, receiverUserId);

            Assert.AreEqual(1000 - amount, senderUserBalance.Balance);
            Assert.AreEqual(10.2 + amount, senderUserBalance.TotalTipsGiven);
            Assert.AreEqual(4.6, senderUserBalance.TotalTipsReceived);

            Assert.AreEqual(30.20 + amount, receiverUserBalance.Balance);
            Assert.AreEqual(409.5, receiverUserBalance.TotalTipsGiven);
            Assert.AreEqual(300.984 + amount, receiverUserBalance.TotalTipsReceived);
        }
Esempio n. 10
0
        public async Task <UserBalance> UpdateUserBalanceAsync(Guid userId, Guid transactionId, decimal amount, DateTime updateDate)
        {
            using var context = _contextFactory.Invoke();

            var user = new User()
            {
                Id = userId
            };

            var transaction = new Transaction()
            {
                Id = transactionId
            };

            context.Users.Attach(user);
            context.Transactions.Attach(transaction);

            var balance = new UserBalance()
            {
                Id            = Guid.NewGuid(),
                Amount        = amount,
                BalanceDate   = updateDate,
                User          = user,
                UserId        = userId,
                Transaction   = transaction,
                TransactionId = transactionId
            };

            context.UserBalances.Add(balance);
            await context.SaveChangesAsync();

            return(balance);
        }
Esempio n. 11
0
        public async Task <ServiceResponse <UserBalance> > UpdateBalance(UserBalance updatedBalance, string id)
        {
            ServiceResponse <UserBalance> serviceResponse = new ServiceResponse <UserBalance>();

            try {
                UserBalance userBalance = await _context.UserBalance.FirstAsync(s => s.user_id == id);

                if (updatedBalance.add > 0)
                {
                    userBalance.balance += updatedBalance.add;
                }
                if (updatedBalance.remove > 0)
                {
                    userBalance.balance -= updatedBalance.remove;
                }
                await _context.SaveChangesAsync();

                serviceResponse.Data = userBalance;
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }
            return(serviceResponse);
        }
        /// <summary>
        /// 根据卡号取得卡信息
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public static UserBalance GetBalance(CardInfoParam param)
        {
            RechargeFactory factory = new RechargeFactory();

            try
            {
                if (param == null)
                {
                    throw new Exception("Param is null");
                }
                UserBalance userBalance = factory.GetBalance(param);
                if (userBalance == null)
                {
                    throw new Exception("DAL.WeChat.RechargeFactory.GetBalance()==null");
                }
                return(userBalance);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(new Log()
                {
                    message = ex.Message
                }, "GetBalance");
                throw ex;
            }
        }
        public int Delete(int id)
        {
            UserBalance UserBalanceToDelete = this.context.UserBalances.SingleOrDefault(e => e.UserBalanceId == id);

            this.context.UserBalances.Remove(UserBalanceToDelete);

            return(this.context.SaveChanges());
        }
Esempio n. 14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ExamineRelationId = RequestData.Get <string>("ExamineRelationId");
            id = RequestData.Get <string>("id");
            if (!string.IsNullOrEmpty(id))
            {
                ubEnt = UserBalance.Find(id);
            }
            switch (RequestActionString)
            {
            case "AutoSave":
                if (!string.IsNullOrEmpty(RequestData.Get <string>("ToRoleCode")))
                {
                    ubEnt.ToRoleCode = RequestData.Get <string>("ToRoleCode");
                }
                if (!string.IsNullOrEmpty(RequestData.Get <string>("ToRoleName")))
                {
                    ubEnt.ToRoleName = RequestData.Get <string>("ToRoleName");
                }
                if (!string.IsNullOrEmpty(RequestData.Get <string>("ToUserId")))
                {
                    ubEnt.ToUserId = RequestData.Get <string>("ToUserId");
                }
                if (!string.IsNullOrEmpty(RequestData.Get <string>("ToUserName")))
                {
                    ubEnt.ToUserName = RequestData.Get <string>("ToUserName");
                }
                if (!string.IsNullOrEmpty(RequestData.Get <string>("Balance")))
                {
                    ubEnt.Balance = RequestData.Get <int>("Balance");
                }
                ubEnt.DoUpdate();
                break;

            case "delete":
                IList <string> ids = RequestData.GetList <string>("ids");
                foreach (string str in ids)
                {
                    ubEnt = UserBalance.Find(str);
                    ubEnt.DoDelete();
                }
                break;

            case "Create":
                ubEnt = new UserBalance();
                ubEnt.ExamineRelationId = RequestData.Get <string>("ExamineRelationId");
                ubEnt.RelationName      = RequestData.Get <string>("RelationName");
                ubEnt.SortIndex         = RequestData.Get <int>("SortIndex");
                ubEnt.DoCreate();
                PageState.Add("ubEnt", ubEnt);
                break;

            default:
                DoSelect();
                break;
            }
        }
        public int Update(UserBalance userBalance)
        {
            UserBalance userBalanceToUpdate = this.context.UserBalances.SingleOrDefault(e => e.UserBalanceId == userBalance.UserBalanceId);

            userBalanceToUpdate.Paid            = userBalance.Paid;
            userBalanceToUpdate.RemainingAcount = userBalance.RemainingAcount;

            return(this.context.SaveChanges());
        }
Esempio n. 16
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));
        }
Esempio n. 17
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);
        }
Esempio n. 18
0
        public ActionResult UpdateBalance(UserBalance m)
        {
            inject();

            var update = new Services.Account().UpdateAccountBalance(m.AccountNo, m.Balance);

            return(RedirectToAction("User1", new { userid = m.Id }));

            return(RedirectToAction("User1", new { userid = m.Id }));
        }
Esempio n. 19
0
        public async Task <IActionResult> UpdateBalance(UserBalance updatedBalance)
        {
            ServiceResponse <UserBalance> response = await _balanceService.UpdateBalance(updatedBalance, _jWTService.GetID());

            if (response.Data == null)
            {
                return(NotFound(response));
            }
            return(Ok(response));
        }
        // Room End -------------------------------------------------------------------

        public ActionResult UpdateCustomerBalance(int paid, int cid)
        {
            float remaining = 0;

            UserBalance ub = this.UserBalanceService.GetByCustomer(cid);

            remaining = ub.UserBalanceAmount - paid;


            return(Json(new { result = remaining }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 21
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);
        }
 public ActionResult EditUserBalance(UserBalance ub)
 {
     if (Session["logedIn"] == null)
     {
         return(Redirect("/unauthorized"));
     }
     ub.Paid            = ub.Paid;
     ub.RemainingAcount = ub.UserBalanceAmount - ub.Paid;
     this.UserBalanceService.Update(ub);
     return(Redirect("/Admin/DetailsUserBalance?id=" + ub.CustomerId));
 }
        public ActionResult CreateUser([FromBody] JsonElement body)
        {
            string json = JsonSerializer.Serialize(body);

            var userObejct = JsonSerializer.Deserialize <User>(json);

            var hashedPassword = passwordHash.HashPassword(userObejct.Password, null, false);

            var newUser = new User()
            {
                Email      = userObejct.Email,
                Name       = userObejct.Name,
                Phone      = userObejct.Phone,
                UserRole   = "U",
                Password   = hashedPassword,
                CreateBy   = 1,
                CreateDate = DateTime.Now,
                Active     = 1
            };

            try
            {
                _context.Users.Add(newUser);
                _context.SaveChanges();

                int userId = _context.Users
                             .Where(u => u.Email == userObejct.Email)
                             .Select(u => u.Id)
                             .SingleOrDefault();

                var newUserBalance = new UserBalance()
                {
                    UserId        = userId,
                    BalanceAmount = 0,
                    Active        = 1,
                    CreateBy      = 1,
                    CreateDate    = DateTime.Now
                };

                _context.UserBalances.Add(newUserBalance);
                _context.SaveChanges();
            }
            catch (DbUpdateException ex)
            {
                //This either returns a error string, or null if it can’t handle that error
                if (ex != null)
                {
                    return(BadRequest(ex.ToString())); //return the error string
                }
                throw;                                 //couldn’t handle that error, so rethrow
            }

            return(Ok(new { result = "OK" }));
        }
Esempio n. 24
0
        public UserInfoViewModel getInfoMapping(ApplicationUser user)
        {
            List <Service>         services             = helper.getUserServices(user.Id);
            List <Service>         activeSerives        = helper.getServicesFiltered(services, CoreController.ServiceStatus.Active.ToString());
            List <Service>         doneServices         = helper.getServicesFiltered(services, CoreController.ServiceStatus.Done.ToString());
            var                    userManager          = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));
            List <UserWorkBinding> userWork             = db.UserWorkBindings.Where(a => a.UserId.Equals(user.Id)).Include("UserWork").ToList();
            double                 speed                = UserHelperLibrary.ServiceProviderSpeed(helper.findUser(user.Id), doneServices.Count);
            double                 avg                  = UserHelperLibrary.ServiceProviderAvgServices(helper.findUser(user.Id), services.Count);
            UserBalance            balance              = helper.getUserBalance(user);
            DateTime               dateOfTheLastService = doneServices.Count > 0? doneServices.OrderBy(a => a.LastModificationDate).FirstOrDefault().LastModificationDate:user.CreationDate;

            return(new UserInfoViewModel
            {
                Email = user.Email,
                Age = user.Age,
                Country = user.Country,
                CreationDate = user.CreationDate,
                JobDescription = user.JobDescription,
                JoiningDate = user.JoiningDate,
                Name = user.Name,
                MartialStatus = user.MartialStatus,
                PictureId = user.PictureId,
                Sex = user.Sex,
                Status = user.Status,
                Type = user.Type,
                phoneNumber = user.PhoneNumber,
                PersonalDescription = user.PersonalDescription,
                FireBaseId = user.FireBaseId,
                Id = user.Id,
                HasRegistered = user.verifiedInterpreter,
                UserWorks = userWork.Select(a => a.UserWork).ToList(),
                NumberOfActiveServices = activeSerives.Count(),
                NumberOfDoneServices = doneServices.Count(),
                Speed = speed < 1 ? 1 : speed,
                AvgServicesInOneDay = avg == 0 ? 1 : avg,
                UserRoles = userManager.GetRoles(user.Id).ToList(),
                SocialStatus = user.SocialState,
                ImageUrl = user.imageUrl,
                SocialToken = user.SocialToken,
                TotalBalance = balance.TransferedBalance,
                AvailableBalance = balance.DoneBalance,
                SuspendedBalance = balance.SuspendedBalance,
                CompetitionBalance = balance.CompetitionBalance,
                PointsBalance = user.PointsBalance,
                UserSpecialCode = user.UserSpecialCode,
                UserName = user.UserName,
                VerifiedUser = user.verifiedInterpreter,
                ServiceProviderPoints = user.ServiceProviderPoints,
                dateOfLastService = dateOfTheLastService,
                rank = user.rank
            });
        }
Esempio n. 25
0
        public void GetPositive_DataCorrect_GotOne()
        {
            var user = UserFaker.Create();

            var amount = Rand.SmallDecimal();

            UserBalanceFaker.Create(user, amount);

            var balances = UserBalance.GetPositive(user);

            Assert.AreEqual(amount, balances[0].balance);
        }
Esempio n. 26
0
        public IActionResult Balance(IFormCollection Form)
        {
            string      userID   = Form["user_id"];
            User        u        = _pokerContext.User.Where(u => u.SlackID.Equals(userID)).FirstOrDefault();
            UserBalance balance  = _pokerContext.UserBalance.Where(b => b.UserID == u.ID).FirstOrDefault();
            var         sessions = _pokerRepo.UpdateBalances();

            Console.WriteLine(u.RealName + " has requested their balance.");
            if (sessions == null)
            {
                string gameOnText = "There is a game going on so your balance may not be accurate.";
                _slackClient.PostAPIMessage(
                    text: gameOnText,
                    channel: userID
                    );
            }
            var balances = _pokerRepo.GetUserBalances();

            try
            {
                foreach (Session s in sessions)
                {
                    var b     = balances.Where(b => b.UserID == s.UserID).FirstOrDefault();
                    var text2 = "Poker Session Total: " + s.Chips.ToString() + " Balance: " + b.Balance;
                    _slackClient.PostAPIMessage(
                        text: text2,
                        channel: s.User.SlackID
                        );
                }
            }
            catch
            {
            }
            string text = "";

            try
            {
                text = "Your balance is: " + balance.Balance;
            }
            catch
            {
                text = "You have never played in a cash game.";
            }
            _slackClient.PostAPIMessage(
                text: text,
                channel: userID
                );


            return(new EmptyResult());
        }
Esempio n. 27
0
        public ActionResult UpdateBalance(string userid)
        {
            inject();

            var         user        = _context.tblAccounts.Where(a => a.userId == userid).SingleOrDefault();
            UserBalance userBalance = new UserBalance
            {
                AccountNo = user.acctNo,
                Balance   = Convert.ToDecimal(user.ActiveAmount),
                Id        = user.userId
            };

            return(PartialView("_UserCredit", userBalance));
        }
Esempio n. 28
0
        public static void SaveTile(bool failed, UserBalance balance, string backcontent)
        {
            var i = 0;

            while (i < 5)
            {
                try
                {
                    var color = (bool)IsolatedStorageSettings.ApplicationSettings["tileAccentColor"]
                        ? (SolidColorBrush)Application.Current.Resources["TransparentBrush"]
                        : new SolidColorBrush(new Color {
                        A = 255, R = 150, G = 8, B = 8
                    });
                    BackTile customBackTile;
                    if (failed)
                    {
                        customBackTile = new BackTile(color, backcontent, string.Empty, string.Empty, string.Empty,
                                                      string.Empty);
                    }
                    else if (balance.Data != null)
                    {
                        customBackTile = new BackTile(color, balance.Credit, balance.Data, balance.Sms,
                                                      balance.VikingSms, balance.VikingMinutes);
                    }
                    else
                    {
                        customBackTile = new BackTile(color, balance.Credit, "0 MB", "0 SMS", balance.VikingMinutes,
                                                      string.Empty);
                    }
                    if (!Helper.SaveElement(customBackTile, Tile.Back))
                    {
                        i++;
                        continue;
                    }
                }
                catch (Exception)
                {
                    i++;
                    if (i == 5)
                    {
                        return;
                    }
                }
                i = 5;
            }
        }
Esempio n. 29
0
        public static void SaveTile(bool failed, UserBalance balance)
        {
            var i = 0;

            while (i < 5)
            {
                try
                {
                    var color = (bool)IsolatedStorageSettings.ApplicationSettings["tileAccentColor"]
                        ? (SolidColorBrush)Application.Current.Resources["TransparentBrush"]
                        : new SolidColorBrush(new Color {
                        A = 255, R = 150, G = 8, B = 8
                    });
                    FrontTile customFrontTile;
                    if (failed)
                    {
                        customFrontTile = new FrontTile(color, "?");
                    }
                    else if (balance.Data != null)
                    {
                        customFrontTile = new FrontTile(color, string.IsNullOrWhiteSpace(balance.Remaining.ToString()) ? "?" : balance.Remaining.ToString());
                    }
                    else
                    {
                        customFrontTile = new FrontTile(color, "0");
                    }
                    if (!Helper.SaveElement(customFrontTile, Tile.Front))
                    {
                        i++;
                        continue;
                    }
                }
                catch (Exception)
                {
                    i++;
                    if (i == 5)
                    {
                        return;
                    }
                    continue;
                }
                i = 5;
            }
        }
Esempio n. 30
0
        public async Task ShouldValidateToZeroWhenBalanceIsInsufficient(string text, int tipAmount)
        {
            var senderUserId   = 1111;
            var receiverUserId = 9999;

            var senderBalance = new UserBalance {
                Balance = 1
            };
            var receiverBalance = new UserBalance();

            _userBalanceRepository.Setup(x => x.Get(senderUserId)).ReturnsAsync(senderBalance);
            _userBalanceRepository.Setup(x => x.Get(receiverUserId)).ReturnsAsync(receiverBalance);

            var amount = await _sut.TryTip(text, senderUserId, receiverUserId);

            Assert.AreEqual(tipAmount, amount);
            Assert.AreEqual(1, senderBalance.Balance);
            Assert.AreEqual(0, receiverBalance.Balance);
        }
Esempio n. 31
0
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        if (CurrentCountDown > 0)
        {
            CurrentCountDown = CurrentCountDown - 1;
            Label1.Text = CurrentCountDown.ToString();
            if (CurrentCountDown == 0)
            {
                //btnDone.Enabled = true;
                // User daily link click ins/upd
                // userbalance upd/ins
                // ins usertransactionhistory
                using (TheFacade facade = new TheFacade())
                {
                    UserDailyLinkClick userDailyLinkClickOld = facade.AdvertiseFacade.GetUserDailyLinkClickToday(DateTime.Now.Date,CurrentUserID);
                    if (userDailyLinkClickOld == null || userDailyLinkClickOld.IID <= 0)
                    {
                        UserDailyLinkClick userDailyLinkClick = new UserDailyLinkClick();
                        userDailyLinkClick.UserID = CurrentUserID;
                        userDailyLinkClick.ClickCount = 1;
                        userDailyLinkClick.Date = DateTime.Now;
                        facade.Insert<UserDailyLinkClick>(userDailyLinkClick);
                    }
                    else
                    {
                        int click = userDailyLinkClickOld.ClickCount;
                        userDailyLinkClickOld.ClickCount=click+1;
                        facade.Update<UserDailyLinkClick>(userDailyLinkClickOld);
                    }

                    decimal Amount = Convert.ToDecimal(0.05);
                    decimal sponsorAmount = (Amount * 5) / 100;
                    decimal actualAmount=Amount-sponsorAmount;
                    UserBalance userBalanceOld = facade.AdvertiseFacade.GetUserBalanceByUserID(CurrentUserID);
                    if (userBalanceOld == null)
                    {
                        UserBalance userBalance = new UserBalance();
                        userBalance.Amount = actualAmount;
                        userBalance.UserID = CurrentUserID;
                        facade.Insert<UserBalance>(userBalance);
                    }
                    else
                    {
                        userBalanceOld.Amount = userBalanceOld.Amount + actualAmount;
                        facade.Update<UserBalance>(userBalanceOld);
                    }

                    UserTransactionHistory userTransactionHistory = new UserTransactionHistory();
                    userTransactionHistory.UserID = CurrentUserID;
                    userTransactionHistory.UserTransactionTypeID = Convert.ToInt32(EnumHelper.UserTransactionType.Click);
                    userTransactionHistory.Amount = actualAmount ;
                    userTransactionHistory.ActualAmount = Amount;
                    userTransactionHistory.Date = DateTime.Now;
                    userTransactionHistory.Description = "You have received $"+actualAmount.ToString()+" for clicking a advetrisement";
                    userTransactionHistory.Status = 1;
                    userTransactionHistory.TAXAmount = 0;
                    Guid TransactionKey = System.Guid.NewGuid();

                    userTransactionHistory.TransactionKey = TransactionKey;

                    facade.Insert<UserTransactionHistory>(userTransactionHistory);

                    SystemUser user = facade.TanviFacade.GetSystemUserById(CurrentUserID);

                    UserTransactionHistory userTransactionHistory2 = new UserTransactionHistory();
                    userTransactionHistory2.UserID = user.SponsorID.Value;
                    userTransactionHistory2.UserTransactionTypeID = Convert.ToInt32(EnumHelper.UserTransactionType.Sponsor);
                    userTransactionHistory2.Amount = sponsorAmount;
                    userTransactionHistory2.ActualAmount = sponsorAmount;
                    userTransactionHistory2.Date = DateTime.Now;
                    userTransactionHistory2.Description = "You have received $" + sponsorAmount.ToString() + " sponsor amount for clicking a advetrisement of your sponsored user";
                    userTransactionHistory2.Status = 1;
                    userTransactionHistory2.TAXAmount = 0;
                    userTransactionHistory2.TransactionKey = TransactionKey;

                    facade.Insert<UserTransactionHistory>(userTransactionHistory2);
                    UserBalance sponsorUserBalance = facade.AdvertiseFacade.GetUserBalanceByUserID(user.SponsorID.Value);
                    if (sponsorUserBalance == null)
                    {
                        sponsorUserBalance = new UserBalance();
                        sponsorUserBalance.Amount = sponsorAmount;
                        sponsorUserBalance.UserID = user.SponsorID.Value;
                        facade.Insert<UserBalance>(sponsorUserBalance);
                    }
                    else
                    {
                        sponsorUserBalance.Amount = sponsorUserBalance.Amount + sponsorAmount;
                        facade.Update<UserBalance>(sponsorUserBalance);
                    }

                    Label1.Text = "Done";
                    Timer1.Enabled = false;
                    Response.Redirect("~/Advertise/ClickAdd.aspx");
                }

            }
        }
    }