#418 simplifying model

This commit is contained in:
Hamid Reza Mohammadi 2023-12-15 09:59:30 +03:30
parent 2d988be5e5
commit 0b3d160431
3 changed files with 68 additions and 298 deletions

View File

@ -32,6 +32,11 @@ namespace RMuseum.Models.Ganjoor
/// </summary>
public bool ChosenForMainList { get; set; }
/// <summary>
/// this sort order can be used to pin a record on top
/// </summary>
public int SortOrder { get; set; }
/// <summary>
/// related poem peot death date in hijri (used for sorting)
/// </summary>
@ -62,180 +67,61 @@ namespace RMuseum.Models.Ganjoor
/// </summary>
public string CachedRelatedPoemFullUrl { get; set; }
/// <summary>
/// couplet 1 poet name
/// </summary>
public string Couplet1PoetName { get; set; }
/// <summary>
/// couplet 1 verse 1
/// </summary>
public string Couplet1Verse1 { get; set; }
public string CoupletVerse1 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool Couplet1Verse1IsMainPart { get; set; }
public bool CoupletVerse1ShouldBeEmphasized { get; set; }
/// <summary>
/// couplet 1 verse 2
/// </summary>
public string Couplet1Verse2 { get; set; }
public string CoupletVerse2 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool Couplet1Verse2IsMainPart { get; set; }
public bool CoupletVerse2ShouldBeEmphasized { get; set; }
/// <summary>
/// couplet 1 index
/// </summary>
public int? Couplet1Index { get; set; }
public int? CoupletIndex { get; set; }
/// <summary>
/// related couplet 1 poet name
/// </summary>
public string RelatedCouplet1PoetName { get; set; }
/// <summary>
/// related couplet 1 verse 1
/// </summary>
public string RelatedCouplet1Verse1 { get; set; }
public string RelatedCoupletVerse1 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet1Verse1IsMainPart { get; set; }
public bool RelatedCoupletVerse1ShouldBeEmphasized { get; set; }
/// <summary>
/// related couplet 1 verse 2
/// </summary>
public string RelatedCouplet1Verse2 { get; set; }
public string RelatedCoupletVerse2 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet1Verse2IsMainPart { get; set; }
public bool RelatedCoupletVerse2ShouldBeEmphasized { get; set; }
/// <summary>
/// related couplet 1 index
/// </summary>
public int? RelatedCouplet1Index { get; set; }
/// <summary>
/// related couplet 1 verse 3
/// </summary>
public string RelatedCouplet1Verse3 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet1Verse3IsMainPart { get; set; }
/// <summary>
/// related couplet 1 verse 4
/// </summary>
public string RelatedCouplet1Verse4 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet1Verse4IsMainPart { get; set; }
/// <summary>
/// related couplet 1 - verse 3/4 index
/// </summary>
public int? RelatedCouplet1Verse34Index { get; set; }
/// <summary>
/// couplet 2 poet name
/// </summary>
public string Couplet2PoetName { get; set; }
/// <summary>
/// couplet 2 verse 1
/// </summary>
public string Couplet2Verse1 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool Couplet2Verse1IsMainPart { get; set; }
/// <summary>
/// couplet 2 verse 2
/// </summary>
public string Couplet2Verse2 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool Couplet2Verse2IsMainPart { get; set; }
/// <summary>
/// couplet 2 index
/// </summary>
public int? Couplet2Index { get; set; }
/// <summary>
/// related couplet 2 poet name
/// </summary>
public string RelatedCouplet2PoetName { get; set; }
/// <summary>
/// related couplet 2 verse 1
/// </summary>
public string RelatedCouplet2Verse1 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet2Verse1IsMainPart { get; set; }
/// <summary>
/// related couplet 2 verse 2
/// </summary>
public string RelatedCouplet2Verse2 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet2Verse2IsMainPart { get; set; }
/// <summary>
/// related couplet 2 index
/// </summary>
public int? RelatedCouplet2Index { get; set; }
/// <summary>
/// related couplet 2 verse 3
/// </summary>
public string RelatedCouplet2Verse3 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet2Verse3IsMainPart { get; set; }
/// <summary>
/// related couplet 2 verse 4
/// </summary>
public string RelatedCouplet2Verse4 { get; set; }
/// <summary>
/// is main part
/// </summary>
public bool RelatedCouplet2Verse4IsMainPart { get; set; }
/// <summary>
/// related couplet 2 - verse 3/4 index
/// </summary>
public int? RelatedCouplet2Verse34Index { get; set; }
public int? RelatedCoupletIndex { get; set; }
/// <summary>
/// description
/// </summary>
public string Description { get; set; }
public string Note { get; set; }
/// <summary>
/// published

View File

@ -8767,6 +8767,11 @@
if the related poet poem has multiple poems related to this poem, which one is chosen to be shown at main poems pages?
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.SortOrder">
<summary>
this sort order can be used to pin a record on top
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.CachedRelatedPoemPoetDeathYearInLHijri">
<summary>
related poem peot death date in hijri (used for sorting)
@ -8797,177 +8802,57 @@
full url
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet1PoetName">
<summary>
couplet 1 poet name
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet1Verse1">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.CoupletVerse1">
<summary>
couplet 1 verse 1
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet1Verse1IsMainPart">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.CoupletVerse1ShouldBeEmphasized">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet1Verse2">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.CoupletVerse2">
<summary>
couplet 1 verse 2
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet1Verse2IsMainPart">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.CoupletVerse2ShouldBeEmphasized">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet1Index">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.CoupletIndex">
<summary>
couplet 1 index
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1PoetName">
<summary>
related couplet 1 poet name
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse1">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCoupletVerse1">
<summary>
related couplet 1 verse 1
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse1IsMainPart">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCoupletVerse1ShouldBeEmphasized">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse2">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCoupletVerse2">
<summary>
related couplet 1 verse 2
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse2IsMainPart">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCoupletVerse2ShouldBeEmphasized">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Index">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCoupletIndex">
<summary>
related couplet 1 index
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse3">
<summary>
related couplet 1 verse 3
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse3IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse4">
<summary>
related couplet 1 verse 4
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse4IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet1Verse34Index">
<summary>
related couplet 1 - verse 3/4 index
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet2PoetName">
<summary>
couplet 2 poet name
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet2Verse1">
<summary>
couplet 2 verse 1
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet2Verse1IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet2Verse2">
<summary>
couplet 2 verse 2
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet2Verse2IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Couplet2Index">
<summary>
couplet 2 index
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2PoetName">
<summary>
related couplet 2 poet name
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse1">
<summary>
related couplet 2 verse 1
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse1IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse2">
<summary>
related couplet 2 verse 2
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse2IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Index">
<summary>
related couplet 2 index
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse3">
<summary>
related couplet 2 verse 3
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse3IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse4">
<summary>
related couplet 2 verse 4
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse4IsMainPart">
<summary>
is main part
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.RelatedCouplet2Verse34Index">
<summary>
related couplet 2 - verse 3/4 index
</summary>
</member>
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Description">
<member name="P:RMuseum.Models.Ganjoor.GanjoorQuotedPoem.Note">
<summary>
description
</summary>

View File

@ -70,35 +70,35 @@ namespace RMuseum.Services.Implementation
CachedRelatedPoemPoetImage = $"/api/ganjoor/poet/image{poem2Cat.FullUrl}.gif",
CachedRelatedPoemFullTitle = poem2.FullTitle,
CachedRelatedPoemFullUrl = poem2.FullUrl,
Description = "",
SortOrder = 1000,
Note = "",
Published = true
};
//first couplet:
relatedPoem.Couplet1PoetName = poem1Poet.Name;
tagIndex = dbPage.HtmlText.IndexOf("<p>", tagIndex);
if(tagIndex != -1 && tagIndex < closeTagIndex)
{
tagIndex = dbPage.HtmlText.IndexOf("\">", tagIndex);
tagIndex += "\">".Length;
relatedPoem.Couplet1Index = -1 + int.Parse(PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("<", tagIndex) - tagIndex - 1)));
relatedPoem.CoupletIndex = -1 + int.Parse(PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("<", tagIndex) - tagIndex - 1)));
tagIndex = dbPage.HtmlText.IndexOf(":", tagIndex) + 1;
relatedPoem.Couplet1Verse1 = dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("-", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.Couplet1Verse1IsMainPart = false;
if (relatedPoem.Couplet1Verse1.Contains("strong"))
relatedPoem.CoupletVerse1 = dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("-", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.CoupletVerse1ShouldBeEmphasized = false;
if (relatedPoem.CoupletVerse1.Contains("strong"))
{
relatedPoem.Couplet1Verse1IsMainPart = true;
relatedPoem.Couplet1Verse1 = relatedPoem.Couplet1Verse1.Replace("<strong>", "").Replace("</strong>", "");
relatedPoem.CoupletVerse1ShouldBeEmphasized = true;
relatedPoem.CoupletVerse1 = relatedPoem.CoupletVerse1.Replace("<strong>", "").Replace("</strong>", "");
}
relatedPoem.Couplet1Verse2 = dbPage.HtmlText.Substring(dbPage.HtmlText.IndexOf("-", tagIndex), dbPage.HtmlText.IndexOf("</p>", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.Couplet1Verse2IsMainPart = false;
if (relatedPoem.Couplet1Verse2.Contains("strong"))
relatedPoem.CoupletVerse2 = dbPage.HtmlText.Substring(dbPage.HtmlText.IndexOf("-", tagIndex), dbPage.HtmlText.IndexOf("</p>", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.CoupletVerse2ShouldBeEmphasized = false;
if (relatedPoem.CoupletVerse2.Contains("strong"))
{
relatedPoem.Couplet1Verse2IsMainPart = true;
relatedPoem.Couplet1Verse2 = relatedPoem.Couplet1Verse2.Replace("<strong>", "").Replace("</strong>", "");
relatedPoem.CoupletVerse2ShouldBeEmphasized = true;
relatedPoem.CoupletVerse2 = relatedPoem.CoupletVerse2.Replace("<strong>", "").Replace("</strong>", "");
}
}
@ -107,24 +107,24 @@ namespace RMuseum.Services.Implementation
{
tagIndex = dbPage.HtmlText.IndexOf("\">", tagIndex);
tagIndex += "\">".Length;
relatedPoem.RelatedCouplet1Index = -1 + int.Parse(PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("<", tagIndex) - tagIndex - 1)));
relatedPoem.RelatedCoupletIndex = -1 + int.Parse(PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("<", tagIndex) - tagIndex - 1)));
tagIndex = dbPage.HtmlText.IndexOf(":", tagIndex) + 1;
relatedPoem.RelatedCouplet1Verse1 = dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("-", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.RelatedCouplet1Verse1IsMainPart = false;
if (relatedPoem.RelatedCouplet1Verse1.Contains("strong"))
relatedPoem.RelatedCoupletVerse1 = dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("-", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.RelatedCoupletVerse1ShouldBeEmphasized = false;
if (relatedPoem.RelatedCoupletVerse1.Contains("strong"))
{
relatedPoem.RelatedCouplet1Verse1IsMainPart = true;
relatedPoem.RelatedCouplet1Verse1 = relatedPoem.RelatedCouplet1Verse1.Replace("<strong>", "").Replace("</strong>", "");
relatedPoem.RelatedCoupletVerse1ShouldBeEmphasized = true;
relatedPoem.RelatedCoupletVerse1 = relatedPoem.RelatedCoupletVerse1.Replace("<strong>", "").Replace("</strong>", "");
}
relatedPoem.RelatedCouplet1Verse2 = dbPage.HtmlText.Substring(dbPage.HtmlText.IndexOf("-", tagIndex), dbPage.HtmlText.IndexOf("</p>", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.RelatedCouplet1Verse2IsMainPart = false;
if (relatedPoem.RelatedCouplet1Verse2.Contains("strong"))
relatedPoem.RelatedCoupletVerse2 = dbPage.HtmlText.Substring(dbPage.HtmlText.IndexOf("-", tagIndex), dbPage.HtmlText.IndexOf("</p>", tagIndex) - 1).Replace("\r", "").Replace("\n", "");
relatedPoem.RelatedCoupletVerse2ShouldBeEmphasized = false;
if (relatedPoem.RelatedCoupletVerse2.Contains("strong"))
{
relatedPoem.RelatedCouplet1Verse2IsMainPart = true;
relatedPoem.RelatedCouplet1Verse2 = relatedPoem.RelatedCouplet1Verse2.Replace("<strong>", "").Replace("</strong>", "");
relatedPoem.RelatedCoupletVerse2ShouldBeEmphasized = true;
relatedPoem.RelatedCoupletVerse2 = relatedPoem.RelatedCoupletVerse2.Replace("<strong>", "").Replace("</strong>", "");
}
}
@ -146,20 +146,19 @@ namespace RMuseum.Services.Implementation
CachedRelatedPoemPoetImage = $"/api/ganjoor/poet/image{poem1Cat.FullUrl}.gif",
CachedRelatedPoemFullTitle = poem1.FullTitle,
CachedRelatedPoemFullUrl = poem1.FullUrl,
Description = "",
SortOrder = 1000,
Note = "",
Published = true,
Couplet1PoetName = relatedPoem.Couplet1PoetName,
Couplet1Verse1 = relatedPoem.Couplet1Verse1,
Couplet1Verse1IsMainPart = relatedPoem.Couplet1Verse1IsMainPart,
Couplet1Verse2 = relatedPoem.Couplet1Verse2,
Couplet1Verse2IsMainPart = relatedPoem.Couplet1Verse2IsMainPart,
Couplet1Index = relatedPoem.Couplet1Index,
RelatedCouplet1PoetName = relatedPoem.RelatedCouplet1PoetName,
RelatedCouplet1Verse1 = relatedPoem.RelatedCouplet1Verse1,
RelatedCouplet1Verse1IsMainPart = relatedPoem.RelatedCouplet1Verse1IsMainPart,
RelatedCouplet1Verse2 = relatedPoem.RelatedCouplet1Verse2,
RelatedCouplet1Verse2IsMainPart = relatedPoem.RelatedCouplet1Verse2IsMainPart,
RelatedCouplet1Index = relatedPoem.RelatedCouplet1Index,
CoupletVerse1 = relatedPoem.CoupletVerse1,
CoupletVerse1ShouldBeEmphasized = relatedPoem.CoupletVerse1ShouldBeEmphasized,
CoupletVerse2 = relatedPoem.CoupletVerse2,
CoupletVerse2ShouldBeEmphasized = relatedPoem.CoupletVerse2ShouldBeEmphasized,
CoupletIndex = relatedPoem.CoupletIndex,
RelatedCoupletVerse1 = relatedPoem.RelatedCoupletVerse1,
RelatedCoupletVerse1ShouldBeEmphasized = relatedPoem.RelatedCoupletVerse1ShouldBeEmphasized,
RelatedCoupletVerse2 = relatedPoem.RelatedCoupletVerse2,
RelatedCoupletVerse2ShouldBeEmphasized = relatedPoem.RelatedCoupletVerse2ShouldBeEmphasized,
RelatedCoupletIndex = relatedPoem.RelatedCoupletIndex,
};
context.Add(reverseRelation);
await context.SaveChangesAsync();