Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        /// <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();
        }
Beispiel #3
0
        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);
            }
        }
Beispiel #4
0
    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();
    }
Beispiel #5
0
        /// <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);
            }
        }
Beispiel #6
0
 /// <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);
     }
 }
Beispiel #7
0
        /// <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();
    }