public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Package; using (var db = SyncDbContextFactory.Factory <EFDbContext>()) { var orders = temp.GetEntities <SaleOrders>(); var order = db.SaleOrders.FirstOrDefault(o => o.SyncItemId == guid); if (order == null) { throw new SyncService.Exceptions.SyncException("未能找到更新的项!"); } var tempOrder = orders.FirstOrDefault(); order.State = tempOrder.State; order.IsProcess = tempOrder.IsProcess; order.Receive = tempOrder.Receive; order.ReturnDT = tempOrder.ReturnDT; order.ReturnOrderUID = tempOrder.ReturnOrderUID; order.IsTest = tempOrder.IsTest; order.SyncItemId = tempOrder.SyncItemId; order.SyncItemVersion = tempOrder.SyncItemVersion; db.SaveChanges(); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var _promotions = temp.GetEntities <CommodityPromotion>(); var _promotionsSyncIds = _promotions.Select(o => o.SyncItemId).ToList(); var freeGiftPurchase = temp.GetEntities <FreeGiftPurchase>(); var freeGiftPurchaseSyncIds = freeGiftPurchase.Select(o => o.SyncItemId).ToList(); var freeGiftPurchaseList = temp.GetEntities <FreeGiftPurchaseList>(); var freeGiftPurchaseListSyncIds = freeGiftPurchaseList.Select(o => o.SyncItemId).ToList(); db.CommodityPromotions.Where(o => _promotionsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(_promotions.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.FreeGiftPurchases.Where(o => freeGiftPurchaseSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(freeGiftPurchase.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.FreeGiftPurchaseLists.Where(o => freeGiftPurchaseListSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(freeGiftPurchaseList.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.SaveChanges(); StoreManager.PubEvent("MarketingRefresh", new { StoreId = storeId, CompanyId = companyId }); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { try { var orders = temp.GetEntities <SaleOrders>(); var saleDetails = temp.GetEntities <SaleDetail>(); var consumptionPayments = temp.GetEntities <ConsumptionPayment>(); var wipeZeros = temp.GetEntities <WipeZero>(); db.SaleOrders.AddRange(orders.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.SaleOrders().InitEntity(o))); db.SaleDetails.AddRange(saleDetails.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.SaleDetail().InitEntity(o))); db.ConsumptionPayments.AddRange(consumptionPayments.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.ConsumptionPayment().InitEntity(o))); db.WipeZeros.AddRange(wipeZeros.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.WipeZero().InitEntity(o))); db.SaveChanges(); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } catch (DbEntityValidationException dbEx) { throw dbEx; } catch (Exception dbEx) { throw dbEx; } } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { try { var temp = mergedData as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var orders = temp.GetEntities <SaleOrders>(); var ordersSyncIds = orders.Select(o => o.SyncItemId).ToList(); var saleDetails = temp.GetEntities <SaleDetail>(); var saleDetailsSyncIds = saleDetails.Select(o => o.SyncItemId).ToList(); var consumptionPayments = temp.GetEntities <ConsumptionPayment>(); var consumptionPaymentsSyncIds = consumptionPayments.Select(o => o.SyncItemId).ToList(); var wipeZeros = temp.GetEntities <WipeZero>(); var wipeZerosSyncIds = wipeZeros.Select(o => o.SyncItemId).ToList(); db.SaleOrders.Where(o => ordersSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(orders.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.SaleDetails.Where(o => saleDetailsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(saleDetails.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.ConsumptionPayments.Where(o => consumptionPaymentsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(consumptionPayments.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.WipeZeros.Where(o => wipeZerosSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(wipeZeros.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.SaveChanges(); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } } catch (Exception e) { throw e; } }
public ISyncDataObject Merge(ISyncDataObject syncDataObject1, ISyncDataObject syncDataObject2, int companyId, string storeId) { if (syncDataObject1 != null) { var temp = syncDataObject1 as Package; var orders = temp.GetEntities <SaleOrders>(); var order = orders.FirstOrDefault(); var tempSer = syncDataObject2 as Package; var orderSers = temp.GetEntities <SaleOrders>(); var orderSer = orderSers.FirstOrDefault(); if (orderSer.IsProcess && !order.IsProcess && order.InInventory != orderSer.InInventory) { return(syncDataObject1); } else { return(syncDataObject2); } } else { return(syncDataObject2); } }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { try { var commodityPromotion = temp.GetEntities <CommodityPromotion>(); var promotionBlend = temp.GetEntities <PromotionBlend>(); var promotionBlendList = temp.GetEntities <PromotionBlendList>(); db.CommodityPromotions.AddRange(commodityPromotion.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.CommodityPromotion().InitEntity(o))); db.PromotionBlends.AddRange(promotionBlend.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.PromotionBlend().InitEntity(o))); db.PromotionBlendLists.AddRange(promotionBlendList.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.PromotionBlendList().InitEntity(o))); db.SaveChanges(); StoreManager.PubEvent("MarketingRefresh", new { StoreId = storeId, CompanyId = companyId }); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } catch (DbEntityValidationException dbEx) { throw dbEx; } } }
/// <summary> /// 冲突合并 /// </summary> /// <param name="syncDataObject1">本地数据</param> /// <param name="syncDataObject2">远程数据</param> /// <returns>合并冲突对象</returns> public ISyncDataObject Merge(ISyncDataObject local, ISyncDataObject remote, int companyId, string storeId) { var tempLocal = local as SysStoreUserInfo; var tempRemote = remote as SysStoreUserInfo; if (tempLocal.LoginDT != tempRemote.LoginDT) { tempRemote.LoginDT = tempLocal.LoginDT; } return(tempRemote); }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Pharos.SyncService.SyncEntities.MemberIntegral; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var dbEntity = db.MemberIntegrals.FirstOrDefault(o => o.SyncItemId == guid); dbEntity.InitEntity(temp); db.SaveChanges(); return(dbEntity.SyncItemVersion); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as SysStoreUserInfo; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var dbEntity = db.SysStoreUserInfos.FirstOrDefault(o => o.SyncItemId == guid && o.CompanyId == companyId); dbEntity.InitEntity(temp); db.SaveChanges(); var newEntity = db.SysStoreUserInfos.FirstOrDefault(o => o.SyncItemId == guid); return(newEntity.SyncItemVersion); } }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as Pharos.SyncService.SyncEntities.Area; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var entity = new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.Area(); entity.InitEntity(temp); db.Areas.Add(entity); db.SaveChanges(); return(entity.SyncItemVersion); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { // var temp = mergedData as DeviceRegInfo; // using (var db = SyncDbContextFactory.Factory<EFDbContext>()) // { // var dbEntity = db.DeviceRegInfos.FirstOrDefault(o => o.SyncItemId == guid && o.CompanyId == companyId); // dbEntity.InitEntity(temp, false); // db.SaveChanges(); // var newEntity = db.DeviceRegInfos.FirstOrDefault(o => o.SyncItemId == guid); // return newEntity.SyncItemVersion; // } throw new SyncException("DeviceRegInfo表不允许远程修改!"); }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { //var temp = mergedData as ApiLibrary; //using (var db = SyncDbContextFactory.Factory<EFDbContext>()) //{ // var dbEntity = db.ApiLibrarys.FirstOrDefault(o => o.SyncItemId == guid && o.CompanyId == companyId); // dbEntity.InitEntity(temp, false); // db.SaveChanges(); // var newEntity = db.ApiLibrarys.FirstOrDefault(o => o.SyncItemId == guid); // return newEntity.SyncItemVersion; //} // 该表不允许从本地修改 throw new SyncException("ApiLibrary表不允许本地更新"); }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { //var temp = data as ApiLibrary; //using (var db = SyncDbContextFactory.Factory<EFDbContext>()) //{ // var entity = new Pharos.Logic.Entity.ApiLibrary(); // entity.InitEntity(temp, false); // db.ApiLibrarys.Add(entity); // db.SaveChanges(); // return entity.SyncItemVersion; //} // 该表不允许从本地修改 throw new SyncException("ApiLibrary表不允许本地更新"); }
public ISyncDataObject Merge(ISyncDataObject syncDataObject1, ISyncDataObject syncDataObject2, int companyId, string storeId) { if (syncDataObject1 != null) { var temp = syncDataObject1 as Pharos.SyncService.SyncEntities.DeviceRegInfo; var temSer = syncDataObject2 as Pharos.SyncService.SyncEntities.DeviceRegInfo; temp.State = temSer.State; temp.Memo = temSer.Memo; temp.AuditorUID = temSer.AuditorUID; temp.SyncItemVersion = temSer.SyncItemVersion; return(temp); } else { return(syncDataObject2); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as SysStoreUserInfo; using (var db = SyncDbContextFactory.Factory <EFDbContext>()) { var dbEntity = db.SysStoreUserInfos.FirstOrDefault(o => o.SyncItemId == guid && o.CompanyId == companyId); if (dbEntity == null) { throw new SyncService.Exceptions.SyncException("未能找到更新的项!"); } dbEntity.LoginDT = temp.LoginDT; db.SaveChanges(); var newEntity = db.SysStoreUserInfos.FirstOrDefault(o => o.SyncItemId == guid); return(newEntity.SyncItemVersion); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Pharos.SyncService.SyncEntities.SalesRecord; using (var db = SyncDbContextFactory.Factory <EFDbContext>()) { var dbEntity = db.SalesRecords.FirstOrDefault(o => o.SyncItemId == guid); if (dbEntity == null) { throw new SyncService.Exceptions.SyncException("未能找到更新的项!"); } dbEntity.InitEntity(temp); db.SaveChanges(); var newEntity = db.SalesRecords.FirstOrDefault(o => o.SyncItemId == guid); return(newEntity.SyncItemVersion); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var integralSets = temp.GetEntities <MemberIntegralSet>(); var integralSetsSyncIds = integralSets.Select(o => o.SyncItemId).ToList(); var integralSetLists = temp.GetEntities <MemberIntegralSetList>(); var integralSetListsSyncIds = integralSetLists.Select(o => o.SyncItemId).ToList(); db.MemberIntegralSets.Where(o => integralSetsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(integralSets.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.MemberIntegralSetLists.Where(o => integralSetListsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(integralSetLists.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.SaveChanges(); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as Pharos.SyncService.SyncEntities.SalesRecord; using (var db = SyncDbContextFactory.Factory <EFDbContext>()) { Pharos.Logic.Entity.SalesRecord entity; if (!db.SalesRecords.Any(o => o.SyncItemId == guid)) { entity = new Pharos.Logic.Entity.SalesRecord(); entity.InitEntity(temp); db.SalesRecords.Add(entity); db.SaveChanges(); } else { entity = db.SalesRecords.FirstOrDefault(o => o.SyncItemId == guid); } return(entity.SyncItemVersion); } }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as Package; using (var db = SyncDbContextFactory.Factory <EFDbContext>()) { if (!db.SaleOrders.Any(o => o.SyncItemId == guid)) { var orders = temp.GetEntities <SaleOrders>(); var saleDetails = temp.GetEntities <SaleDetail>(); var consumptionPayments = temp.GetEntities <ConsumptionPayment>(); var wipeZeros = temp.GetEntities <WipeZero>(); db.SaleOrders.AddRange(orders.Select(o => new Pharos.Logic.Entity.SaleOrders().InitEntity(o, false))); db.SaleDetails.AddRange(saleDetails.Select(o => new Pharos.Logic.Entity.SaleDetail().InitEntity(o, false))); db.ConsumptionPayments.AddRange(consumptionPayments.Select(o => new Pharos.Logic.Entity.ConsumptionPayment().InitEntity(o, false))); db.WipeZeros.AddRange(wipeZeros.Select(o => new Pharos.Logic.Entity.WipeZero().InitEntity(o, false))); db.SaveChanges(); } var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as DeviceRegInfo; using (var db = SyncDbContextFactory.Factory <EFDbContext>()) { Pharos.Logic.Entity.DeviceRegInfo entity; if (!db.DeviceRegInfos.Any(o => o.SyncItemId == guid)) { entity = new Pharos.Logic.Entity.DeviceRegInfo(); entity.InitEntity(temp, false); db.DeviceRegInfos.Add(entity); db.SaveChanges(); } else { entity = db.DeviceRegInfos.FirstOrDefault(o => o.SyncItemId == guid); } return(entity.SyncItemVersion); } // throw new Exception("创建DeviceRegInfo"); }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { var temp = data as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { try { var memberImterSet = temp.GetEntities <MemberIntegralSet>(); var memberImterSetList = temp.GetEntities <MemberIntegralSetList>(); db.MemberIntegralSets.AddRange(memberImterSet.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.MemberIntegralSet().InitEntity(o))); db.MemberIntegralSetLists.AddRange(memberImterSetList.Select(o => new Pharos.Logic.ApiData.Pos.Entity.LocalCeEntity.MemberIntegralSetList().InitEntity(o))); db.SaveChanges(); var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } catch (DbEntityValidationException dbEx) { throw dbEx; } } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Package; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var _promotions = temp.GetEntities <CommodityPromotion>(); var _promotionsSyncIds = _promotions.Select(o => o.SyncItemId).ToList(); var commodityBundlings = temp.GetEntities <Bundling>(); var commodityBundlingsSyncIds = commodityBundlings.Select(o => o.SyncItemId).ToList(); var commodityBundlingLists = temp.GetEntities <BundlingList>(); var commodityBundlingListsSyncIds = commodityBundlingLists.Select(o => o.SyncItemId).ToList(); db.CommodityPromotions.Where(o => _promotionsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(_promotions.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.Bundlings.Where(o => commodityBundlingsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(commodityBundlings.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.BundlingLists.Where(o => commodityBundlingListsSyncIds.Contains(o.SyncItemId)).ToList().ForEach(o => o.InitEntity(commodityBundlingLists.FirstOrDefault(p => o.SyncItemId == p.SyncItemId))); db.SaveChanges(); StoreManager.PubEvent("MarketingRefresh", new { StoreId = storeId, CompanyId = companyId }); try { var bunding = commodityBundlings.FirstOrDefault(); if (bunding != null) { var qRefresh = new List <Pharos.ObjectModels.DTOs.MemoryCacheRefreshQuery>(); var item = new ObjectModels.DTOs.MemoryCacheRefreshQuery() { CompanyId = companyId, StoreId = storeId, Barcode = bunding.NewBarcode, ProductType = ObjectModels.ProductType.Bundling, ProductCode = "" }; qRefresh.Add(item); Pharos.Logic.ApiData.Pos.Cache.ProductCache.RefreshProduct(qRefresh); } } catch { } var version = GetVersion(guid, companyId, storeId, db); return(version.SyncItemVersion); } }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { var temp = mergedData as Pharos.SyncService.SyncEntities.ProductRecord; using (var db = SyncDbContextFactory.Factory <LocalCeDbContext>()) { var dbEntity = db.ProductRecords.FirstOrDefault(o => o.SyncItemId == guid && o.CompanyId == companyId); dbEntity.InitEntity(temp); db.SaveChanges(); try { var qRefresh = new List <Pharos.ObjectModels.DTOs.MemoryCacheRefreshQuery>(); var item = new ObjectModels.DTOs.MemoryCacheRefreshQuery() { CompanyId = companyId, StoreId = storeId, Barcode = temp.Barcode, ProductCode = temp.ProductCode }; switch (temp.Nature) { case 0: item.ProductType = ObjectModels.ProductType.Normal; break; case 1: item.ProductType = ObjectModels.ProductType.Combination; break; case 2: item.ProductType = ObjectModels.ProductType.Split; break; } qRefresh.Add(item); Pharos.Logic.ApiData.Pos.Cache.ProductCache.RefreshProduct(qRefresh); } catch { } return(temp.SyncItemVersion); } }
public ISyncDataObject Merge(ISyncDataObject syncDataObject1, ISyncDataObject syncDataObject2, int companyId, string storeId) { //会员消费积分明细 全部返回本地数据 先不考虑积分 return(syncDataObject1); }
public ISyncDataObject Merge(ISyncDataObject syncDataObject1, ISyncDataObject syncDataObject2, int companyId, string storeId) { return(syncDataObject2); }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { // 该表不允许从本地修改 throw new SyncException("ApiLibrary表不允许本地更新"); }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { throw new SyncException("SysStoreUserInfo表不允许创建远程数据"); }
public ISyncDataObject Merge(ISyncDataObject syncDataObject1, ISyncDataObject syncDataObject2, int companyId, string storeId) { throw new NotImplementedException(); }
public byte[] UpdateItem(Guid guid, ISyncDataObject mergedData, int companyId, string storeId) { throw new SyncException("MembershipCard表不允许远程更新!"); }
public byte[] CreateItem(ISyncDataObject data, Guid guid, int companyId, string storeId) { throw new SyncException("MembershipCard表不允许远程创建!"); }