#413 search by poem format in similars page
This commit is contained in:
parent
29fdfaff94
commit
495d4977cd
@ -204,6 +204,38 @@
|
||||
}
|
||||
</select>
|
||||
|
||||
<label for="f" class="width-100per">قالب شعر:</label>
|
||||
|
||||
<select id="f" name="f" class="width-100per">
|
||||
@foreach (var poemFormat in System.Enum.GetValues(typeof(RMuseum.Models.Ganjoor.GanjoorPoemFormat)))
|
||||
{
|
||||
if ((RMuseum.Models.Ganjoor.GanjoorPoemFormat)poemFormat == RMuseum.Models.Ganjoor.GanjoorPoemFormat.Unknown)
|
||||
{
|
||||
if (RMuseum.Models.Ganjoor.GanjoorPoemFormat.Unknown == Model.Format)
|
||||
{
|
||||
<option value="@((int)poemFormat)" selected>همهٔ قالبها</option>
|
||||
}
|
||||
else
|
||||
{
|
||||
<option value="@((int)poemFormat)">همهٔ قالبها</option>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if((RMuseum.Models.Ganjoor.GanjoorPoemFormat)poemFormat == Model.Format)
|
||||
{
|
||||
<option value="@((int)poemFormat)" selected>@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString((RMuseum.Models.Ganjoor.GanjoorPoemFormat)poemFormat)</option>
|
||||
}
|
||||
else
|
||||
{
|
||||
<option value="@((int)poemFormat)">@RMuseum.Services.Implementation.GanjoorPoemFormatConvertor.GetString((RMuseum.Models.Ganjoor.GanjoorPoemFormat)poemFormat)</option>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
</select>
|
||||
|
||||
<input type="submit" class="width-100per margin-top-5px" value="اعمال ورودیها" />
|
||||
|
||||
@if (Model.CanEdit)
|
||||
|
||||
@ -11,6 +11,7 @@ using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using RMuseum.Models.Ganjoor;
|
||||
using RMuseum.Models.Ganjoor.ViewModels;
|
||||
using RMuseum.Services.Implementation;
|
||||
using RMuseum.Utils;
|
||||
using RSecurityBackend.Models.Generic;
|
||||
|
||||
@ -72,8 +73,8 @@ namespace GanjooRazor.Pages
|
||||
public List<GanjoorPoemCompleteViewModel> Poems { get; set; }
|
||||
public string PagingToolsHtml { get; set; }
|
||||
public string LastError { get; set; }
|
||||
|
||||
public string Language { get; set; }
|
||||
public GanjoorPoemFormat Format { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
@ -193,6 +194,16 @@ namespace GanjooRazor.Pages
|
||||
|
||||
Language ??= "fa-IR";
|
||||
|
||||
string f = Request.Query["f"];
|
||||
anyParamsGiven |= f != null;
|
||||
|
||||
Format = GanjoorPoemFormat.Unknown;
|
||||
if(f != null)
|
||||
{
|
||||
Format = (GanjoorPoemFormat)int.Parse(f);
|
||||
}
|
||||
|
||||
|
||||
ViewData["GoogleAnalyticsCode"] = Configuration["GoogleAnalyticsCode"];
|
||||
|
||||
//todo: use html master layout or make it partial
|
||||
@ -298,11 +309,16 @@ namespace GanjooRazor.Pages
|
||||
var langModel = Languages.Where(l => l.Code == Language).FirstOrDefault();
|
||||
if (langModel != null)
|
||||
{
|
||||
title += $"با زبان غالب «{langModel.Name}»";
|
||||
title += $" با زبان غالب «{langModel.Name}»";
|
||||
}
|
||||
}
|
||||
|
||||
string url = $"{APIRoot.Url}/api/ganjoor/poems/similar?PageNumber={pageNumber}&PageSize=20&metre={Metre}&rhyme={Rhyme}&poetId={PoetId}&language={Language}";
|
||||
if(Format != GanjoorPoemFormat.Unknown)
|
||||
{
|
||||
title += $" در قالب شعری «{GanjoorPoemFormatConvertor.GetString(Format)}»";
|
||||
}
|
||||
|
||||
string url = $"{APIRoot.Url}/api/ganjoor/poems/similar?PageNumber={pageNumber}&PageSize=20&metre={Metre}&rhyme={Rhyme}&poetId={PoetId}&language={Language}&format={(int)Format}";
|
||||
var response = await _httpClient.GetAsync(url);
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
@ -329,7 +345,7 @@ namespace GanjooRazor.Pages
|
||||
title += $" - صفحهٔ {pageNumber.ToPersianNumbers()}";
|
||||
if (paginationMetadata.currentPage > 3)
|
||||
{
|
||||
htmlText += $"<a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&g={Uri.EscapeDataString(Rhyme)}&page=1{authorParam}&l={Language}\"><div class=\"circled-number\">۱</div></a> …";
|
||||
htmlText += $"<a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&g={Uri.EscapeDataString(Rhyme)}&page=1{authorParam}&l={Language}&f={(int)Format}\"><div class=\"circled-number\">۱</div></a> …";
|
||||
}
|
||||
for (int i = paginationMetadata.currentPage - 2; i <= (paginationMetadata.currentPage + 2); i++)
|
||||
{
|
||||
@ -341,13 +357,13 @@ namespace GanjooRazor.Pages
|
||||
}
|
||||
else
|
||||
{
|
||||
htmlText += $"<a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&g={Uri.EscapeDataString(Rhyme)}&page={i}{authorParam}&l={Language}\"><div class=\"circled-number\">{i.ToPersianNumbers()}</div></a>{Environment.NewLine}";
|
||||
htmlText += $"<a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&g={Uri.EscapeDataString(Rhyme)}&page={i}{authorParam}&l={Language}&f={(int)Format}\"><div class=\"circled-number\">{i.ToPersianNumbers()}</div></a>{Environment.NewLine}";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (paginationMetadata.totalPages > (paginationMetadata.currentPage + 2))
|
||||
{
|
||||
htmlText += $"… <a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&g={Uri.EscapeDataString(Rhyme)}&page={paginationMetadata.totalPages}{authorParam}&l={Language}\"><div class=\"circled-number\">{paginationMetadata.totalPages.ToPersianNumbers()}</div></a>{Environment.NewLine}";
|
||||
htmlText += $"… <a href=\"/simi/?v={Uri.EscapeDataString(Metre)}&g={Uri.EscapeDataString(Rhyme)}&page={paginationMetadata.totalPages}{authorParam}&l={Language}&f={(int)Format}\"><div class=\"circled-number\">{paginationMetadata.totalPages.ToPersianNumbers()}</div></a>{Environment.NewLine}";
|
||||
}
|
||||
htmlText += $"</div>{Environment.NewLine}";
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user