private void SaveItem(SampleListItem item, string dirPath, WebClient client) { string fileUrl = item.PicPath; fileUrl = fileUrl.Substring(fileUrl.LastIndexOf('/')).TrimStart('/'); string imgName = fileUrl.Substring(0, fileUrl.LastIndexOf('.')); string ext = fileUrl.Substring(fileUrl.LastIndexOf('.')); string fileName = item.Id + "_" + imgName + ext; string infoName = fileName + ".info"; if (Directory.GetFiles(dirPath, infoName, SearchOption.TopDirectoryOnly).Length == 0) { string filePath = string.Format(@"{0}\{1}", dirPath, fileName); string infoPath = string.Format(@"{0}\{1}", dirPath, infoName); client.DownloadFile(item.PicPath, filePath); using (StreamWriter writer = new StreamWriter(infoPath, false, Encoding.UTF8)) { writer.WriteLine(string.Format("ItemId:{0}", item.Id)); writer.WriteLine(string.Format("ItemTitle:{0}", item.Title)); writer.WriteLine(string.Format("ItemPrice:{0}", item.Price)); writer.WriteLine(string.Format("ImageLocalPath:{0}", filePath)); writer.WriteLine(string.Format("ImageUrl:{0}", item.PicPath)); writer.Flush(); } } }
private void btnOk_Click(object sender, EventArgs e) { selectedIidList = new List <SampleListItem>(); foreach (CtrlItem ctrl in fpnlList.Controls) { if (ctrl.Checked) { SampleListItem item = new SampleListItem(); item.Id = ctrl.Iid; item.Title = ctrl.ItemName; item.Price = ctrl.Price; item.PicPath = ctrl.ImagePath; item.Location = ctrl.ImageUrl; selectedIidList.Add(item); } } DialogResult = DialogResult.OK; this.Close(); }
private void UpdateItems() { ucProgress.Title = "正在更新商品..."; ucProgress.Summary = "正在从服务器获取需要更新的商品信息..."; ucProgress.ProgressTotal = 100; ucProgress.ProgressValue = 1; ucProgress.Total = -1; ucProgress.Value = -1; ucProgress.DisplayProgress(); Application.DoEvents(); string currentPath = Assembly.GetExecutingAssembly().Location; string dir = new FileInfo(currentPath).DirectoryName; dir = dir + "\\ShopItems"; if (cbForce.Checked) { if (Directory.Exists(dir)) { Directory.Delete(dir, true); } } if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } ItemFacade facade = new ItemFacade(defaultAppKey, defaultAppSecret); TOPDataList <SampleListItem> list = facade.QuerySampleListByNick(currentPageIndex++, pageSize, nick); while (true) { TOPDataList <SampleListItem> tmp = facade.QuerySampleListByNick(currentPageIndex++, pageSize, nick); list.AddRange(tmp); if (tmp.Count < pageSize) { break; } } ucProgress.ProgressValue = 100; ucProgress.DisplayProgress(); Application.DoEvents(); ucProgress.Total = list.Count; ucProgress.ProgressTotal = list.Count; isCanceled = false; using (WebClient client = new WebClient()) { for (int i = 0; i < list.Count; i++) { if (isCanceled) { break; } SampleListItem item = list[i]; ucProgress.Summary = item.Title; ucProgress.Value = i + 1; ucProgress.ProgressValue = i + 1; ucProgress.DisplayProgress(); Application.DoEvents(); SaveItem(item, dir, client); } } ucProgress.Summary = "更新完毕"; ucProgress.DisplayProgress(); Application.DoEvents(); }