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); } }
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(); } } }
private static void UpdateFromDb(ProductType product) { product.Date = DateTime.Now; using (var connection = ConnectionFactory.CreateConnection()) { connection.Open(); var trans = connection.BeginTransaction(); var res = connection.Execute(QueryUpdateProd, product, trans); if (res != 1) { trans.Rollback(); return; } res = connection.Execute(QueryUpdateStockReal, new { product.Qty, product.Price, product.CustomerId, Config.IdEstablishment, product.CusumerIdRealStock }, trans); if (res != 1) { trans.Rollback(); return; } trans.Commit(); } RepositoryLastUpdate.Update(true); }
private static void AddToDb(ProductType product) { product.Date = DateTime.Now; using (var connection = ConnectionFactory.CreateConnection()) { connection.Open(); var trans = connection.BeginTransaction(); var res = connection.Execute(QueryInsertWeb, new { product.ProductsWebCustomerId }, trans); if (res <= 0) { trans.Rollback(); } res = connection.Execute(QueryInsertProd, product, trans); if (res <= 0) { trans.Rollback(); } res = connection.Execute(QueryInsertStockReal, new { product.CusumerIdRealStock, product.Qty, product.Price, product.CustomerId, Config.IdEstablishment }, trans); if (res <= 0) { trans.Rollback(); } trans.Commit(); } RepositoryLastUpdate.Update(true); }
public static int GetAbCountFromDb() { var lastDate = RepositoryLastUpdate.GetUpdateDate(); if (lastDate != null) { var dateA = lastDate.Value.AddMinutes(-1); var dateB = DateTime.Now.AddMinutes(1); return(GetByDates(dateA, dateB).Count); } return(0); }
private static void DeleteFromDb(ProductType product) { const string queryDeleteFromStockReal = "DELETE FROM StockReal WHERE ProductsCustumerId = @CustomerId"; const string queryDeleteFromProducts = "DELETE FROM Products WHERE CustumerId= @CustomerId"; const string queryDeleteFromProductsWeb = "DELETE FROM ProductsWeb WHERE CustomerId= @ProductsWebCustomerId"; using (var connection = ConnectionFactory.CreateConnection()) { connection.Open(); var trans = connection.BeginTransaction(); var res = connection.Execute(queryDeleteFromStockReal, product, trans); if (res < 0) { trans.Rollback(); return; } res = connection.Execute(queryDeleteFromProducts, product, trans); if (res != 1) { trans.Rollback(); return; } res = connection.Execute(queryDeleteFromProductsWeb, product, trans); if (res != 1) { trans.Rollback(); return; } trans.Commit(); } RepositoryLastUpdate.Update(true); }