Ejemplo n.º 1
0
 public BetLimitDeleted(GameProviderBetLimit betLimit)
 {
     Name        = betLimit.Name;
     Code        = betLimit.Code;
     Description = betLimit.Description;
     BrandId     = betLimit.BrandId;
 }
Ejemplo n.º 2
0
 public BetLimitCreated(GameProviderBetLimit betLimit)
 {
     Name        = betLimit.Name;
     Code        = betLimit.Code;
     Description = betLimit.Description;
     BrandId     = betLimit.BrandId;
     CreatedBy   = betLimit.CreatedBy;
     CreatedDate = betLimit.DateCreated;
 }
Ejemplo n.º 3
0
        public void UpdateProductSettings(BrandProductSettingsData viewModel)
        {
            var limitsForBrandProduct =
                _repository
                .BetLimits
                .Where(x => x.BrandId == viewModel.BrandId && x.GameProviderId == viewModel.ProductId);

            if (viewModel.BetLevels != null)
            {
                var existingBetLimits = _repository.BetLimits.ToList().Where(x => viewModel.BetLevels.Any(y => y.Id == x.Id));
                var newBetLimits      = viewModel.BetLevels.Where(x => x.Id == Guid.Empty);

                var limitsToDelete =
                    limitsForBrandProduct.ToList().Where(x => !viewModel.BetLevels.Any(y => y.Id == x.Id && x.Id != Guid.Empty));
                limitsToDelete.ToList().ForEach(x =>
                {
                    _eventBus.Publish(new BetLimitDeleted(x));
                    _repository.BetLimits.Remove(x);
                });
                newBetLimits.ToList().ForEach(x =>
                {
                    var limit = new GameProviderBetLimit
                    {
                        Id             = Guid.NewGuid(),
                        BrandId        = viewModel.BrandId,
                        GameProviderId = viewModel.ProductId,
                        Code           = x.Code,
                        Name           = x.Name,
                        Description    = x.Description,
                        DateCreated    = DateTimeOffset.UtcNow,
                        CreatedBy      = _actorInfoProvider.Actor.UserName
                    };
                    _repository.BetLimits.Add(limit);
                    _eventBus.Publish(new BetLimitCreated(limit));
                });

                existingBetLimits.ToList().ForEach(x =>
                {
                    var newLimit  = viewModel.BetLevels.Single(y => y.Id == x.Id);
                    x.Name        = newLimit.Name;
                    x.Description = newLimit.Description;
                    x.Code        = newLimit.Code;
                    x.DateUpdated = DateTimeOffset.UtcNow;
                    x.UpdatedBy   = _actorInfoProvider.Actor.UserName;

                    _eventBus.Publish(new BetLimitUpdated(x));
                });
            }
            else
            {
                limitsForBrandProduct.ToList().ForEach(x => _repository.BetLimits.Remove(x));
            }

            _repository.SaveChanges();
        }
Ejemplo n.º 4
0
        public GameProviderBetLimit CreateBetLevel(GameProvider gameProvider, Guid brandId)
        {
            var betLevel = new GameProviderBetLimit
            {
                Id             = Guid.NewGuid(),
                GameProviderId = gameProvider.Id,
                BrandId        = brandId,
                Code           = new Random().Next(100000).ToString(),
                DateCreated    = DateTimeOffset.UtcNow
            };

            _gamesRepository.BetLimits.Add(betLevel);
            return(betLevel);
        }