private void RetriveNameDesc(object sender, EventArgs e) { if (cmbListUrl.SelectedIndex >= 0 && cmbListUrl.SelectedIndex < 3 && cmbListUrl.Text == cmbListUrl.Items[cmbListUrl.SelectedIndex].ToString()) { return; } string Name, Desc, MoreInfoUrl; if (GDBListProcessor.RetrieveProperties(cmbListUrl.Text, out Name, out Desc, out MoreInfoUrl)) { DownloadListManager.Cache(cmbListUrl.Text, Name, Desc, MoreInfoUrl); UpdateNameDesc(); } }
private bool DownloadList(string url) { bool reS = true; grdList.Rows.Clear(); Application.DoEvents(); string strException; _Lst = GDBListProcessor.RetrieveList(url, out strException); if (_Lst == null) { _Lst = new List <GDBInfo>(); } if (!string.IsNullOrEmpty(strException)) { MessageBox.Show(strException, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error); reS = false; } if (_Lst.Count > 0) { DbBrowser db = new DbBrowser(); foreach (GDBInfo gdbInfo in _Lst) { int RowIndex = grdList.Rows.Add(); bool haveIt = (db.GetCategory(gdbInfo.CatID) != null); grdList.Rows[RowIndex].Tag = haveIt; if (haveIt) { grdList.Rows[RowIndex].DefaultCellStyle.BackColor = Color.LightGray; } grdList.Rows[RowIndex].Cells[GRDCLMN_CAT].Value = gdbInfo.CatName; grdList.Rows[RowIndex].Cells[GRDCLMN_DWNLD].Value = "ببینید"; if (!string.IsNullOrEmpty(gdbInfo.BlogUrl)) { grdList.Rows[RowIndex].Cells[GRDCLMN_MORE].Value = "ببینید"; } grdList.FirstDisplayedScrollingRowIndex = RowIndex; } db.CloseDb(); } return(reS); }
private void FillGridWithListInfo(string ListFileName) { string Name, Description, MoreInfoUrl; GDBListProcessor.RetrieveProperties(ListFileName, out Name, out Description, out MoreInfoUrl); txtName.Text = Name; txtDescription.Text = Description; txtMoreInfoUrl.Text = MoreInfoUrl; grd.Rows.Clear(); string Exception; List <GDBInfo> gdbs = GDBListProcessor.RetrieveList(ListFileName, out Exception); if (string.IsNullOrEmpty(Exception)) { foreach (GDBInfo gdb in gdbs) { AddGDBInfo(gdb); } } }
private void SaveToXml(string FileName) { List <GDBInfo> lst = new List <GDBInfo>(); foreach (DataGridViewRow Row in grd.Rows) { if (!Row.IsNewRow) { bool err = false; GDBInfo gdb = ConvertGridRowToGDBInfo(Row, ref err); lst.Add(gdb); if (err) { MessageBox.Show(string.Format("در تبدیل دادههای ردیف {0} مشکلی پیش آمد. اما فایل با توکل به خدا ;) ذخیره خواهد شد. جهت اطمینان دادههای ردیف مذکور را بازبینی کنید.", Row.Index + 1), "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign); } } } if (GDBListProcessor.Save(FileName, txtName.Text, txtDescription.Text, txtMoreInfoUrl.Text, lst)) { if ( MessageBox.Show("فایل به درستی ذخیره شد. میخواهید آن را مشاهده کنید؟", "اعلان", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign) == System.Windows.Forms.DialogResult.Yes ) { try { System.Diagnostics.Process.Start(FileName); } catch { } } } else { MessageBox.Show("تلاش برای ذخیره موفقیتآمیز نبود.", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign); } }
private void CheckForUpdate(bool Prompt) { try { WebRequest req = WebRequest.Create("http://dg.ganjoor.net/version.xml"); GConnectionManager.ConfigureProxy(ref req); using (WebResponse response = req.GetResponse()) { using (Stream stream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { XmlDocument doc = new XmlDocument(); doc.LoadXml(reader.ReadToEnd()); int MyVersionMajor = Assembly.GetExecutingAssembly().GetName().Version.Major; int MyVersionMinor = Assembly.GetExecutingAssembly().GetName().Version.Minor; int VersionMajor = 0; int VersionMinor = 0; string updateUrl = string.Empty; XmlNode versionNode = doc.GetElementsByTagName("Version")[0]; foreach (XmlNode Node in versionNode.ChildNodes) { if (Node.Name == "Major") { VersionMajor = Convert.ToInt32(Node.InnerText); } else if (Node.Name == "Minor") { VersionMinor = Convert.ToInt32(Node.InnerText); } else if (Node.Name == "UpdateUrl") { if (string.IsNullOrEmpty(updateUrl)) { updateUrl = Node.InnerText; } } else if (Node.Name == "UpdateUrl162Plus") { updateUrl = Node.InnerText; } } if (VersionMajor == MyVersionMajor && VersionMinor == MyVersionMinor) { if (Prompt) { MessageBox.Show("شما آخرین ویرایش گنجور رومیزی را در اختیار دارید.", "تبریک", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign); } } else { if ( MessageBox.Show("ویرایش جدیدتر " + VersionMajor.ToString() + "." + VersionMinor.ToString() + " از نرمافزار ارائه شده است. صفحهٔ دریافت باز شود؟ ", "ویرایش جدید", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading | MessageBoxOptions.RightAlign) == DialogResult.Yes ) { System.Diagnostics.Process.Start(updateUrl); if (!Prompt)//check for new gdbs { return; } } } } } } if (!Prompt)//check for new gdbs { string strException; List <GDBInfo> Lst = GDBListProcessor.RetrieveList("http://i.ganjoor.net/android/androidgdbs.xml", out strException); if (Lst != null && string.IsNullOrEmpty(strException)) { List <GDBInfo> finalList = new List <GDBInfo>(); DbBrowser db = new DbBrowser(); foreach (GDBInfo gdb in Lst) { if ( !db.IsInGDBIgnoreList(gdb.CatID) && db.GetCategory(gdb.CatID) == null ) { finalList.Add(gdb); } } if (finalList.Count > 0) { using (NewGDBFound dlg = new NewGDBFound(finalList)) { if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { using (DownloadingGdbList dwnDlg = new DownloadingGdbList(dlg.dwnldList)) if (dwnDlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { foreach (string DownloadedFile in dwnDlg.DownloadedFiles) { ImportGdb(DownloadedFile); if (Settings.Default.DeleteDownloadedFiles) { File.Delete(DownloadedFile); } } } } foreach (int CatID in dlg.IgnoreList) { db.AddToGDBIgnoreList(CatID); } } } } } } catch (Exception exp) { if (Prompt) { MessageBox.Show(exp.Message, "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }