public override bool IsNotRestrictedFromMaterial(BulkOrderDeedMaterial bulkOrderDeedMaterial) { var retVal = true; if (RestrictedToMaterials.Any()) { retVal = RestrictedToMaterials.Contains(bulkOrderDeedMaterial.Name); } return(retVal); }
public override bool IsNotRestrictedFromMaterial(BulkOrderDeedMaterial bulkOrderDeedMaterial) { var retVal = true; var firstSmallBulkOrderDeedDefinition = SmallBulkOrderDeedDefinitions.First(); if (firstSmallBulkOrderDeedDefinition.RestrictedToMaterials.Any()) { retVal = firstSmallBulkOrderDeedDefinition.RestrictedToMaterials.Contains(bulkOrderDeedMaterial.Name); } return(retVal); }
public override int CalculatePoints(Profession profession, int quantity, BulkOrderDeedMaterial material, bool isExceptional) { PointTableEntry entry = null; foreach (var pointTableEntry in profession.PointTable.PointTableEntries) { // Make sure we are looking at the correct type of bulk order. if (!(pointTableEntry is LargeBulkOrderPointTableEntry)) { continue; } // Check quality, quantity. if ((pointTableEntry.Exceptional != isExceptional) || (pointTableEntry.Quantity != quantity)) { continue; } // Check that the material matches if it's set. if ((material != null) && (String.Compare(material.Name, pointTableEntry.Material, true) != 0)) { continue; } // Check the large bulk order deed name. if ((String.Compare(BulkOrderDeedType, ((LargeBulkOrderPointTableEntry)pointTableEntry).BulkOrderDeedType, true) != 0)) { continue; } if (String.IsNullOrEmpty(pointTableEntry.Overrides)) { // If we get there, then it was a match; however, we can't just stop here because there could be an override further down the list, // so we have to keep checking, and let the override take over if need be. entry = pointTableEntry; } else { // Override entry check. if ((String.Compare(BulkOrderDeedType, pointTableEntry.Overrides) == 0)) { entry = pointTableEntry; break; } } } return(entry != null ? entry.Points : 0); }
public abstract int CalculatePoints(Profession profession, int quantity, BulkOrderDeedMaterial material, bool isExceptional);
public abstract bool IsNotRestrictedFromMaterial(BulkOrderDeedMaterial bulkOrderDeedMaterial);
public SmallCollectionBulkOrderDeed(Profession profession, SmallBulkOrderDeedDefinition bulkOrderDeedDefinition, int quantity, bool exceptional, BulkOrderDeedMaterial material, Vendor vendor, BulkOrderDeedBook bulkOrderDeedBook, int completedCount) : base(profession, bulkOrderDeedDefinition, quantity, exceptional, material, vendor, bulkOrderDeedBook) { CompletedCount = completedCount; }
public SmallCollectionBulkOrderDeed(Profession profession, SmallBulkOrderDeedDefinition bulkOrderDeedDefinition, int quantity, bool exceptional, BulkOrderDeedMaterial material) : base(profession, bulkOrderDeedDefinition, quantity, exceptional, material, Vendor.None, BulkOrderDeedBook.None) { }
protected CollectionBulkOrderDeed(Profession profession, BulkOrderDeedDefinition bulkOrderDeedDefinition, int quantity, bool exceptional, BulkOrderDeedMaterial material, Vendor vendor, BulkOrderDeedBook bulkOrderDeedBook) { Guard.ArgumentNotNull(nameof(profession), profession); Guard.ArgumentNotNull(nameof(bulkOrderDeedDefinition), bulkOrderDeedDefinition); Guard.ArgumentAtLeast(nameof(quantity), 1, quantity); // Note that material CAN be null (for instance, for inscription bulk order deeds). Id = Guid.NewGuid(); Profession = profession.Name; BulkOrderDeedDefinition = bulkOrderDeedDefinition; Quantity = quantity; Material = material != null ? material.Name : String.Empty; Exceptional = exceptional; Location = new BulkOrderDeedLocation(vendor, bulkOrderDeedBook); }
public LargeCollectionBulkOrderDeed(Profession profession, LargeBulkOrderDeedDefinition bulkOrderDeedDefinition, int quantity, bool exceptional, BulkOrderDeedMaterial material, Vendor vendor, BulkOrderDeedBook bulkOrderDeedBook, IDictionary <SmallBulkOrderDeedDefinition, bool> completedStates) : base(profession, bulkOrderDeedDefinition, quantity, exceptional, material, vendor, bulkOrderDeedBook) { _CollectionBulkOrderDeedItems = new List <CollectionBulkOrderDeedItem>(); AddCollectionBulkOrderDeedItems(bulkOrderDeedDefinition, quantity); foreach (var keyValuePair in completedStates) { var item = _CollectionBulkOrderDeedItems.FirstOrDefault(i => String.Compare(i.Name, keyValuePair.Key.Name, true) == 0); if (item != null) { item.IsCompleted = keyValuePair.Value; } } }
public LargeCollectionBulkOrderDeed(Profession profession, LargeBulkOrderDeedDefinition bulkOrderDeedDefinition, int quantity, bool exceptional, BulkOrderDeedMaterial material) : base(profession, bulkOrderDeedDefinition, quantity, exceptional, material, Vendor.None, BulkOrderDeedBook.None) { _CollectionBulkOrderDeedItems = new List <CollectionBulkOrderDeedItem>(); AddCollectionBulkOrderDeedItems(bulkOrderDeedDefinition, quantity); }