public bool TestItemClass(ClassBTA itemClass, AbstractClassAbstractionComparisonObject comparisonData) { var confPrice = LevelAction(x => itemClass.ConfPrices[x], comparisonData, comparisonData.PriceTreatment); var fullPrice = LevelAction(x => itemClass.FullPrices[x], comparisonData, comparisonData.PriceTreatment); var validCount = LevelAction(x => itemClass.ValidItems[x], comparisonData, comparisonData.ValidityTreatment); if (confPrice.Item2 == false || fullPrice.Item2 == false || validCount.Item2 == false) { LoggingFacade.LogDebug($"No results found for:{ itemClass.ClassName }"); return(false); } if (confPrice.Item1 < comparisonData.MinimumConfPrice) { return(false); } if (fullPrice.Item1 < comparisonData.MinimumFullPrice) { return(false); } if ((float)(validCount.Item1) / (float)itemClass.BaseTypes.Count < comparisonData.MinimumValidityRating) { return(false); } return(true); }
internal ClassBTA AddNewClass(string itemClass) { var bta = new ClassBTA(itemClass); this.Classes.Add(itemClass, bta); return(bta); }
/// <summary> /// Test if a itemclass is fitting for the strategy. /// </summary> /// <param name="itemClass"></param> /// <returns></returns> public bool Execute(ClassBTA itemClass) { return(this.Strategy.TestItemClass(itemClass, this)); }