private WagerConfigurationDTO GetWagerConfigurationDTO(WagerConfiguration configuration)
 {
     return(new WagerConfigurationDTO()
     {
         Id = configuration.Id,
         BrandId = configuration.BrandId,
         Currency = configuration.IsServeAllCurrencies ? "All" : configuration.CurrencyCode,
         IsActive = configuration.IsActive ? "Active" : "Inactive",
         CreatedBy =
             configuration.CreatedBy == Guid.Empty ? "" : _securityRepository.Admins.First(u => u.Id == configuration.CreatedBy).FirstName,
         DateCreated = configuration.DateCreated,
         DateUpdated = configuration.DateUpdated,
         UpdatedBy =
             configuration.UpdatedBy == Guid.Empty ? "" : _securityRepository.Admins.First(u => u.Id == configuration.UpdatedBy).FirstName,
         IsDepositWageringCheck = configuration.IsDepositWageringCheck,
         IsManualAdjustmentWageringCheck = configuration.IsManualAdjustmentWageringCheck,
         IsRebateWageringCheck = configuration.IsRebateWageringCheck,
         ActivatedBy =
             configuration.ActivatedBy == null ? "" : _securityRepository.Admins.First(u => u.Id == configuration.ActivatedBy).FirstName,
         DeactivatedBy =
             configuration.DeactivatedBy == null
                 ? ""
                 : _securityRepository.Admins.First(u => u.Id == configuration.DeactivatedBy).FirstName,
         DateActivated = configuration.DateActivated,
         DateDeactivated = configuration.DateDeactivated
     });
 }
        public Guid CreateWagerConfiguration(WagerConfigurationDTO wagerConfigurationDTO, Guid userId)
        {
            var validationResult = new CreateWageringConfigurationValidator(_fraudRepository)
                                   .Validate(wagerConfigurationDTO);

            if (!validationResult.IsValid)
            {
                throw new RegoValidationException(validationResult);
            }

            var wagerConfiguration = new WagerConfiguration();

            using (var scope = CustomTransactionScope.GetTransactionScope())
            {
                wagerConfiguration.Id       = Guid.NewGuid();
                wagerConfiguration.IsActive = false;
                wagerConfiguration.BrandId  = wagerConfigurationDTO.BrandId;
                wagerConfiguration.IsDepositWageringCheck          = wagerConfigurationDTO.IsDepositWageringCheck;
                wagerConfiguration.IsRebateWageringCheck           = wagerConfigurationDTO.IsRebateWageringCheck;
                wagerConfiguration.IsManualAdjustmentWageringCheck = wagerConfigurationDTO.IsManualAdjustmentWageringCheck;
                wagerConfiguration.CurrencyCode = wagerConfigurationDTO.Currency;

                wagerConfiguration.IsServeAllCurrencies = wagerConfiguration.CurrencyCode == "All";
                wagerConfiguration.CreatedBy            = userId;
                wagerConfiguration.DateCreated          = DateTimeOffset.UtcNow;

                _fraudRepository.WagerConfigurations.Add(wagerConfiguration);
                _fraudRepository.SaveChanges();
                scope.Complete();
            }
            return(wagerConfiguration.Id);
        }