예제 #1
0
        public async Task <OperationResult> ValidateAsync(IShopManager manager, Image image)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (image == null)
            {
                throw new ArgumentNullException(nameof(image));
            }
            if (image.BinData == null)
            {
                throw new ArgumentNullException(nameof(image.BinData));
            }

            var errors = new List <OperationError>();
            await Task.Run(() => ValidateImage(manager.Options.Image, image, manager, errors));

            if (errors.Count > 0)
            {
                return(OperationResult.Failure(errors.ToArray()));
            }

            return(OperationResult.Success());
        }
예제 #2
0
        public async Task <OperationResult> ValidateAsync(IShopManager manager, DescriptionGroup entity)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            var errors = new List <OperationError>();

            if (entity.Name.IsNullOrEmpty())
            {
                errors.Add(manager.ErrorDescriber.EmptyDescriptionGroupName());
            }
            else
            {
                var existing = await manager.GetDescriptionGroupByNameAsync(entity.Name);

                if (existing != null && existing?.Id != entity.Id)
                {
                    errors.Add(manager.ErrorDescriber.DuplicateDescriptionGroupName());
                }
            }

            if (errors.Count > 0)
            {
                return(OperationResult.Failure(errors.ToArray()));
            }

            return(OperationResult.Success());
        }
예제 #3
0
 public void SetShopItem(int itemIndex, IShopItem item, IShopManager shop)
 {
     itemImage.sprite     = item.GetItemSprite();
     currencyImage.sprite = item.GetCurrencySprite();
     nameLabel.text       = item.GetName();
     costLabel.text       = item.GetCost().ToString("n0");
     button.onClick.AddListener(delegate { shop.BuyItem(itemIndex); });
 }
예제 #4
0
 private void ValidateImage(ImageOptions options, Image img, IShopManager manager,
                            ICollection <OperationError> errors)
 {
     if (!IsValidImage(img.BinData.FullData))
     {
         errors.Add(manager.ErrorDescriber.InvalidImageFormat());
     }
 }
예제 #5
0
 protected ShopCommand(
     IServiceProvider serviceProvider) : base(serviceProvider)
 {
     Configuration    = serviceProvider.GetRequiredService <IConfiguration>();
     StringLocalizer  = serviceProvider.GetRequiredService <IStringLocalizer>();
     ItemDirectory    = serviceProvider.GetRequiredService <IItemDirectory>();
     VehicleDirectory = serviceProvider.GetRequiredService <IVehicleDirectory>();
     ShopManager      = serviceProvider.GetRequiredService <IShopManager>();
     EconomyProvider  = serviceProvider.GetRequiredService <IEconomyProvider>();
 }
예제 #6
0
 public AdminController(IUserManager userManager, IShopManager shopManager, RoleManager roleManager,
                        SignInManager signInManager, IMapper mapper, IDatabaseInitializer dbInitializer,
                        IAuthenticationService authService)
 {
     _authService   = authService;
     _dbInitializer = dbInitializer;
     _userManager   = userManager;
     _roleManager   = roleManager;
     _signInManager = signInManager;
     _mapper        = mapper;
     _shopManager   = shopManager;
 }
예제 #7
0
 public DatabaseInitializer(IUserManager userManager, RoleManager roleManager, IShopManager shopManager,
                            IConfiguration configuration, DbContext dbContext, ILogger <DatabaseInitializer> logger,
                            IHostingEnvironment hostingEnvironment)
 {
     UserManager        = userManager;
     RoleManager        = roleManager;
     ShopManager        = shopManager;
     Configuration      = configuration;
     DbContext          = dbContext;
     Logger             = logger;
     HostingEnvironment = hostingEnvironment;
 }
예제 #8
0
        public async Task <IActionResult> Post(
            [FromBody] OrderModel model,
            [FromServices] IShopManager manager)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await manager.SubmitOrderAsync(model, User.Identity.Name);

            return(Created($"api/shop/orders/{result.OrderId}", result));
        }
예제 #9
0
        public /* async*/ Task <OperationResult> ValidateAsync(IShopManager manager, Order entity)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            throw new System.NotImplementedException();
        }
예제 #10
0
        public async Task <OperationResult> ValidateAsync(IShopManager manager, Product product)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (product == null)
            {
                throw new ArgumentNullException(nameof(product));
            }

            var errors = new List <OperationError>();

            if (product.Name.IsNullOrEmpty())
            {
                errors.Add(manager.ErrorDescriber.EmptyProductName());
            }

            if (product.Code <= 0)
            {
                errors.Add(manager.ErrorDescriber.EmptyProductCode());
            }

            var prod = await manager.GetProductByCodeAsync(product.Code, false, false, false);

            if (prod != null && prod.Id != product.Id)
            {
                errors.Add(manager.ErrorDescriber.DuplicateProductCode());
            }

            prod = await manager.GetProductByNameAsync(product.Name, false, false, false);

            if (prod != null && prod.Id != product.Id)
            {
                errors.Add(manager.ErrorDescriber.DuplicateProductName());
            }

            if (errors.Count > 0)
            {
                return(OperationResult.Failure(errors.ToArray()));
            }

            return(OperationResult.Success());
        }
예제 #11
0
        public async Task <OperationResult> ValidateAsync(IShopManager manager, DescriptionGroupItem entity)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            var errors = new List <OperationError>();

            if (entity.Name.IsNullOrEmpty())
            {
                errors.Add(manager.ErrorDescriber.EmptyDescriptionGroupItemName());
            }
            else
            {
                var existing = await manager.GetDescriptionItemByNameAsync(entity.Name);

                if (existing != null && existing?.Id != entity.Id && existing.DescriptionGroupId == entity.DescriptionGroupId)
                {
                    errors.Add(manager.ErrorDescriber.DuplicateDescriptionGroupItemName());
                }
            }

            var descGroup = await manager.GetDescriptionGroupByIdAsync(entity.DescriptionGroupId.GetValueOrDefault());

            if (descGroup == null)
            {
                errors.Add(manager.ErrorDescriber.EntityNotFound("Группа описаний"));
            }

            if (errors.Count > 0)
            {
                return(OperationResult.Failure(errors.ToArray()));
            }

            return(OperationResult.Success());
        }
예제 #12
0
        public async Task <OperationResult> ValidateAsync(IShopManager manager, Category entity)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            var errors = new List <OperationError>();

            if (entity.Id < 0 || entity.Id == entity.ParentId)
            {
                errors.Add(manager.ErrorDescriber.InvalidModel());
            }

            if (entity.Name.IsNullOrEmpty())
            {
                errors.Add(manager.ErrorDescriber.EmptyCategoryName());
            }
            else
            {
                Category existing = await manager.GetCategoryByNameAsync(entity.Name);

                if (existing != null & existing?.Id != entity.Id)
                {
                    errors.Add(manager.ErrorDescriber.DuplicateCategoryName());
                }
            }

            if (errors.Count > 0)
            {
                return(OperationResult.Failure(errors.ToArray()));
            }

            return(OperationResult.Success());
        }
예제 #13
0
        public async Task <OperationResult> ValidateAsync(IShopManager manager, Description description)
        {
            if (manager == null)
            {
                throw new ArgumentNullException(nameof(manager));
            }
            if (description == null)
            {
                throw new ArgumentNullException(nameof(description));
            }

            var errors = new List <OperationError>();

            if (description.Value.IsNullOrEmpty())
            {
                errors.Add(manager.ErrorDescriber.EmptyDescriptionValue());
            }

            if (!description.DescriptionGroupItemId.HasValue)
            {
                errors.Add(manager.ErrorDescriber.InvalidModel());
            }

            var existingDescItem = await manager.GetDescriptionItemByIdAsync(description.DescriptionGroupItemId.GetValueOrDefault());

            if (existingDescItem == null)
            {
                errors.Add(manager.ErrorDescriber.EntityNotFound("Пункт описания группы"));
            }

            if (errors.Count > 0)
            {
                return(OperationResult.Failure(errors.ToArray()));
            }

            return(OperationResult.Success());
        }
예제 #14
0
 public ShopController(IShopManager manager)
 {
     _manager = manager;
 }
 public void SetNewManager(IShopManager newManager)
 {
     throw new System.NotImplementedException();
 }
예제 #16
0
 public DeleteUrl(IShopManager shopManager) => _shopManager = shopManager;
예제 #17
0
 public ApiAdminController(IShopManager sManager)
 {
     _shopManager = sManager;
 }
 public ShopController(IShopManager shopManager)
 {
     _shopManager = shopManager;
 }
예제 #19
0
 public HomeController(IShopManager shopManager, IMapper mapper)
 {
     _mapper      = mapper;
     _shopManager = shopManager;
 }
예제 #20
0
 public ShopsController(IShopManager shopManager, IAuthenticationService authenticationService)
 {
     _shopManager           = shopManager;
     _authenticationService = authenticationService;
 }
예제 #21
0
 public DeleteShop(IShopManager shopManager) => _shopManager = shopManager;
예제 #22
0
 public ApiPublicController(IShopManager sManager)
 {
     _shopManager = sManager;
 }
예제 #23
0
 public MyShopHandlers(IGamePacketFactory packetFactory, IGameSession gameSession, IShopManager shopManager, IInventoryManager inventoryManager, IGameWorld gameWorld) : base(packetFactory, gameSession)
 {
     _shopManager      = shopManager;
     _inventoryManager = inventoryManager;
     _gameWorld        = gameWorld;
 }
예제 #24
0
        public Character(ILogger <Character> logger,
                         IDatabasePreloader databasePreloader,
                         IGuildManager guildManager,
                         ICountryProvider countryProvider,
                         ISpeedManager speedManager,
                         IStatsManager statsManager,
                         IAdditionalInfoManager additionalInfoManager,
                         IHealthManager healthManager,
                         ILevelProvider levelProvider,
                         ILevelingManager levelingManager,
                         IInventoryManager inventoryManager,
                         IStealthManager stealthManager,
                         IAttackManager attackManager,
                         ISkillsManager skillsManager,
                         IBuffsManager buffsManager,
                         IElementProvider elementProvider,
                         IKillsManager killsManager,
                         IVehicleManager vehicleManager,
                         IShapeManager shapeManager,
                         IMovementManager movementManager,
                         ILinkingManager linkinManager,
                         IMapProvider mapProvider,
                         ITeleportationManager teleportationManager,
                         IPartyManager partyManager,
                         ITradeManager tradeManager,
                         IFriendsManager friendsManager,
                         IDuelManager duelManager,
                         IBankManager bankManager,
                         IQuestsManager questsManager,
                         IUntouchableManager untouchableManager,
                         IWarehouseManager warehouseManager,
                         IShopManager shopManager,
                         ISkillCastingManager skillCastingManager,
                         ICastProtectionManager castProtectionManager,
                         IGameSession gameSession,
                         IGamePacketFactory packetFactory) : base(databasePreloader, countryProvider, statsManager, healthManager, levelProvider, buffsManager, elementProvider, movementManager, untouchableManager, mapProvider)
        {
            _logger        = logger;
            _packetFactory = packetFactory;

            AdditionalInfoManager = additionalInfoManager;
            InventoryManager      = inventoryManager;
            StealthManager        = stealthManager;
            LevelingManager       = levelingManager;
            SpeedManager          = speedManager;
            AttackManager         = attackManager;
            SkillsManager         = skillsManager;
            KillsManager          = killsManager;
            VehicleManager        = vehicleManager;
            ShapeManager          = shapeManager;
            LinkingManager        = linkinManager;
            TeleportationManager  = teleportationManager;
            PartyManager          = partyManager;
            TradeManager          = tradeManager;
            FriendsManager        = friendsManager;
            DuelManager           = duelManager;
            GuildManager          = guildManager;
            BankManager           = bankManager;
            QuestsManager         = questsManager;
            WarehouseManager      = warehouseManager;
            ShopManager           = shopManager;
            SkillCastingManager   = skillCastingManager;
            CastProtectionManager = castProtectionManager;
            GameSession           = gameSession;

            HealthManager.MP_SP_Used += SendUseMPSP;
            HealthManager.OnCurrentHitpointsChanged += SendCurrentHitpoints;
            StatsManager.OnAdditionalStatsUpdate    += SendAdditionalStats;
            StatsManager.OnResetStats         += SendResetStats;
            BuffsManager.OnBuffAdded          += SendAddBuff;
            BuffsManager.OnBuffRemoved        += SendRemoveBuff;
            AttackManager.OnStartAttack       += SendAttackStart;
            VehicleManager.OnUsedVehicle      += SendUseVehicle;
            SkillsManager.OnResetSkills       += SendResetSkills;
            InventoryManager.OnAddItem        += SendAddItemToInventory;
            InventoryManager.OnRemoveItem     += SendRemoveItemFromInventory;
            InventoryManager.OnItemExpired    += SendItemExpired;
            AttackManager.TargetOnBuffAdded   += SendTargetAddBuff;
            AttackManager.TargetOnBuffRemoved += SendTargetRemoveBuff;
            DuelManager.OnDuelResponse        += SendDuelResponse;
            DuelManager.OnStart                   += SendDuelStart;
            DuelManager.OnCanceled                += SendDuelCancel;
            DuelManager.OnFinish                  += SendDuelFinish;
            LevelingManager.OnExpChanged          += SendExperienceGain;
            QuestsManager.OnQuestMobCountChanged  += SendQuestCountUpdate;
            QuestsManager.OnQuestFinished         += SendQuestFinished;
            ShopManager.OnUseShopClosed           += SendUseShopClosed;
            ShopManager.OnUseShopItemCountChanged += SendUseShopItemCountChanged;
            ShopManager.OnSoldItem                += SendSoldItem;

            Bless.Instance.OnDarkBlessChanged  += OnDarkBlessChanged;
            Bless.Instance.OnLightBlessChanged += OnLightBlessChanged;
        }
예제 #25
0
 public AddUrl(IShopManager shopManager) => _shopManager = shopManager;
예제 #26
0
 public ImagesController(IShopManager shopManager)
 {
     ShopManager = shopManager;
 }
예제 #27
0
 public AddShop(IShopManager shopManager) => _shopManager = shopManager;
 public void testSetupMSSQL()
 {
     _shopMock    = new ShopAccessorMock();
     _shopManager = new ShopManagerMSSQL(_shopMock);
 }
예제 #29
0
 public GetShops(IShopManager shopManager) => _shopManager = shopManager;
예제 #30
0
 public ShopDetection()
 {
     _shops = new ShopManager(new DataBaseModel());
 }