コード例 #1
0
        public ValidationResult ValidateThatVipLevelCanBeAdded(VipLevelViewModel model)
        {
            var validator = new AddVipLevelValidator(
                _repository,
                _gameQueries.GetGameDtos());

            return(validator.Validate(model));
        }
コード例 #2
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));
        }
コード例 #3
0
 public object GetGames()
 {
     return(SerializeJson(new
     {
         Games = _gameQueries.GetGameDtos().OrderBy(x => x.Name).Select(x => new { x.Id, x.Name })
     }));
 }
コード例 #4
0
        public void Can_Create_Game()
        {
            Assert.AreEqual(0, _queries.GetGameDtos().Count());

            var gameDto = new GameDTO
            {
                Name      = "Game",
                Code      = "Code",
                Type      = "Casino",
                Status    = "Active",
                Url       = "http://localhost/",
                ProductId = _repository.GameProviders.First().Id
            };

            _gameManagement.CreateGame(gameDto);

            Assert.AreEqual(1, _queries.GetGameDtos().Count());
        }
コード例 #5
0
        public async Task <TemplateDataResponse> GetRelatedData(Guid?id = null)
        {
            VerifyPermission(Permissions.View, Modules.BonusTemplateManager);
            VerifyPermission(Permissions.View, Modules.BonusManager);

            Template template = null;

            if (id.HasValue)
            {
                var templateData = await _bonusApiProxy.GetTemplateOrNull(id.Value);

                template = Mapper.Map <Template>(templateData);
                CheckBrand(template.Info.BrandId.Value);
            }

            var getBonusesTask = _bonusApiProxy.GetBonusesAsync();

            var notificationTriggers = _messageTemplateQueries.GetBonusNotificationTriggerMessageTypes()
                                       .Select(x => Enum.GetName(typeof(MessageType), x));

            var licenseeFilterSelections = _adminQueries.GetLicenseeFilterSelections();
            var brandFilterSelections    = _adminQueries.GetBrandFilterSelections();

            var licensees = _brandQueries.GetFilteredLicensees()
                            .Include(l => l.Brands.Select(b => b.VipLevels))
                            .Include(l => l.Brands.Select(b => b.BrandCurrencies.Select(bc => bc.Currency)))
                            .Include(l => l.Brands.Select(b => b.WalletTemplates))
                            .Include(l => l.Brands.Select(b => b.Products))
                            .Where(l => licenseeFilterSelections.Contains(l.Id))
                            .OrderBy(l => l.Name)
                            .ToList()
                            .Select(l => new Licensee
            {
                Id     = l.Id,
                Name   = l.Name,
                Brands = _brandQueries.GetFilteredBrands(l.Brands, UserId)
                         .Where(b =>
                                b.Status == BrandStatus.Active &&
                                brandFilterSelections.Contains(b.Id))
                         .OrderBy(b => b.Name)
                         .Select(b => new TemplateBrand
                {
                    Id        = b.Id,
                    Name      = b.Name,
                    VipLevels = b.VipLevels.Select(v => new TemplateVipLevel {
                        Code = v.Code, Name = v.Name
                    }),
                    Currencies = b.BrandCurrencies.Select(v => new TemplateCurrency {
                        Code = v.Currency.Code, Name = v.Currency.Name
                    }),
                    WalletTemplates = b.WalletTemplates.OrderBy(wt => wt.Name).Select(wt => new TemplateWalletTemplate {
                        Id = wt.Id, Name = wt.Name, IsMain = wt.IsMain
                    }),
                    Products   = b.Products.Select(p => p.ProductId),
                    RiskLevels = _riskLevelQueries.GetByBrand(b.Id)
                                 .Select(riskLevel => new TemplateRiskLevel {
                        Id = riskLevel.Id, Name = riskLevel.Name
                    })
                                 .OrderBy(riskLevel => riskLevel.Name)
                })
            }).ToList();

            var products = _gameQueries.GetGameProviders().ToList();
            var games    =
                _gameQueries.GetGameDtos()
                .Select(g => new Game {
                Id = g.Id.Value, Name = g.Name, ProductId = g.ProductId, ProductName = products.Single(p => p.Id == g.ProductId).Name
            })
                .ToList();

            if (template != null)
            {
                if (template.Info != null)
                {
                    template.Info.LicenseeId   = licensees.Single(l => l.Brands.Select(b => b.Id).Contains(template.Info.BrandId.Value)).Id;
                    template.Info.LicenseeName = licensees.Single(l => l.Brands.Select(b => b.Id).Contains(template.Info.BrandId.Value)).Name;
                    template.Info.BrandName    = licensees.SelectMany(l => l.Brands).Single(b => b.Id == template.Info.BrandId).Name;
                }

                if (template.Wagering != null)
                {
                    foreach (var gc in template.Wagering.GameContributions)
                    {
                        var game = games.Single(g => g.Id == gc.GameId);
                        gc.Name        = game.Name;
                        gc.ProductId   = game.ProductId;
                        gc.ProductName = game.ProductName;
                    }
                }
            }

            var bonuses = await getBonusesTask;

            bonuses = bonuses.Where(b => brandFilterSelections.Contains(b.BrandId)).OrderBy(bonus => bonus.Name).ToList();

            return(new TemplateDataResponse
            {
                Template = template,
                NotificationTriggers = notificationTriggers,
                Bonuses = bonuses,
                Licensees = licensees,
                Games = games
            });
        }
コード例 #6
0
 public IEnumerable <GameDTO> GameDtos()
 {
     return(_gameQueries.GetGameDtos());
 }