public ApproximationItem(ArchiveDocumentType type, string line) { Type = type; Line = line; var words = line.ToLower().Replace("-", " ") .Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); // fill one-letter sequence frequencies foreach (var word in words) { var counter = 0; while (counter + 0 < word.Length) { var combo = word.Substring(counter, 1); int value; if (OneLetterOccurrence.TryGetValue(combo, out value)) { OneLetterOccurrence.Remove(combo); } OneLetterOccurrence.Add(combo, value + 1); counter++; } } // fill two-letter sequence frequencies foreach (var word in words) { var counter = 0; while (counter + 1 < word.Length) { var combo = word.Substring(counter, 2); int value; if (TwoLetterOccurrence.TryGetValue(combo, out value)) { TwoLetterOccurrence.Remove(combo); } TwoLetterOccurrence.Add(combo, value + 1); counter++; } } // fill three-letter sequence frequencies foreach (var word in words) { var counter = 0; while (counter + 2 < word.Length) { var combo = word.Substring(counter, 3); int value; if (ThreeLetterOccurrence.TryGetValue(combo, out value)) { ThreeLetterOccurrence.Remove(combo); } ThreeLetterOccurrence.Add(combo, value + 1); counter++; } } }
/// <summary>Converts POC property to textual representation</summary> /// <param name="type">POC object property</param> /// <returns>Textual representation</returns> private static string ConvertTypeToText(ArchiveDocumentType? type) { if (type == null) return string.Empty; switch (type.Value) { case ArchiveDocumentType.BirthCertificate: return "Свидетельство о рождении"; case ArchiveDocumentType.DeathCertificate: return "Свидетельство о смерти"; case ArchiveDocumentType.MarriageCertificate: return "Свидетельство о браке"; case ArchiveDocumentType.NameChangeCertificate: return "Свидетельство о перемене ФИО"; case ArchiveDocumentType.AnnulmentCertificate: return "Свидетельство о расторжении брака"; case ArchiveDocumentType.EvidenceOfPaternity: return "Свидетельство об установлении отцовства"; case ArchiveDocumentType.MarriageReference: return "Справка о заключении брака"; case ArchiveDocumentType.AnnulmentReference: return "Справка о расторжении брака"; case ArchiveDocumentType.ActOfBirth: return "Акт рождения"; case ArchiveDocumentType.ActOfDeath: return "Акт смерти"; case ArchiveDocumentType.BaptismalCertificate: return "Свидетельство о крещении"; case ArchiveDocumentType.TestimonyAboutWedding: return "Свидетельство о венчании"; case ArchiveDocumentType.AccountOpeningAgreement: return "Договор об открытии счета"; case ArchiveDocumentType.TreatyOfTelematics: return "Договор о телематике"; case ArchiveDocumentType.EmployeeWorkbook: return "Трудовая книжка"; case ArchiveDocumentType.CaseOptacii: return "Дело оптации"; case ArchiveDocumentType.SpellingStatement: return "Заявление о правописании имени и фамилии"; case ArchiveDocumentType.PassportAndIdCardForm: return "Анкета на паспорт и ID-карту"; case ArchiveDocumentType.BirthReference: return "Справка о рождении"; case ArchiveDocumentType.PpaLetter: return "Письмо из PPA"; case ArchiveDocumentType.LatvianMigrationDepartmentLetter: return "Письмо из отдела гражданства и миграции Латвии"; case ArchiveDocumentType.LithvanianMigrationDepartmentLetter: return "Письмо из отдела гражданства и миграции Литвы"; case ArchiveDocumentType.PowerOfAttorney: return "Доверенность"; case ArchiveDocumentType.ArchiveReference: return "Справка из архива"; case ArchiveDocumentType.ApplicationToPpa: return "Заявление в PPA"; case ArchiveDocumentType.Other: return "Иной документ"; default: throw new Exception("Unknonw Archive Document Type"); } }