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