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; } }
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); }
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(); }
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); }
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); } }
/// <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(); }