docs: #306 adding new fields to GanjoorPoemSection

This commit is contained in:
Hamid Reza Mohammadi 2022-04-19 19:29:33 +04:30
parent 2a8e3bd95b
commit 1132423430
4 changed files with 37 additions and 7 deletions

View File

@ -98,7 +98,7 @@
/// <summary>
/// نیمایی یا سپید
/// </summary>
Now = 187,
New = 187,
/// <summary>
/// مسمط مسدس

View File

@ -65,6 +65,11 @@ namespace RMuseum.Models.Ganjoor
/// </summary>
public virtual GanjoorMetre GanjoorMetre { get; set; }
/// <summary>
/// for non WholePoem sections, there must be a reference section for meters in order to make them updatable
/// </summary>
public int? GanjoorMetreRefSectionIndex { get; set; }
/// <summary>
/// rhyme letters
/// </summary>
@ -80,6 +85,11 @@ namespace RMuseum.Models.Ganjoor
/// </summary>
public string HtmlText { get; set; }
/// <summary>
/// valid for whole poem sections
/// </summary>
public GanjoorPoemFormat? PoemFormat { get; set; }
/// <summary>
/// top 6 related sections
/// </summary>

View File

@ -6902,7 +6902,7 @@
سپید
</summary>
</member>
<member name="F:RMuseum.Models.Ganjoor.GanjoorPoemFormat.Now">
<member name="F:RMuseum.Models.Ganjoor.GanjoorPoemFormat.New">
<summary>
نیمایی یا سپید
</summary>
@ -7020,6 +7020,11 @@
metre
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorPoemSection.GanjoorMetreRefSectionIndex">
<summary>
for non WholePoem sections, there must be a reference section for meters in order to make them updatable
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorPoemSection.RhymeLetters">
<summary>
rhyme letters
@ -7035,6 +7040,11 @@
verses text as html (ganjoor.net format)
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorPoemSection.PoemFormat">
<summary>
valid for whole poem sections
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorPoemSection.Top6RelatedSections">
<summary>
top 6 related sections

View File

@ -93,7 +93,8 @@ namespace RMuseum.Services.Implementation
GanjoorMetreId = poem.GanjoorMetreId,
RhymeLetters = poem.RhymeLetters,
HtmlText = PrepareHtmlText(singleVerses),
PlainText = PreparePlainText(singleVerses)
PlainText = PreparePlainText(singleVerses),
PoemFormat = GanjoorPoemFormat.New,
};
context.Add(mainSection);//having a main section for مثنوی inside normal text helps keep track of related versess
foreach (var verse in singleVerses)
@ -160,7 +161,8 @@ namespace RMuseum.Services.Implementation
GanjoorMetreId = poem.GanjoorMetreId,
RhymeLetters = poem.RhymeLetters,
HtmlText = PrepareHtmlText(singleVerses),
PlainText = PreparePlainText(singleVerses)
PlainText = PreparePlainText(singleVerses),
PoemFormat = GanjoorPoemFormat.New,
};
context.Add(mainSection);//having a main section for مثنوی inside normal text helps keep track of related versess
foreach (var verse in singleVerses)
@ -257,7 +259,8 @@ namespace RMuseum.Services.Implementation
GanjoorMetreId = poem.GanjoorMetreId,
RhymeLetters = poem.RhymeLetters,
HtmlText = PrepareHtmlText(nonCommentVerses),
PlainText = PreparePlainText(nonCommentVerses)
PlainText = PreparePlainText(nonCommentVerses),
PoemFormat = GanjoorPoemFormat.MultiBand,
};
context.Add(mainSection);
index++;
@ -271,6 +274,7 @@ namespace RMuseum.Services.Implementation
Index = index,
Number = index + 1,
GanjoorMetreId = poem.GanjoorMetreId,
GanjoorMetreRefSectionIndex = mainSection.Index,
};
List<GanjoorVerse> bandVerses = new List<GanjoorVerse>();
foreach (var verse in nonCommentVerses)
@ -309,6 +313,7 @@ namespace RMuseum.Services.Implementation
Index = index,
Number = index + 1,
GanjoorMetreId = poem.GanjoorMetreId,
GanjoorMetreRefSectionIndex = mainSection.Index,
};
}
}
@ -335,6 +340,7 @@ namespace RMuseum.Services.Implementation
Index = index,
Number = index + 1,
GanjoorMetreId = poem.GanjoorMetreId,
GanjoorMetreRefSectionIndex = mainSection.Index,
};
foreach (var bandVerse in bandVerses)
{
@ -361,12 +367,14 @@ namespace RMuseum.Services.Implementation
GanjoorMetreId = poem.GanjoorMetreId,
RhymeLetters = poem.RhymeLetters,
HtmlText = PrepareHtmlText(nonCommentVerses),
PlainText = PreparePlainText(nonCommentVerses)
PlainText = PreparePlainText(nonCommentVerses),
PoemFormat = GanjoorPoemFormat.Unknown,
};
//checking for مثنوی phase 1
if (string.IsNullOrEmpty(poem.RhymeLetters))
{
mainSection.RhymeLetters = LanguageUtils.FindRhyme(nonCommentVerses).Rhyme;
mainSection.PoemFormat = GanjoorPoemFormat.Generic;
}
context.Add(mainSection);//having a main section for مثنوی inside normal text helps keep track of related versess
foreach (var verse in nonCommentVerses)
@ -383,6 +391,7 @@ namespace RMuseum.Services.Implementation
{
if (_IsMasnavi(nonCommentVerses))
{
mainSection.PoemFormat = GanjoorPoemFormat.Masnavi;
for (int v = 0; v < nonCommentVerses.Count; v += 2)
{
index++;
@ -402,7 +411,8 @@ namespace RMuseum.Services.Implementation
Index = index,
Number = index,//couplet number
GanjoorMetreId = poem.GanjoorMetreId,
RhymeLetters = res.Rhyme
RhymeLetters = res.Rhyme,
GanjoorMetreRefSectionIndex = mainSection.Index,
};
rightVerse.SecondSectionIndex = verseSection.Index;