예제 #1
0
        private static void Recognize(IEnumerable <DqSource> sources)
        {
            foreach (var source in sources)
            {
                var text = source.Paragraph.Text;

                new BookParser().TryParse(text);

                var electronicResource = ElectronicResource.TryParse(text);
                if (electronicResource != null)
                {
                    source.SourceType = electronicResource.SourceType;
                    source.Formatted  = electronicResource.ToString();
                    continue;
                }

                var book = Book.TryParse(text);
                if (book != null)
                {
                    source.SourceType = SourceType.Book;
                    source.Formatted  = book.ToString();
                    continue;
                }

                if (ElectronicResource.CanBeElectronicResource(text))
                {
                    source.SourceType = SourceType.WebUnknown;
                    continue;
                }

                source.SourceType = SourceType.Unknown;
            }
        }
예제 #2
0
            public static ElectronicResource TryParseWebPage(string text)
            {
                var match = WebPageRegex.Match(text);

                if (!match.Success)
                {
                    return(null);
                }

                var electronicResource = new ElectronicResource {
                    SourceType = SourceType.WebPage
                };

                electronicResource.Authors1 = Person.ParseMany(match.Groups["Авторы1"].Value);

                electronicResource.Title = match.Groups["Название"].Value.Trim();

                electronicResource.Authors2 = Person.ParseMany(match.Groups["Авторы2"].Value);

                var yearGroup = match.Groups["Год"];

                if (yearGroup.Success)
                {
                    electronicResource.PublisherYear = int.Parse(yearGroup.Value);
                }

                var noGroup = match.Groups["Номер"];

                if (noGroup.Success)
                {
                    electronicResource.No = int.Parse(noGroup.Value);
                }

                electronicResource.Site = match.Groups["Сайт"].Value.TrimPunctuation();
                electronicResource.ElectronicSourceText = match.Groups["ЭлектронныйРесурс"].Value.Trim();

                electronicResource.ModeOfAccess = match.Groups["РежимДоступа"].Value.TrimPunctuation();
                electronicResource.Hyperlink    = match.Groups["Ссылка"].Value.TrimPunctuation();

                electronicResource.DateOfAccess = match.Groups["ДатаДоступа"].Value.TrimPunctuation();
                electronicResource.Date         = DateTime.ParseExact(match.Groups["Дата"].Value, "dd.MM.yyyy", null);

                return(electronicResource);
            }
예제 #3
0
        private void buttonGateDescription_Click(object sender, EventArgs e)
        {
            Model.ICatalogue catalogModel = null;
            switch (_catalogue)
            {
            case 0:
                catalogModel = new Standard(Convert.ToString(textBox1.Text), Convert.ToString(textBox2.Text), Convert.ToString(textBox3.Text), Convert.ToString(textBox4.Text), Convert.ToString(textBox23.Text), Convert.ToInt32(textBox5.Text), Convert.ToInt32(textBox6.Text));
                break;

            case 1:
                catalogModel = new ElectronicResource(Convert.ToString(textBox7.Text), Convert.ToString(textBox8.Text), Convert.ToString(textBox9.Text), Convert.ToString(textBox10.Text), Convert.ToString(textBox11.Text), Convert.ToString(textBox12.Text), Convert.ToInt32(textBox13.Text), Convert.ToString(textBox14.Text));
                break;

            case 2:
                catalogModel = new Dissertation(Convert.ToString(textBox15.Text), Convert.ToString(textBox16.Text), Convert.ToString(textBox17.Text), Convert.ToString(textBox18.Text), Convert.ToString(textBox19.Text), Convert.ToString(textBox20.Text), Convert.ToInt32(textBox21.Text), Convert.ToInt32(textBox22.Text));
                break;
            }
            Catalog      = catalogModel;
            DialogResult = DialogResult.OK;
            this.Close();
        }
예제 #4
0
            public static ElectronicResource TryParseWebSite(string text)
            {
                var match = WebSiteRegex.Match(text);

                if (!match.Success)
                {
                    return(null);
                }

                var electronicResource = new ElectronicResource {
                    SourceType = SourceType.WebSite
                };

                electronicResource.Site = match.Groups["Сайт"].Value.TrimPunctuation();
                electronicResource.ElectronicSourceText = match.Groups["ЭлектронныйРесурс"].Value.Trim();

                electronicResource.PublisherName = match.Groups["Публикатор"].Value.TrimPunctuation();

                var sityGroup = match.Groups["Город"];

                if (sityGroup.Success)
                {
                    electronicResource.PublisherCity = sityGroup.Value.TrimPunctuation();
                }

                var yearGroup = match.Groups["Год"];

                if (yearGroup.Success)
                {
                    electronicResource.PublisherYear = int.Parse(yearGroup.Value);
                }

                electronicResource.ModeOfAccess = match.Groups["РежимДоступа"].Value.TrimPunctuation();
                electronicResource.Hyperlink    = match.Groups["Ссылка"].Value.TrimPunctuation();

                electronicResource.DateOfAccess = match.Groups["ДатаДоступа"].Value.TrimPunctuation();
                electronicResource.Date         = DateTime.ParseExact(match.Groups["Дата"].Value, "dd.MM.yyyy", null);

                return(electronicResource);
            }
예제 #5
0
        private void buttonFill_Click(object sender, EventArgs e)
        {
            Random rnd = new Random();

            int style;

            for (int i = 0; i < 3; i++)
            {
                style = rnd.Next(0, 3);
                Model.ICatalogue catalogModel = null;
                switch (_catalog)
                {
                case 0:
                    catalogModel = new Standard(Convert.ToString("ГОСТ 1759. 5 – 87"), Convert.ToString("Гайки. Механические свойства и методы"), Convert.ToString("Взамен ГОСТ 1759 – 70"), Convert.ToString("Введ. с 01.01.89 по 01.01.94"), Convert.ToString("Москва"), Convert.ToInt32("1998"), Convert.ToInt32("14"));
                    break;

                case 1:
                    catalogModel = new ElectronicResource(Convert.ToString("Родников А.Р"), Convert.ToString("Логистика [Электронный ресурс]"), Convert.ToString("терминологический словарь"), Convert.ToString("А.Р. Родников"), Convert.ToString("Электронные данные"), Convert.ToString("Москва: ИНФРА - М"), Convert.ToInt32("2000"), Convert.ToString("1 эл. опт. диск  (CD- ROM)"));
                    break;

                case 2:
                    catalogModel = new Dissertation(Convert.ToString("Александров А.А"), Convert.ToString("Анализ и оценка оперативной обстановки в республике, крае, области (правовые и организационные аспекты)"), Convert.ToString("автореф. дис. на соиск. учен. степ. канд. юрид. наук"), Convert.ToString("12.00.11"), Convert.ToString("Александров Александр Александрович"), Convert.ToString("Москва"), Convert.ToInt32("2004"), Convert.ToInt32("2004"));
                    break;
                }
                Catalog      = catalogModel;
                DialogResult = DialogResult.OK;
                _catalog     = (rnd.Next(0, 3));
                ICatalogue catalog = null;
                catalog = Catalog;
                ListCatalog.list.Add(catalog);
                var row = _datatable.NewRow();
                row[0] = catalog.Name;
                row[1] = catalog.YearPublishing;
                row[2] = catalog.GetDescription();
                _datatable.Rows.Add(row);
            }
        }
예제 #6
0
        /// <summary>
        /// Создание электронного ресурса
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void electronicResourceRadioButton_CheckedChanged(object sender, EventArgs e)
        {
            if (!electronicResourceRadioButton.Checked)
                return;
            ILiterarySource source;

            var electronicResource = new ElectronicResource()
            {
                Author = "Родников, А.Р",
                Title = "Логистика [Электронный ресурс]: терминологический словарь ",
                StatementOfResponsibility = "А.Р. Родников",
                YearOfManufacture = 2000,
                TypeOfResource = "Электронные данные",
                PlaceOfPublication = "Москва",
                PublishingHouse = "ИНФРА-М",
                Series = "1 эл. опт. диск  (CD- ROM)"
            };
            source = electronicResource;
            source.GetDescription();
            LiterarySources.Rows.Add("Electronic Resource", source.GetDescription());
            DescriptionSourceDataGridView.Refresh();
        }