Exemple #1
0
        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();
                }
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
        }