validating poem narraions while PUTing them
This commit is contained in:
parent
33962d4f07
commit
ac77196997
@ -4799,6 +4799,13 @@
|
||||
<param name="id">narration id</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.AudioNarrationService.GetPoemNarrationValidationError(RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationViewModel)">
|
||||
<summary>
|
||||
validate PoemNarrationViewModel
|
||||
</summary>
|
||||
<param name="p"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.AudioNarrationService.UpdatePoemNarration(System.Int32,RMuseum.Models.GanjoorAudio.ViewModels.PoemNarrationViewModel)">
|
||||
<summary>
|
||||
updates metadata for narration
|
||||
|
||||
@ -136,6 +136,40 @@ namespace RMuseum.Services.Implementation
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// validate PoemNarrationViewModel
|
||||
/// </summary>
|
||||
/// <param name="p"></param>
|
||||
/// <returns></returns>
|
||||
private static string GetPoemNarrationValidationError(PoemNarrationViewModel p)
|
||||
{
|
||||
if (p.AudioArtist.Length < 3)
|
||||
{
|
||||
return "نام خوانشگر باید حداقل شامل سه نویسه باشد.";
|
||||
}
|
||||
|
||||
string s = LanguageUtils.GetFirstNotMatchingCharacter(p.AudioArtist, LanguageUtils.PersianAlphabet, " ");
|
||||
if (s != "")
|
||||
{
|
||||
return $"نام فقط باید شامل حروف فارسی و فاصله باشد. اولین حرف غیرمجاز = {s}";
|
||||
}
|
||||
|
||||
s = LanguageUtils.GetFirstNotMatchingCharacter(p.AudioArtistUrl, LanguageUtils.EnglishLowerCaseAlphabet, LanguageUtils.EnglishLowerCaseAlphabet.ToUpper() + @":/._-");
|
||||
|
||||
if (s != "")
|
||||
{
|
||||
return $"نشانی وب خوانشگر شامل حروف غیر مجاز است. اولین حرف غیرمجاز = {s}";
|
||||
}
|
||||
|
||||
s = LanguageUtils.GetFirstNotMatchingCharacter(p.AudioSrcUrl, LanguageUtils.EnglishLowerCaseAlphabet, LanguageUtils.EnglishLowerCaseAlphabet.ToUpper() + @":/._-");
|
||||
if (s != "")
|
||||
{
|
||||
return $"نشانی وب منبع شامل حروف غیر مجاز است. اولین حرف غیرمجاز = {s}";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// updates metadata for narration
|
||||
/// </summary>
|
||||
@ -146,6 +180,19 @@ namespace RMuseum.Services.Implementation
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
metadata.AudioTitle = metadata.AudioTitle.Trim();
|
||||
metadata.AudioArtist = metadata.AudioArtist.Trim();
|
||||
metadata.AudioArtistUrl = metadata.AudioArtistUrl.Trim();
|
||||
metadata.AudioSrc = metadata.AudioSrc.Trim();
|
||||
metadata.AudioSrcUrl = metadata.AudioSrcUrl.Trim();
|
||||
|
||||
string err = GetPoemNarrationValidationError(metadata);
|
||||
if(!string.IsNullOrEmpty(err))
|
||||
{
|
||||
return new RServiceResult<PoemNarrationViewModel>(null, err);
|
||||
}
|
||||
|
||||
PoemNarration narration = await _context.AudioFiles.Include(a => a.Owner).Where(a => a.Id == id).SingleOrDefaultAsync();
|
||||
if(narration == null)
|
||||
return new RServiceResult<PoemNarrationViewModel>(null, "404");
|
||||
@ -902,7 +949,7 @@ namespace RMuseum.Services.Implementation
|
||||
string s = LanguageUtils.GetFirstNotMatchingCharacter(p.ArtistName, LanguageUtils.PersianAlphabet, " ");
|
||||
if (s != "")
|
||||
{
|
||||
return $"نام فقط باید شامل حروف فارسی و فاصله باشد. اولین حرف غیرمجاز = {s}";
|
||||
return $"نام خوانشگر فقط باید شامل حروف فارسی و فاصله باشد. اولین حرف غیرمجاز = {s}";
|
||||
}
|
||||
|
||||
s = LanguageUtils.GetFirstNotMatchingCharacter(p.ArtistUrl, LanguageUtils.EnglishLowerCaseAlphabet, LanguageUtils.EnglishLowerCaseAlphabet.ToUpper() + @":/._-");
|
||||
@ -929,6 +976,8 @@ namespace RMuseum.Services.Implementation
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Add a narration profile
|
||||
/// </summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user