#445 tajik poem services
This commit is contained in:
parent
8b2e110077
commit
47c076cf3a
@ -11,6 +11,11 @@ namespace RMuseum.Models.Ganjoor
|
||||
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// cat id
|
||||
/// </summary>
|
||||
public int CatId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// title
|
||||
/// </summary>
|
||||
|
||||
@ -14,7 +14,7 @@ namespace RMuseum.Models.Ganjoor
|
||||
/// <summary>
|
||||
/// tajik nick name
|
||||
/// </summary>
|
||||
public string TajikNickName { get; set; }
|
||||
public string TajikNickname { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// additional descripion or note in Tajik
|
||||
|
||||
@ -11,6 +11,17 @@ namespace RMuseum.Models.Ganjoor
|
||||
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// poem_id
|
||||
/// </summary>
|
||||
public int PoemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// vorder
|
||||
/// </summary>
|
||||
public int VOrder { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// tajik text
|
||||
/// </summary>
|
||||
|
||||
@ -9780,6 +9780,11 @@
|
||||
id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikPoem.CatId">
|
||||
<summary>
|
||||
cat id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikPoem.TajikTitle">
|
||||
<summary>
|
||||
title
|
||||
@ -9800,7 +9805,7 @@
|
||||
id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikPoet.TajikNickName">
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikPoet.TajikNickname">
|
||||
<summary>
|
||||
tajik nick name
|
||||
</summary>
|
||||
@ -9815,6 +9820,16 @@
|
||||
id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikVerse.PoemId">
|
||||
<summary>
|
||||
poem_id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikVerse.VOrder">
|
||||
<summary>
|
||||
vorder
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.GanjoorTajikVerse.TajikText">
|
||||
<summary>
|
||||
tajik text
|
||||
@ -16788,6 +16803,20 @@
|
||||
transilerate verse data from Persian to Tajiki
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.GetTajikPoetsAsync">
|
||||
<summary>
|
||||
tajik poets
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.GetTajikPageByUrlAsync(System.String,System.Boolean)">
|
||||
<summary>
|
||||
tajik page by url
|
||||
</summary>
|
||||
<param name="url"></param>
|
||||
<param name="catPoems"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IGanjoorTranslationService">
|
||||
<summary>
|
||||
translation service implementation
|
||||
@ -19259,6 +19288,14 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetTajikPageByUrlAsync(System.String,System.Boolean)">
|
||||
<summary>
|
||||
tajik page by url
|
||||
</summary>
|
||||
<param name="url"></param>
|
||||
<param name="catPoems"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.GetPoets(System.Boolean,System.Boolean)">
|
||||
<summary>
|
||||
Get List of poets
|
||||
|
||||
@ -1472,5 +1472,19 @@ namespace RMuseum.Services
|
||||
/// </summary>
|
||||
void Transilerate();
|
||||
|
||||
/// <summary>
|
||||
/// tajik poets
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<GanjoorTajikPoet[]>> GetTajikPoetsAsync();
|
||||
|
||||
/// <summary>
|
||||
/// tajik page by url
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="catPoems"></param>
|
||||
/// <returns></returns>
|
||||
Task<RServiceResult<GanjoorPageCompleteViewModel>> GetTajikPageByUrlAsync(string url, bool catPoems = false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,7 +53,9 @@ namespace RMuseum.Services.Implementation
|
||||
GanjoorTajikVerse tajikVerse = new GanjoorTajikVerse()
|
||||
{
|
||||
Id = verse.Id,
|
||||
TajikText = TajikTransilerator.Transilerate(verse.Text)
|
||||
PoemId = verse.PoemId,
|
||||
VOrder = verse.VOrder,
|
||||
TajikText = TajikTransilerator.Transilerate(verse.Text),
|
||||
};
|
||||
context.Add(tajikVerse);
|
||||
}
|
||||
@ -64,6 +66,7 @@ namespace RMuseum.Services.Implementation
|
||||
GanjoorTajikPoem tajikPoem = new GanjoorTajikPoem()
|
||||
{
|
||||
Id = poem.Id,
|
||||
CatId = poem.CatId,
|
||||
TajikTitle = TajikTransilerator.Transilerate(poem.Title),
|
||||
};
|
||||
context.Add(tajikPoem);
|
||||
@ -91,7 +94,7 @@ namespace RMuseum.Services.Implementation
|
||||
GanjoorTajikPoet tajikPoet = new GanjoorTajikPoet()
|
||||
{
|
||||
Id = poet.Id,
|
||||
TajikNickName = TajikTransilerator.Transilerate(poet.Nickname),
|
||||
TajikNickname = TajikTransilerator.Transilerate(poet.Nickname),
|
||||
TajikDescription = TajikTransilerator.Transilerate(poet.Description),
|
||||
};
|
||||
context.Add(tajikPoet);
|
||||
|
||||
@ -3,6 +3,9 @@ using System;
|
||||
using RMuseum.Models.Ganjoor;
|
||||
using System.Threading.Tasks;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
using RMuseum.Models.Ganjoor.ViewModels;
|
||||
using System.Linq;
|
||||
using Org.BouncyCastle.Asn1.Ocsp;
|
||||
|
||||
namespace RMuseum.Services.Implementation
|
||||
{
|
||||
@ -26,5 +29,97 @@ namespace RMuseum.Services.Implementation
|
||||
return new RServiceResult<GanjoorTajikPoet[]>(null, exp.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// tajik page by url
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <param name="catPoems"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<RServiceResult<GanjoorPageCompleteViewModel>> GetTajikPageByUrlAsync(string url, bool catPoems = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var res = await GetPageByUrl(url, catPoems);
|
||||
if (!string.IsNullOrEmpty(res.ExceptionString))
|
||||
return res;
|
||||
GanjoorPageCompleteViewModel page = res.Result;
|
||||
|
||||
var tajikPoet = await _context.TajikPoets.AsNoTracking().Where(p => p.Id == page.PoetOrCat.Poet.Id).SingleOrDefaultAsync();
|
||||
if (tajikPoet == null)
|
||||
return new RServiceResult<GanjoorPageCompleteViewModel>(null, "Ин суханвар ҳануз ба тоҷикӣ дар дастрас нест.");
|
||||
page.PoetOrCat.Poet.Nickname = tajikPoet.TajikNickname;
|
||||
page.PoetOrCat.Poet.Description = tajikPoet.TajikDescription;
|
||||
var tajikCat = await _context.TajikCats.AsNoTracking().Where(c => c.Id == page.PoetOrCat.Cat.Id).SingleAsync();
|
||||
page.PoetOrCat.Cat.Title = tajikCat.TajikTitle;
|
||||
page.PoetOrCat.Cat.Description = tajikCat.TajikDescription;
|
||||
foreach (var parent in page.PoetOrCat.Cat.Ancestors)
|
||||
{
|
||||
var tajikParent = await _context.TajikCats.AsNoTracking().Where(c => c.Id == parent.Id).SingleAsync();
|
||||
parent.Title = tajikParent.TajikTitle;
|
||||
parent.Description = tajikParent.TajikDescription;
|
||||
}
|
||||
foreach (var child in page.PoetOrCat.Cat.Children)
|
||||
{
|
||||
var tajikChild = await _context.TajikCats.AsNoTracking().Where(c => c.Id == child.Id).SingleAsync();
|
||||
child.Title = tajikChild.TajikTitle;
|
||||
child.Description = tajikChild.TajikDescription;
|
||||
}
|
||||
if(page.PoetOrCat.Cat.Next != null)
|
||||
{
|
||||
var nextCat = await _context.TajikCats.AsNoTracking().Where(c => c.Id == page.PoetOrCat.Cat.Next.Id).SingleAsync();
|
||||
page.PoetOrCat.Cat.Next.Title = nextCat.TajikTitle;
|
||||
}
|
||||
if (page.PoetOrCat.Cat.Previous != null)
|
||||
{
|
||||
var preCat = await _context.TajikCats.AsNoTracking().Where(c => c.Id == page.PoetOrCat.Cat.Previous.Id).SingleAsync();
|
||||
page.PoetOrCat.Cat.Previous.Title = preCat.TajikTitle;
|
||||
}
|
||||
|
||||
if (page.PoetOrCat.Cat.Poems != null)
|
||||
{
|
||||
var tajikPoems = await _context.TajikPoems.AsNoTracking().Where(p => p.CatId == page.PoetOrCat.Cat.Id).ToListAsync();
|
||||
foreach (var poem in page.PoetOrCat.Cat.Poems)
|
||||
{
|
||||
var tajikPoem = tajikPoems.Where(p => p.Id == poem.Id).SingleOrDefault();
|
||||
if(tajikPoem != null)
|
||||
{
|
||||
poem.Title = tajikPoem.TajikTitle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(page.Poem != null)
|
||||
{
|
||||
var tajikPoem = await _context.TajikPoems.AsNoTracking().Where(p => p.Id == page.Poem.Id).SingleAsync();
|
||||
page.Poem.Title = tajikPoem.TajikTitle;
|
||||
page.Poem.PlainText = tajikPoem.TajikPlainText;
|
||||
page.Poem.HtmlText = tajikPoem.TajikHtmlText;
|
||||
|
||||
var tajikVerses = await _context.TajikVerses.AsNoTracking().Where(v => v.PoemId == page.Poem.Id).OrderBy(v => v.VOrder).ToListAsync();
|
||||
foreach( var verse in page.Poem.Verses)
|
||||
{
|
||||
verse.Text = tajikVerses.Where(v => v.VOrder == verse.VOrder).SingleOrDefault().TajikText;
|
||||
}
|
||||
|
||||
if(page.Poem.Next != null)
|
||||
{
|
||||
var nextPoem = await _context.TajikPoems.AsNoTracking().Where(p => p.Id == page.Poem.Next.Id).SingleAsync();
|
||||
page.Poem.Next.Title = nextPoem.TajikTitle;
|
||||
|
||||
}
|
||||
if (page.Poem.Previous != null)
|
||||
{
|
||||
var prePoem = await _context.TajikPoems.AsNoTracking().Where(p => p.Id == page.Poem.Previous.Id).SingleAsync();
|
||||
page.Poem.Next.Title = prePoem.TajikTitle;
|
||||
}
|
||||
}
|
||||
return new RServiceResult<GanjoorPageCompleteViewModel>(page);
|
||||
}
|
||||
catch (Exception exp)
|
||||
{
|
||||
return new RServiceResult<GanjoorPageCompleteViewModel>(null, exp.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user