internal static IEnumerable <Vendor> LoadFromXml(XmlNode rootNode) { var retVal = new List <Vendor>(); var nodes = rootNode.SelectNodes($"{XmlRootName}/{_XmlItemName}"); if (nodes != null) { foreach (var node in nodes.OfType <XmlNode>()) { try { var idString = node.Attributes[_IdAttributeName].Value; var name = node.Attributes[_NameAttributeName].Value; var bulkOrderDeedBooks = BulkOrderDeedBook.LoadFromXml(node); if (!String.IsNullOrEmpty(idString) && !String.IsNullOrEmpty(name)) { var id = Guid.Parse(idString); retVal.Add(new Vendor(id, name, bulkOrderDeedBooks)); } } catch { } } } return(retVal); }
public BulkOrderDeedBookEventArgs(Vendor vendor, BulkOrderDeedBook bulkOrderDeedBook) { // Vendor can be null. Guard.ArgumentNotNull(nameof(bulkOrderDeedBook), bulkOrderDeedBook); BulkOrderDeedBook = bulkOrderDeedBook; Vendor = vendor; }
public void RemoveBulkOrderDeedBook(BulkOrderDeedBook bulkOrderDeedBook) { lock (_BulkOrderDeedBooks) { _BulkOrderDeedBooks.Remove(bulkOrderDeedBook); } OnBulkOrderDeedBookRemoved(bulkOrderDeedBook); }
public void AddBulkOrderDeedBook(BulkOrderDeedBook bulkOrderDeedBook) { lock (_BulkOrderDeedBooks) { _BulkOrderDeedBooks.Add(bulkOrderDeedBook); } OnBulkOrderDeedBookAdded(bulkOrderDeedBook); }
public BulkOrderDeedLocation(Vendor vendor, BulkOrderDeedBook bulkOrderDeedBook) { if (vendor == null && bulkOrderDeedBook == null) { throw new ArgumentNullException($"At least one parameter cannot be null: vendor, bulkOrderDeedBook"); } Vendor = vendor; BulkOrderDeedBook = bulkOrderDeedBook; }
public void AddBulkOrderDeedBook(BulkOrderDeedBook bulkOrderDeedBook) { Guard.ArgumentNotNull(nameof(bulkOrderDeedBook), bulkOrderDeedBook); lock (_BulkOrderDeedBooksSync) { _BulkOrderDeedBooks.Add(bulkOrderDeedBook); SaveBulkOrderDeedBooks(); } OnBulkOrderDeedBookAdded(bulkOrderDeedBook); }
private void LoadBulkOrderDeedBooksInLock() { if (!File.Exists(_BulkOrderDeedBooksFullPath)) { return; } var xmlDocument = new XmlDocument(); xmlDocument.Load(_BulkOrderDeedBooksFullPath); var bulkOrderDeedBooks = BulkOrderDeedBook.LoadFromXml(xmlDocument); _BulkOrderDeedBooks.AddRange(bulkOrderDeedBooks); }
public void RemoveBulkOrderDeedBook(BulkOrderDeedBook bulkOrderDeedBook) { Guard.ArgumentNotNull(nameof(bulkOrderDeedBook), bulkOrderDeedBook); lock (_BulkOrderDeedBooksSync) { _BulkOrderDeedBooks.Remove(bulkOrderDeedBook); foreach (var collectionBulkOrderDeed in _Collection) { if (collectionBulkOrderDeed.Location.BulkOrderDeedBook.Id == bulkOrderDeedBook.Id) { collectionBulkOrderDeed.Location.BulkOrderDeedBook = BulkOrderDeedBook.None; } } SaveBulkOrderDeedBooks(); } OnBulkOrderDeedBookRemoved(bulkOrderDeedBook); }
private void OnBulkOrderDeedBookRemoved(BulkOrderDeedBook bulkOrderDeedBook) { var handler = BulkOrderDeedBookRemoved; handler?.Invoke(this, new BulkOrderDeedBookEventArgs(this, bulkOrderDeedBook)); }
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; }
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 BulkOrderDeedBookEventArgs(BulkOrderDeedBook bulkOrderDeedBook) : this(null, bulkOrderDeedBook) { }