Пример #1
0
        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);
        }
Пример #2
0
 public StopCommand(UserCacheService userCache, UserRepository userRepository, PackagesRepository packagesRepository, ChatSessionService session)
 {
     _userCache          = userCache;
     _userRepository     = userRepository;
     _packagesRepository = packagesRepository;
     _session            = session;
 }
Пример #3
0
 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);
 }
Пример #4
0
 /// <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();
 }