public static void SyncSingleProduct() { var date = RepositoryLastUpdate.GetUpdateDate(); if (date != null) { Sync(); var productsAb = GetByDates(date.Value.AddMinutes(-1), DateTime.Now.AddMinutes(1)); if (productsAb.Count > 0) { var group = RepositoryHistoryChangeProduct.GetGroup(); RepositoryHistoryChangeProduct.LoadFile(); foreach (var product in productsAb) { RepositoryHistoryChangeProduct.Compare(Document, product, group); ModifAddOnlyFile(product); } RepositoryHistoryChangeProduct.SaveFile(); } } }
public static void Set() { RepositoryHistoryChangeProduct.LoadFile(); RepositoryActionHashBox.Sync(); RepositoryProductBc.Sync(); if (SyncData.IsConnect) { if (GetAbCountFromDb() > 1000 || Config.FromLoadSyncAll || !GlobalVar.IsOpen) { Config.FromLoadSyncAll = false; } else { SyncSingleProduct(); } } else { Sync(); Config.FromLoadSyncAll = false; } Sync(); RepositoryCountry.Sync(); if (SyncData.IsConnect) { RepositoryLastUpdate.Update(false); } }
private static void SaveFile() { if (File.Exists(Path)) { Document = XDocument.Load(Path); } var groupHistoryChangeProduct = RepositoryHistoryChangeProduct.GetGroup(); XDocument old = null; if (Document == null) { Document = new XDocument(new XElement("Product")); } else { old = new XDocument(Document); Document.GetXElement("Product").RemoveAll(); } foreach (var product in Products.Where(product => product != null)) { RepositoryHistoryChangeProduct.Compare(old, product, groupHistoryChangeProduct); var productElement = Document.GetXElement("Product"); productElement.Add(ProductType.ToXElement(product, productElement)); } RepositoryHistoryChangeProduct.SaveFile(); Document.Save(Path); }