public void LoadLocalData() { if (this.InvokeRequired) { LoadDelegate ld = new LoadDelegate(LoadLocalData); this.Invoke(ld); } else { CustomerServer.GetCustomerAndRegion(ref _ht_Sender, ref _ht_Receiv, ref _ht_Region); FrmParent.ParentForm._AllRegion = RegionServer.GetAllRegion(); _storage_Scan = StorageServer.GetAllStorageScan(); _UCSenderInfo = new UCCustomerInfo(true); _UCRecevInfo = new UCCustomerInfo(false); _UCSenderInfo.Parent = this; _UCRecevInfo.Parent = this; _UCSenderInfo.Dock = DockStyle.None; _UCRecevInfo.Dock = DockStyle.None; _UCSenderInfo.Visible = false; _UCRecevInfo.Visible = false; _UCSenderInfo.Load(); _UCRecevInfo.Load(); } }
/// <summary> /// 拼接区域数据字符串 /// </summary> /// <param name="storages">区域数据数组</param> /// <returns></returns> private static void GetRegionsStr(PDA_Model_Region[] region, out string insertSql, out string updateSql) { insertSql = string.Empty; StringBuilder valueSql = new StringBuilder("insert into c2lp_Region (Id,`name`,parentId) values "); StringBuilder updateValueSql = new StringBuilder(); string updateModelSql = "update c2lp_Region set `name` = '{0}',parentId='{1}' where id = '{2}';"; bool hasInsert = false; if (region != null && region.Length > 0) { //所有区域的ID List <string> cIdList = region.ToList().Select(l => l.Idk__BackingField.ToString()).ToList(); List <int> needUpdateIdList = RegionServer.GetUpdateRegionIdList(cIdList); foreach (PDA_Model_Region r in region) { if (needUpdateIdList.Contains(r.Idk__BackingField)) { updateValueSql.AppendLine(string.Format(updateModelSql, r.Namek__BackingField, r.ParentIdk__BackingField, r.Idk__BackingField)); } else { valueSql.AppendFormat("('{0}','{1}','{2}'),", r.Idk__BackingField, r.Namek__BackingField, r.ParentIdk__BackingField); hasInsert = true; } } valueSql.Length -= 1; } if (hasInsert) { insertSql = valueSql.ToString(); } updateSql = updateValueSql.ToString(); }
private void LoadRegion() { try { _AllRegion = RegionServer.GetAllRegion(); if (_AllRegion.Count == 0) { throw new Exception("设备中没有任何区域信息,请联系后台添加后重新同步信息!"); } List <MyRegion> pList = (from l in _AllRegion where l.ParentId == 1 select l).ToList(); cboSenderPId.DisplayMember = "Name"; cboSenderPId.ValueMember = "Id"; //获取所有客户所在的省ID集合 int[] provinceIdList = _AllCustomer.Where(l => l.Role == 2).Select(l => l.ProvinceId).Distinct().ToArray(); _SenderCityIdList = _AllCustomer.Where(l => l.Role == 2).Select(l => l.CityId).Distinct().ToList(); cboSenderPId.DataSource = (from l in _AllRegion where provinceIdList.Contains(l.Id) select l).ToList(); cboReceiverPId.DisplayMember = "Name"; cboReceiverPId.ValueMember = "Id"; cboReceiverPId.DataSource = (from l in _AllRegion where l.ParentId == 1 select l).ToList(); //默认选择浙江省 if (cboSenderPId.DataSource != null && cboSenderPId.DataSource is List <MyRegion> ) { foreach (MyRegion item in cboSenderPId.DataSource as List <MyRegion> ) { if (item.Name == "浙江省") { cboSenderPId.SelectedItem = item; break; } } } //默认选择浙江省 if (cboReceiverPId.DataSource != null && cboReceiverPId.DataSource is List <MyRegion> ) { foreach (MyRegion item in cboReceiverPId.DataSource as List <MyRegion> ) { if (item.Name == "浙江省") { cboReceiverPId.SelectedItem = item; break; } } } } catch (Exception ex) { throw new Exception("加载区域信息失败:" + ex.Message); } }
void InitServer() { for (int i = 0; i < regionNames.Length; i++) { RegionServer region = new RegionServer(); region.name = regionNames[i]; region.address = serverAddress[i]; region.ping = -1; cloudServers.Add(region); } serverIsInit = true; PingAll(); PingGUI(); }
/// <summary> /// 更新客户信息 /// </summary> /// <param name="result">客户信息数据</param> private static void UpdateRegion(int pid, int maxId, int currCount) { //if (maxId == 0) //{ // RegionServer.ClearRegions(); // RegistSyncEvent("已清空原有区域信息..."); //} ResultModelOfArrayOfPDA_Model_Regiond4FqxSXX result = Common._PdaServer.GetNewRegions(pid, true, DateTime.Parse(Common._LastSyncTime), true, maxId, true); if (result.Code != 0) { throw new Exception(result.Message); } try { if (result.Data.Length == 0) { RegistSyncEvent("已经没有需要更新的区域信息了."); return; } string insertSql = string.Empty; string updateSql = string.Empty; GetRegionsStr(result.Data, out insertSql, out updateSql); int count = RegionServer.UpdateRegions(ref insertSql, ref updateSql); string info = "新增区域{0}条,更新区域{1}条,当前第{2}批"; RegistSyncEvent(string.Format(info, insertSql, updateSql, currCount + 1)); _isReLoadLocalInfo += int.Parse(insertSql) + int.Parse(updateSql); if (result.Data.Count() != 0) { Thread.Sleep(500);//递归分页获取 currCount += 1; UpdateRegion(pid, result.Data.Last().Idk__BackingField, currCount); } } catch (Exception ex) { throw new Exception("更新区域信息失败:" + ex.Message); } }
/// <summary> /// 更新区域信息 /// </summary> /// <param name="result">区域信息数据</param> private static void UpdateRegion(ResultModelOfArrayOfPDA_Model_Regiond4FqxSXX result) { if (result.Code != 0) { throw new Exception(result.Message); } try { string valueStr = GetRegionsStr(result.Data); int count = RegionServer.UpdateRegions(valueStr); string info = "更新成功:{0}新增{1}条"; string addInfo = string.Empty; if (count != result.Data.Count()) { addInfo = "删除" + (count - result.Data.Count()).ToString() + "条后"; } RegistSyncEvent(string.Format(info, addInfo, result.Data.Count().ToString())); } catch (Exception ex) { throw new Exception("更新区域信息失败:" + ex.Message); } }
/// <summary> /// 更新客户信息 /// </summary> /// <param name="result">客户信息数据</param> private static void UpdateRegion(int pid, int maxId, int currCount) { if (maxId == 0) { RegionServer.ClearRegions(); RegistSyncEvent("已清空原有区域信息..."); } ResultModelOfArrayOfPDA_Model_Regiond4FqxSXX result = Common._PdaServer.GetRegionsFromMaxId(pid, true, maxId, true); if (result.Code != 0) { throw new Exception(result.Message); } try { if (result.Data.Length == 0) { RegistSyncEvent("已经没有区域信息了."); return; } string valueStr = GetRegionsStr(result.Data); int count = RegionServer.UpdateRegions(valueStr); string info = "新增区域信息{0}条,当前第{1}批"; RegistSyncEvent(string.Format(info, result.Data.Count().ToString(), currCount + 1)); if (result.Data.Count() != 0) { Thread.Sleep(500);//递归分页获取 currCount += 1; UpdateRegion(pid, result.Data.Last().Idk__BackingField, currCount); } } catch (Exception ex) { throw new Exception("更新区域信息失败:" + ex.Message); } }
void InitServer() { for (int i = 0; i < regionNames.Length; i++) { RegionServer region = new RegionServer(); region.name = regionNames[i]; region.address = serverAddress[i]; region.ping = -1; cloudServers.Add(region); } serverIsInit = true; PingAll(); PingGUI(); }