public InventoryController(StoreItemService service)
        {
            this.service = service;

            Mapper.CreateMap<ReceivingItem, ReceivingApiViewModel>();
            Mapper.CreateMap<StoreItem, StoreApiViewModel>();
        }
 public StoreItemsController(StoreItemService service)
 {
     this.service = service;
     Mapper.CreateMap<StoreItem, StoreItemViewModel>();
     Mapper.CreateMap<StoreItem, IndexViewModel>()
         .ForMember(
             dest => dest.LastReceived,
             opt => opt.MapFrom(src => src.ReceivingItems.Any() ?
                                         (DateTime?)src.ReceivingItems.Max(item => item.DateReceived) :
                                         null));
     Mapper.CreateMap<StoreItemViewModel, StoreItem>();
 }
Example #3
0
        public void TestStoreItemPotentialsCorrectlyIncludesPrototypeTechForLateDateAndFaction()
        {
            var storeItemTypes = new List <BattleTechResourceType> {
                BattleTechResourceType.HeatSinkDef
            };
            var date             = new DateTime(3036, 1, 1);
            var storeItemService =
                new StoreItemService(sourceFile, procGenSettings.RarityBrackets, storeItemTypes, logger);
            var potentialInventory =
                storeItemService.IdentifyPotentialInventoryItems(Shop.ShopType.System, "LC", blankSystemTagList, date, procGenSettings);

            Assert.IsTrue(potentialInventory.Any(item => item.StoreItem.Id == "emod_engineslots_xl_center"));
        }
Example #4
0
        public void TestStoreItemPotentialsCorrectlyExcludesProductionTechForLateDateAndFactionForBlackMarket()
        {
            var storeItemTypes = new List <BattleTechResourceType> {
                BattleTechResourceType.HeatSinkDef
            };
            var date             = new DateTime(3070, 1, 1);
            var storeItemService =
                new StoreItemService(sourceFile, procGenSettings.RarityBrackets, storeItemTypes, logger);
            var potentialInventory =
                storeItemService.IdentifyPotentialInventoryItems(Shop.ShopType.BlackMarket, "TH", blankSystemTagList, date, procGenSettings);

            Assert.IsFalse(potentialInventory.Any(item => item.StoreItem.Id == "emod_engineslots_compact_center"));
        }
Example #5
0
        public void TestStoreItemPotentialsCorrectlyExcludesNaTech()
        {
            var storeItemTypes = new List <BattleTechResourceType> {
                BattleTechResourceType.HeatSinkDef
            };
            var date             = new DateTime(3100, 1, 1);
            var storeItemService =
                new StoreItemService(sourceFile, procGenSettings.RarityBrackets, storeItemTypes, logger);
            var potentialInventory =
                storeItemService.IdentifyPotentialInventoryItems(Shop.ShopType.System, "TH", blankSystemTagList, date, procGenSettings);

            Assert.IsFalse(potentialInventory.Any(item => item.StoreItem.Id == "HeatSink_Template"));
        }
Example #6
0
        public void TestStoreItemPotentialsCorrectlyExcludeFutureTechForEarlyDate()
        {
            var storeItemTypes = new List <BattleTechResourceType> {
                BattleTechResourceType.HeatSinkDef
            };
            var date             = new DateTime(3025, 1, 1);
            var storeItemService =
                new StoreItemService(sourceFile, procGenSettings.RarityBrackets, storeItemTypes, logger);
            var potentialInventory =
                storeItemService.IdentifyPotentialInventoryItems(Shop.ShopType.System, "vengefire", blankSystemTagList, date,
                                                                 procGenSettings);

            Assert.IsFalse(potentialInventory.Any(item => item.StoreItem.Id == "emod_engineslots_compact_center"));
        }
Example #7
0
 public void TestStoreItemServiceBasicProcessing()
 {
     var storeItemTypes   = ProcGenStoreContentFeature.BattleTechStoreResourceTypes;
     var date             = new DateTime(3025, 1, 1);
     var storeItemService =
         new StoreItemService(sourceFile, procGenSettings.RarityBrackets, storeItemTypes, logger);
     var planetTags = new List <string> {
         "planet_pop_large"
     };
     var planetModifiers = procGenSettings.PlanetTagModifiers
                           .Where(modifier => planetTags.Contains(modifier.Tag)).ToList();
     var storeInventory = storeItemService.GenerateItemsForStore(Shop.ShopType.BlackMarket, "Planet Vengeance",
                                                                 "vengefire", date, planetTags, planetModifiers, procGenSettings);
 }
Example #8
0
        public void TestStoreItemPotentialsCorrectlyExcludesMissingRequiredTagsForBlackMarket()
        {
            var storeItemTypes = new List <BattleTechResourceType> {
                BattleTechResourceType.HeatSinkDef
            };
            var date             = new DateTime(3036, 1, 1);
            var storeItemService =
                new StoreItemService(sourceFile, procGenSettings.RarityBrackets, storeItemTypes, logger);
            var potentialInventory =
                storeItemService.IdentifyPotentialInventoryItems(Shop.ShopType.BlackMarket, "LC", new List <string>
            {
                "planet_test_vengefire"
            }, date, procGenSettings);

            Assert.IsFalse(potentialInventory.Any(item => item.StoreItem.Id == "emod_engine_9000"));
        }