Пример #1
0
        private GetPlayerPaymentAmountRequest HandleSearchPackage(SearchPackage searchPackage)
        {
            var queryFilter = new GetPlayerPaymentAmountRequest();

            foreach (var rule in searchPackage.AdvancedFilter.Rules)
            {
                switch (rule.Field)
                {
                case "TransactionType":
                    ParseTransactionTypeRule(searchPackage, rule, queryFilter);
                    break;

                case "ApproveDate":
                    ParseApproveDateRule(searchPackage, rule, queryFilter);
                    break;

                case "PaymentMethod":
                    ParsePaymentMethodRule(searchPackage, rule, queryFilter);
                    break;

                case "PlayerStatus":
                    ParsePlayerStatusRule(searchPackage, rule, queryFilter);
                    break;
                }
            }
            return(queryFilter);
        }
        public ActionResult VerifiedList(SearchPackage searchPackage)
        {
            var data = SearchOfflineWithdraws(
                searchPackage,
                obj => new[]
            {
                obj.PlayerBankAccount.Player.Username,
                obj.PlayerBankAccount.Bank.Brand.Name,
                obj.PlayerBankAccount.Bank.BankName,
                obj.TransactionNumber,
                obj.PlayerBankAccount.Province,
                obj.PlayerBankAccount.City,
                obj.PlayerBankAccount.Branch,
                obj.PlayerBankAccount.SwiftCode,
                obj.PlayerBankAccount.Address,
                obj.PlayerBankAccount.AccountName,
                obj.PlayerBankAccount.AccountNumber,
                obj.Amount.ToString(CultureInfo.InvariantCulture),
                obj.Created.ToString(CultureInfo.InvariantCulture),
                obj.CreatedBy,
                obj.Remarks
            },
                _service.GetWithdrawalsForAcceptance());

            return(new JsonResult
            {
                Data = data,
                MaxJsonLength = int.MaxValue,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #3
0
        protected object SearchData(SearchPackage searchPackage)
        {
            var query         = _gameQueries.GetGameDtos();
            var dataBuilder   = new SearchPackageDataBuilder <GameDTO>(searchPackage, query.AsQueryable());
            var gameProviders = _gameQueries.GetGameProviderDtos().ToList();


            dataBuilder
            .Map(game => game.Id,
                 game => new[]
            {
                gameProviders.FirstOrDefault(x => x.Id == game.ProductId) == null
                            ? string.Empty
                            : gameProviders.FirstOrDefault(x => x.Id == game.ProductId).Name,
                game.Name,
                game.Code,
                game.Type,
                game.Status,
                game.CreatedBy,
                Format.FormatDate(game.CreatedDate, false),
                game.UpdatedBy,
                Format.FormatDate(game.UpdatedDate, false),
            }
                 );
            return(dataBuilder.GetPageData(game => game.Id));
        }
Пример #4
0
        public async Task <SearchPackageResult> Data([FromUri] SearchPackage searchPackage, [FromUri] Guid playerId)
        {
            var player = _playerQueries.GetPlayer(playerId);

            CheckBrand(player.BrandId);

            var request         = Mapper.Map <FilteredDataRequest>(searchPackage);
            var filteredBonuses = await _bonusApiProxy.GetFilteredIssueBonusesAsync(new PlayerFilteredDataRequest
            {
                DataRequest = request,
                PlayerId    = playerId
            });

            var searchPackageResult = new SearchPackageResult
            {
                page    = filteredBonuses.Page,
                total   = filteredBonuses.Total,
                records = filteredBonuses.Records,
                rows    = filteredBonuses.Rows.Select(b => new SearchPackageResultRow
                {
                    id   = b.Id,
                    cell = new object[]
                    {
                        b.Name,
                        b.Code,
                        b.Type,
                        b.Status,
                        b.Description
                    }
                }).ToList()
            };

            return(searchPackageResult);
        }
        public ActionResult VerificationQueueList(SearchPackage searchPackage)
        {
            var data = SearchOfflineWithdraws(
                searchPackage,
                obj => new[]
            {
                obj.Id.ToString(),
                obj.PlayerBankAccount.Player.Id.ToString(),
                obj.PlayerBankAccount.Player.Username,
                obj.PlayerBankAccount.Player.FullName,
                obj.TransactionNumber,
                obj.PaymentMethod.ToString(),
                obj.PlayerBankAccount.Player.CurrencyCode,
                obj.Amount.ToString(CultureInfo.InvariantCulture),
                obj.Status == WithdrawalStatus.AutoVerificationFailed ? WithdrawalStatus.New.ToString() : obj.Status.ToString(),
                obj.AutoVerificationCheckStatus == null ? "-" : obj.AutoVerificationCheckStatus.ToString(),
                obj.RiskLevelStatus == null ? "-" : obj.RiskLevelStatus.ToString()
            },
                _service.GetWithdrawalsForVerificationQueue());

            return(new JsonResult
            {
                Data = data,
                MaxJsonLength = int.MaxValue,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #6
0
        public object List(SearchPackage searchPackage)
        {
            var licenseeFilterSelections = _adminQueries.GetLicenseeFilterSelections();
            var licensees   = _queries.GetAllLicensees().Where(x => licenseeFilterSelections.Contains(x.Id));
            var dataBuilder = new SearchPackageDataBuilder <Licensee>(searchPackage, licensees);

            dataBuilder.Map(license => license.Id, license => new object[]
            {
                license.Name,
                license.CompanyName,
                Format.FormatDate(license.ContractStart, false),
                license.ContractEnd == null ? "Open Ended" : Format.FormatDate(license.ContractEnd, false),
                Enum.GetName(typeof(LicenseeStatus), license.Status),
                license.CreatedBy,
                Format.FormatDate(license.DateCreated, false),
                license.UpdatedBy,
                Format.FormatDate(license.DateUpdated, false),
                license.ActivatedBy,
                Format.FormatDate(license.DateActivated, false),
                license.DeactivatedBy,
                Format.FormatDate(license.DateDeactivated, false),
                _queries.CanActivateLicensee(license),
                license.Remarks,
                _queries.CanRenewLicenseeContract(license)
            });

            var data = dataBuilder.GetPageData(license => license.Name);

            return(new JsonResult
            {
                Data = data,
                MaxJsonLength = int.MaxValue,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #7
0
        public SearchPackageResult SearchPlayersList([FromUri] SearchPackage searchPackage, [FromUri] SearchPlayersRequest request, [FromUri] Guid?id)
        {
            VerifyPermission(Permissions.Send, Modules.MassMessageTool);

            var dataBuilder = new SearchPackageDataBuilder <Core.Messaging.Interface.Data.Player>(
                searchPackage,
                _massMessageQueries.CreateMassMessagePlayerQuery(request));

            var recipients = id.HasValue
                ? _massMessageQueries.GetRecipients(id.Value).Select(x => x.Id).ToArray()
                : new Guid[] {};

            dataBuilder.SetFilterRule(x => x.BrandId, (value) => y => y.BrandId == new Guid(value))
            .Map(player => player.Id,
                 player => new object[]
            {
                player.Username,
                player.FirstName,
                player.LastName,
                player.Email,
                player.PhoneNumber,
                player.PaymentLevelName,
                player.VipLevelName,
                Enum.GetName(typeof(Status), player.IsActive ? Status.Active : Status.Inactive),
                Format.FormatDate(player.DateRegistered, false),
                recipients.Contains(player.Id)
            });

            return(dataBuilder.GetPageData(player => player.Username));
        }
Пример #8
0
        public SearchPackageResult GetBrands([FromUri] SearchPackage searchPackage)
        {
            VerifyPermission(Permissions.View, Modules.BrandManager);

            var brands = _brandQueries.GetFilteredBrands(_brandQueries.GetAllBrands(), UserId);

            var dataBuilder = new SearchPackageDataBuilder <Core.Brand.Interface.Data.Brand>(searchPackage, brands);

            dataBuilder.Map(brand => brand.Id, brand => new[]
            {
                brand.Code,
                brand.Name,
                brand.Licensee.Name,
                brand.Type.ToString(),
                brand.Status.ToString(),
                brand.PlayerPrefix,
                Enum.GetName(typeof(PlayerActivationMethod), brand.PlayerActivationMethod),
                brand.DefaultCulture ?? string.Empty,
                brand.CreatedBy,
                Format.FormatDate(brand.DateCreated, false),
                brand.Remarks,
                brand.UpdatedBy,
                Format.FormatDate(brand.DateUpdated, false),
                brand.ActivatedBy,
                Format.FormatDate(brand.DateActivated, false),
                brand.DeactivatedBy,
                Format.FormatDate(brand.DateDeactivated, false),
            });

            return(dataBuilder.GetPageData(brand => brand.Name));
        }
        public object List(SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <RiskProfileConfiguration>(
                searchPackage,
                _riskProfileCheckQueries.GetConfigurations()
                .Include(o => o.Brand)
                .Include(o => o.VipLevels));

            dataBuilder.SetFilterRule(x => x.Brand, value => p => p.Brand.Id == Guid.Parse(value))
            .Map(configuration => configuration.Id,
                 obj => new[]
            {
                obj.Brand.LicenseeName,
                obj.Brand.Name,
                obj.Currency,
                string.Join("\r\n", obj.VipLevels.Select(o => o.Name)),
                GetCriteriasString(obj),
                _securityRepository.Admins.Single(x => x.Id == obj.CreatedBy).Username,
                Format.FormatDate(obj.DateCreated, false)
            });
            var data = dataBuilder.GetPageData(configuration => configuration.Brand.Name);

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #10
0
        public IHttpActionResult TransactionsAdv([FromUri] SearchPackage searchPackage, Guid playerId)
        {
            var dataBuilder = new SearchPackageDataBuilder <PlayerTransactionRecord>(searchPackage, _reportQueries.GetPlayerTransactionRecords(playerId));

            return(Ok(dataBuilder
                      .Map(r => r.TransactionId, r => new object[]
            {
                r.Type,
                r.MainBalanceAmount,
                r.MainBalance,
                r.BonusBalanceAmount,
                r.BonusBalance,
                r.TemporaryBalanceAmount,
                r.TemporaryBalance,
                r.LockBonusAmount + r.LockFraudAmount + r.LockWithdrawalAmount,
                r.LockBonus + r.LockFraud + r.LockWithdrawal,
                //r.MainBalance + r.BonusBalance + r.TemporaryBalance,
                r.Balance,
                r.CreatedOn.ToString("yyyy/MM/dd HH:mm:ss zzz"),
                r.Wallet,
                r.CurrencyCode,
                r.Description,
                r.PerformedBy,
                //r.TransactionNumber
                r.TransactionId,
                r.RelatedTransactionId
            })
                      .GetPageData(r => r.TransactionId)));
        }
Пример #11
0
        public IHttpActionResult WithdrawTransactions([FromUri] SearchPackage searchPackage, Guid playerId)
        {
            var query = _paymentQueries.GetOfflineWithdraws()
                        .Where(x =>
                               x.PlayerBankAccount.Player.Id == playerId &&
                               (x.Status == WithdrawalStatus.New ||
                                x.Status == WithdrawalStatus.Approved ||
                                x.Status == WithdrawalStatus.AutoVerificationFailed ||
                                x.Status == WithdrawalStatus.Documents ||
                                x.Status == WithdrawalStatus.Investigation ||
                                x.Status == WithdrawalStatus.Accepted ||
                                x.Status == WithdrawalStatus.Unverified ||
                                x.Status == WithdrawalStatus.Rejected ||
                                x.Status == WithdrawalStatus.Verified ||
                                x.Status == WithdrawalStatus.Reverted ||
                                x.Status == WithdrawalStatus.Canceled));

            var dataBuilder = new SearchPackageDataBuilder <OfflineWithdraw>(searchPackage, query);

            dataBuilder = dataBuilder.SetFilterRule(x => x.PlayerBankAccount.Player.Id, value => p => p.PlayerBankAccount.Player.Id == new Guid(value));
            dataBuilder.Map(obj => obj.Id, od => new object[]
            {
                od.Created.ToString("yyyy/MM/dd HH:mm:ss zzz"),
                od.TransactionNumber,
                od.PlayerBankAccount.AccountNumber,
                Enum.GetName(typeof(PaymentMethod), od.PaymentMethod),
                od.Amount.ToString(CultureInfo.InvariantCulture),
                od.Status.ToString()
            });

            return(Ok(dataBuilder.GetPageData(obj => obj.Created)));
        }
Пример #12
0
        protected SearchPackageResult SearchData(SearchPackage searchPackage)
        {
            var brandFilterSelections = _adminQueries.GetBrandFilterSelections();
            var brandCountries        = _brandQueries.GetAllBrandCountries()
                                        .Where(x => brandFilterSelections.Contains(x.BrandId));

            var countries = brandCountries.Select(bc => new CountryViewModel
            {
                Code      = bc.Country.Code,
                Name      = bc.Country.Name,
                BrandId   = bc.BrandId,
                BrandName = bc.Brand.Name,
                DateAdded = bc.DateAdded,
                AddedBy   = bc.AddedBy
            }).AsQueryable();

            var dataBuilder = new SearchPackageDataBuilder <CountryViewModel>(searchPackage, countries);

            dataBuilder.Map(record => record.BrandId + "," + record.Code, record => new[]
            {
                record.Code,
                record.Name,
                record.BrandName,
                Format.FormatDate(record.DateAdded, false),
                record.AddedBy
            });

            return(dataBuilder.GetPageData(record => record.Code));
        }
Пример #13
0
        public IHttpActionResult List([FromUri] SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <Currency>(searchPackage,
                                                                      _paymentQueries.GetCurrencies());

            dataBuilder.Map(
                c => c.Code,
                c => new object[]
            {
                c.Code,
                c.Name,
                c.Status.ToString(),
                c.CreatedBy,
                Format.FormatDate(c.DateCreated, false),
                c.UpdatedBy,
                Format.FormatDate(c.DateUpdated, false),
                c.ActivatedBy,
                Format.FormatDate(c.DateActivated, false),
                c.DeactivatedBy,
                Format.FormatDate(c.DateDeactivated, false),
                c.Remarks
            });

            return(Ok(dataBuilder.GetPageData(c => c.Code)));
        }
Пример #14
0
        private object SearchWageringConfigurations(SearchPackage searchPackage)
        {
            var brandFilterSelections = _adminQueries.GetBrandFilterSelections();
            var wagerConfigurations   = _wagerConfigurationQueries.GetWagerConfigurations()
                                        .Where(x => brandFilterSelections.Contains(x.BrandId));

            var dataBuilder = new SearchPackageDataBuilder <WagerConfigurationDTO>(searchPackage, wagerConfigurations);

            dataBuilder
            .Map(wager => wager.Id.ToString(),
                 wager => new[]
            {
                _brandQueries.GetBrandOrNull(wager.BrandId).Licensee.Name,
                _brandQueries.GetBrandOrNull(wager.BrandId).Name,
                wager.Currency,
                wager.Status,
                wager.IsActive,
                wager.ActivatedBy.ToString(),
                wager.DateActivated == null ? null : Format.FormatDate(wager.DateActivated, false),
                wager.DeactivatedBy.ToString(),
                wager.DateDeactivated == null ? null : Format.FormatDate(wager.DateDeactivated, false),
                wager.CreatedBy.ToString(),
                Format.FormatDate(wager.DateCreated, false),
                wager.UpdatedBy.ToString(),
                wager.DateUpdated == null ? null : Format.FormatDate(wager.DateUpdated, false)
            }
                 );

            return(dataBuilder.GetPageData(walletTemplate => walletTemplate.DateCreated));
        }
        public ActionResult RequestedList(SearchPackage searchPackage)
        {
            var data = SearchOfflineDeposits(
                searchPackage,
                new[] { OfflineDepositStatus.New, OfflineDepositStatus.Unverified },
                obj =>
                new object[]
            {
                obj.Brand.LicenseeName,
                obj.Brand.Name,
                obj.Player.Username,
                obj.TransactionNumber,
                obj.BankAccount.AccountName,
                obj.BankAccount.AccountNumber,
                obj.BankReferenceNumber,
                obj.Amount.Format(),
                obj.BankAccount.AccountId,
                Enum.GetName(typeof(TransferType), obj.TransferType),
                Enum.GetName(typeof(DepositMethod), obj.DepositMethod),
                obj.CreatedBy,
                obj.Created.ToString("yyyy/MM/dd HH:mm:ss zzz")
            },
                _paymentQueries.GetOfflineDeposits());

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #16
0
        public JsonResult BrandData(SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <BrandRecord>(searchPackage, _queries.GetBrandRecords());
            var data        = dataBuilder
                              .Map(r => r.BrandId, r => new object[]
            {
                r.Licensee,
                r.BrandCode,
                r.Brand,
                r.BrandType,
                r.PlayerPrefix,
                r.AllowedInternalAccountsNumber,
                r.BrandStatus,
                r.BrandTimeZone,
                r.CreatedBy,
                r.Created,
                r.UpdatedBy,
                r.Updated,
                r.ActivatedBy,
                r.Activated,
                r.DeactivatedBy,
                r.Deactivated,
                r.Remarks
            })
                              .GetPageData(r => r.Created);

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
        public ActionResult ApproveList(SearchPackage searchPackage)
        {
            var data = SearchOfflineDeposits(
                searchPackage,
                new[] { OfflineDepositStatus.Verified },
                obj =>
                new[]
            {
                obj.Player.Username,
                obj.TransactionNumber,
                LabelHelper.LabelPaymentMethod(obj.PaymentMethod),
                obj.CurrencyCode,
                obj.Amount.ToString(CultureInfo.InvariantCulture),
                obj.Status.ToString(),
                obj.Brand.Name,
                obj.Created.ToString("yyyy/MM/dd HH:mm:ss zzz"),
                obj.VerifiedBy,
                obj.DepositType.ToString(),
                obj.BankAccount.AccountId,
                obj.BankAccount.Bank.BankName,
                obj.BankAccount.Province,
                obj.BankAccount.Branch,
                obj.BankAccount.AccountNumber,
                obj.BankAccount.AccountName
            },
                _paymentQueries.GetOfflineDeposits());

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #18
0
        public JsonResult LicenseeData(SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <LicenseeRecord>(searchPackage, _queries.GetLicenseeRecords());
            var data        = dataBuilder
                              .Map(r => r.LicenseeId, r => new object[]
            {
                r.Name,
                r.CompanyName,
                r.EmailAddress,
                r.AffiliateSystem,
                r.ContractStart,
                r.ContractEnd,
                r.Status,
                r.CreatedBy,
                r.Created,
                r.UpdatedBy,
                r.Updated,
                r.ActivatedBy,
                r.Activated,
                r.DeactivatedBy,
                r.Deactivated
            })
                              .GetPageData(r => r.Created);

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #19
0
        public IHttpActionResult List([FromUri] SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <Culture>(searchPackage, _brandQueries.GetCultures().ToArray().AsQueryable());

            dataBuilder.Map(
                c => c.Code,
                c => new object[]
            {
                c.Name,
                c.Code,
                c.NativeName,
                c.Status.ToString(),
                c.CreatedBy,
                Format.FormatDate(c.DateCreated, false),
                c.UpdatedBy,
                Format.FormatDate(c.DateUpdated, false),
                c.ActivatedBy,
                Format.FormatDate(c.DateActivated, false),
                c.DeactivatedBy,
                Format.FormatDate(c.DateDeactivated, false),
                _licenseeQueries.GetLicensees().Any(x => x.Cultures.Any(y => y.Code == c.Code))
            });

            return(Ok(dataBuilder.GetPageData(c => c.Code)));
        }
Пример #20
0
        public JsonResult LanguageData(SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <LanguageRecord>(searchPackage, _queries.GetLanguageRecords());
            var data        = dataBuilder
                              .Map(r => r.Code, r => new object[]
            {
                r.Code,
                r.Name,
                r.NativeName,
                r.Status,
                r.Licensee,
                r.Brand,
                r.CreatedBy,
                r.Created,
                r.UpdatedBy,
                r.Updated,
                r.ActivatedBy,
                r.Activated,
                r.DeactivatedBy,
                r.Deactivated
            })
                              .GetPageData(r => r.Created);

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #21
0
        public SearchPackageResult RecipientsList([FromUri] SearchPackage searchPackage, [FromUri] Guid?id)
        {
            VerifyPermission(Permissions.Send, Modules.MassMessageTool);

            var query = id.HasValue
                ? _massMessageQueries.GetRecipients(id.Value)
                : Enumerable.Empty <Core.Messaging.Interface.Data.Player>().AsQueryable();

            var dataBuilder = new SearchPackageDataBuilder <Core.Messaging.Interface.Data.Player>(
                searchPackage,
                query);

            dataBuilder.SetFilterRule(x => x.BrandId, (value) => y => y.BrandId == new Guid(value))
            .Map(player => player.Id,
                 player => new[]
            {
                player.Username,
                player.FirstName,
                player.LastName,
                player.Email,
                player.PhoneNumber,
                player.PaymentLevelName,
                player.VipLevelName,
                Enum.GetName(typeof(Status), player.IsActive ? Status.Active : Status.Inactive),
                Format.FormatDate(player.DateRegistered, false)
            });

            return(dataBuilder.GetPageData(player => player.Username));
        }
Пример #22
0
        public JsonResult VipLevelData(SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <VipLevelRecord>(searchPackage, _queries.GetVipLevelRecords());
            var data        = dataBuilder
                              .Map(r => r.VipLevelId, r => new object[]
            {
                r.Licensee,
                r.Brand,
                r.Code,
                r.Rank,
                r.Status,
                r.GameProvider,
                r.Currency,
                r.BetLevel,
                r.CreatedBy,
                r.Created,
                r.UpdatedBy,
                r.Updated,
                r.ActivatedBy,
                r.Activated,
                r.DeactivatedBy,
                r.Deactivated
            })
                              .GetPageData(r => r.Created);

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #23
0
        public ActionResult Search(SearchPackage searchPackage)
        {
            var brandFilterSelections = _adminQueries.GetBrandFilterSelections();

            var query = _queries.GetAll().Where(x => brandFilterSelections.Contains(x.BrandId));

            var dataBuilder = new SearchPackageDataBuilder <RiskLevel>(searchPackage, query);

            dataBuilder
            .SetFilterRule(x => x.Brand, (value) => x => x.BrandId == new Guid(value))
            .Map(x => x.Id, x => new object[]
            {
                x.Level,
                x.Name,
                x.Status,
                x.Brand.LicenseeName,
                x.Brand.Name,
                x.CreatedBy,
                Format.FormatDate(x.DateCreated, true),
                //x.UpdatedBy,
                //Format.FormatDate(x.DateUpdated, false),
                x.Description
            });
            var data = dataBuilder.GetPageData(x => x.Name);

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #24
0
        public static List <T> FilterAndOrder <T>(IQueryable <T> records, T filters, string sortColumnName, string sortOrder)
        {
            var filterDict = new Dictionary <string, string>();
            var fields     = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
            var keyField   = fields.First();

            foreach (var field in fields)
            {
                var filterValue            = field.GetMethod.Invoke(filters, new object[0]);
                var filterTypeDefaultValue = field.PropertyType.GetDefaultValue();
                if (filterValue != null &&
                    (filterTypeDefaultValue == null || filterValue.ToString() != filterTypeDefaultValue.ToString()))
                {
                    filterDict.Add(field.Name, filterValue.ToString());
                }
            }
            SearchPackage searchPackage = jqGridHelper.GetExportSearchPackage(filterDict, sortColumnName, sortOrder);

            var dataBuilder  = new SearchPackageDataBuilder <T>(searchPackage, records);
            var param        = Expression.Parameter(typeof(T), "r");
            var keyFieldExpr =
                Expression.Lambda <Func <T, object> >(
                    Expression.Convert(Expression.Property(param, keyField), typeof(object)),
                    param);
            var sortFieldExpr =
                Expression.Lambda <Func <T, object> >(
                    Expression.Convert(Expression.Property(param, sortColumnName ?? keyField.Name), typeof(object)),
                    param);

            return(dataBuilder
                   .Map(keyFieldExpr, r => fields.Select(f => f.GetMethod.Invoke(r, new object[0])).ToArray())
                   .GetExportResult(sortFieldExpr));
        }
        public ActionResult ReleaseList(SearchPackage searchPackage)
        {
            var data = SearchOfflineWithdraws(
                searchPackage,
                obj => new[]
            {
                obj.Id.ToString(),
                obj.PlayerBankAccount.Player.Id.ToString(),
                obj.PlayerBankAccount.Player.Username,
                obj.PlayerBankAccount.Player.FullName,
                obj.TransactionNumber,
                obj.PaymentMethod.ToString(),
                obj.PlayerBankAccount.Player.CurrencyCode,
                obj.Amount.ToString(CultureInfo.InvariantCulture),
                obj.Status.ToString()
            },
                _service.GetWithdrawalsAccepted());

            return(new JsonResult
            {
                Data = data,
                MaxJsonLength = int.MaxValue,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
        public IHttpActionResult GetContentTranslations([FromUri] SearchPackage searchPackage)
        {
            var dataBuilder = new SearchPackageDataBuilder <ContentTranslation>(searchPackage,
                                                                                _translationQueries.GetContentTranslations());

            var languageNames = _translationQueries.GetAllCultureCodes().ToDictionary(c => c.Code, c => c.Name);

            dataBuilder
            .Map(ct => ct.Id,
                 ct =>
                 new[]
            {
                ct.Name,
                languageNames[ct.Language],
                ct.Source,
                ct.Translation,
                ct.Status.ToString(),
                ct.CreatedBy,
                Format.FormatDate(ct.Created, false),
                ct.Remark,
                ct.UpdatedBy,
                Format.FormatDate(ct.Updated, false),
                ct.ActivatedBy,
                Format.FormatDate(ct.Activated, false),
                ct.DeactivatedBy,
                Format.FormatDate(ct.Deactivated, false),
            }
                 );
            return(Ok(dataBuilder.GetPageData(ct => ct.Name)));
        }
Пример #27
0
        public IHttpActionResult Data([FromUri] SearchPackage searchPackage)
        {
            VerifyPermission(Permissions.View, Modules.RoleManager);
            VerifyPermission(Permissions.View, Modules.AdminManager);

            return(Ok(SearchData(searchPackage)));
        }
Пример #28
0
        private SearchPackageResult SearchData(SearchPackage searchPackage)
        {
            var brandFilterSelections = _adminQueries.GetBrandFilterSelections();

            var paymentGatewaySettings = _paymentQueries.GetPaymentGatewaySettings()
                                         .Where(x => brandFilterSelections.Contains(x.BrandId));

            var dataBuilder = new SearchPackageDataBuilder <PaymentGatewaySettings>(searchPackage, paymentGatewaySettings);

            dataBuilder
            .SetFilterRule(x => x.Brand, (value) => p => p.Brand.Id == new Guid(value))
            .Map(settings => settings.Id,
                 settings =>
                 new object[]
            {
                settings.Brand.LicenseeName,
                settings.Brand.Name,
                settings.OnlinePaymentMethodName,
                settings.PaymentGatewayName,
                settings.Channel,
                Enum.GetName(typeof(Status), settings.Status),
                settings.CreatedBy,
                Format.FormatDate(settings.DateCreated, false),
                settings.UpdatedBy,
                Format.FormatDate(settings.DateUpdated, false),
                settings.ActivatedBy,
                Format.FormatDate(settings.DateActivated, false),
                settings.DeactivatedBy,
                Format.FormatDate(settings.DateDeactivated, false)
            }
                 );
            var data = dataBuilder.GetPageData(setting => setting.Brand.Name);

            return(data);
        }
Пример #29
0
        public ActionResult ApproveList(SearchPackage searchPackage)
        {
            var data = SearchDeposits(
                searchPackage,
                "Verified",
                obj =>
                new[]
            {
                obj.Licensee,
                obj.BrandName,
                obj.Username,
                obj.ReferenceCode,
                obj.PaymentMethod,
                obj.CurrencyCode,
                obj.Amount.ToString("0.00"),
                obj.UniqueDepositAmount.ToString("0.00"),
                obj.Status,
                obj.DateVerified.HasValue ? obj.DateVerified.Value.ToString("yyyy/MM/dd HH:mm:ss zzz") : "",
                obj.VerifiedBy,
                obj.DepositType.ToString(),
                obj.BankAccountId,
                obj.BankName,
                obj.BankProvince,
                obj.BankBranch,
                obj.BankAccountNumber,
                obj.BankAccountName
            },
                _paymentQueries.GetDeposits());

            return(new JsonResult {
                Data = data, MaxJsonLength = int.MaxValue, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Пример #30
0
 public bool SendSearchPackage(string id, string keyword)
 {
     if (clientModel.HasFunction(FunctionType.UserSystem))
     {
         while (sending)
         {
             Thread.Sleep(100);
         }
         sending   = true;
         isReceive = false;
         SearchPackage sendPackage = new SearchPackage(id, keyword);
         string        send        = JsonSerializer.Serialize(sendPackage);
         Send(send);
         while (!isReceive)
         {
             Thread.Sleep(100);
         }
         sending = false;
         return(bool.Parse(receiveMessage));
     }
     else
     {
         return(false);
     }
 }