public async Task <List <Fee> > GetListFee(int start, int end) { try { List <Fee> fees = new List <Fee>(); using (var financial = new FinancialSoapClient()) { var response = await financial.GetFeeByRangeAsync(start, end); var data = response.Body.GetFeeByRangeResult; foreach (var i in data) { fees.Add(new Fee { Day = i.Day, Fees = i.Fees.ToDictionary(x => x.GameId, x => x.Fee) }); } } fees.Reverse(); return(fees); } catch (Exception ex) { NLogManager.PublishException(ex); } return(null); }
public async Task <dynamic> GetVIP(bool getAllInfo = false) { try { var accountId = AccountSession.AccountID; var vipRankConfig = AccountDAO.GetVIPRankConfig(); #region Tinh VP int vp = 0; using (var financial = new FinancialSoapClient()) { vp = await financial.GetAccountVIPPointAsync(accountId); } #endregion var data = AccountDAO.CheckVIP(accountId, vp, out int rank); // list phan thuong da nhan if (getAllInfo) { var vipReward = from config in vipRankConfig join item in data.DefaultIfEmpty() on config.Rank equals item?.Rank into results from result in results.DefaultIfEmpty() select new { config.Rank, config.Reward, Status = result?.Status ?? false, }; return(new { CurrentRank = rank, CurrentVP = vp, RewardList = vipReward }); } else { var nextVP = 0; if (vipRankConfig != null) { nextVP = vipRankConfig.FirstOrDefault(x => (x.Rank == (rank + 1))).VP; } return(new { CurrentRank = rank, CurrentVP = vp, NextVP = nextVP }); } } catch (Exception ex) { NLogManager.PublishException(ex); } return(null); }
public async Task <dynamic> GetListTransAccount(long gameAccountId, int from, int to) { try { var data = new List <RewardInfoItemVM>(); // Rate giao dich cua tung tai khoan voi dai ly hien tai var rates = AgencyDAO.GetAccountTransactionRateDetail(gameAccountId, from, to); if (!rates.Any()) { return(data); } string list = string.Empty; foreach (var item in rates) { list += item.AccountId.ToString() + ";" + item.CreatedDateInt.ToString() + ","; } list = list.TrimEnd(','); // Luong tien cua cac tai khoan giao dich voi dai ly hien tai var accountMoney = new List <AccountMoneyFlow>(); using (var financial = new FinancialSoapClient()) { var response = await financial.GetAccountsMoneyStreamAsync(list); var accountMoneyStreams = response.Body.GetAccountsMoneyStreamResult; if (accountMoneyStreams.Length < 1) { return(data); } foreach (var i in accountMoneyStreams) { accountMoney.Add(new AccountMoneyFlow { AccountId = i.AccountId, CreatedDateInt = i.CreatedDateInt, Money = i.Money }); } } var linq = (from rate in rates join account in accountMoney on new { rate.AccountId, rate.CreatedDateInt } equals new { account.AccountId, account.CreatedDateInt } into accountRates from accountRate in accountRates select new AccountMoneyStreamDetailVM { AccountId = rate.AccountId, DisplayName = rate.DisplayName, CreatedDateInt = rate.CreatedDateInt, Money = (long)(rate.Rate * accountRate.Money), }); var result = linq.GroupBy(x => new { x.AccountId, x.DisplayName }).Select(t => new AccountMoneyFlowDetail { AccountId = t.Key.AccountId, DisplayName = t.Key.DisplayName, TotalMoney = t.Sum(i => i.Money) }); return(result); } catch (Exception ex) { NLogManager.PublishException(ex); } return(null); }