private void AcquirePackage(string username) { var users = new UsersRepository(); if (!users.UserExists(username)) { throw new InvalidDataException($"User {username} does not exist"); } int coins = users.Coins(username); if (coins < Config.PACKAGECOST) { throw new InvalidDataException($"Not enough coins to buy a package. current coins: {coins}"); } var packages = new PackagesRepository(); if (packages.AvailablePackages() < 1) { throw new InvalidDataException("No packages available"); } int packageId = packages.NextPackage(); packages.TransferOwnership(packageId, username); packages.SetAvailability(packageId, false); users.IncrementCoins(username, -Config.PACKAGECOST); }
public StopCommand(UserCacheService userCache, UserRepository userRepository, PackagesRepository packagesRepository, ChatSessionService session) { _userCache = userCache; _userRepository = userRepository; _packagesRepository = packagesRepository; _session = session; }
public FlypackService(FlypackScrapper flypack, PackagesRepository repository, UserCacheService userService, PasswordDecrypterService decrypterService, IOptions <FlypackSettings> options, ILogger <FlypackService> logger) { _logger = logger; _flypack = flypack; _repository = repository; _userService = userService; _decrypterService = decrypterService; _settings = options.Value; _fetchInterval = TimeSpan.FromMinutes(_settings.FetchInterval); }
/// <summary> /// Initializes a new instance of the <see cref="MovePackageXMLToDb" /> class. /// </summary> public MovePackageXMLToDb(IMigrationContext context, PackagesRepository packagesRepository) : base(context) { _packagesRepository = packagesRepository; _xmlParser = new PackageDefinitionXmlParser(); }