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>(); }
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")); }
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")); }
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")); }
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")); }
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); }
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")); }