mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-16 02:02:55 -07:00
Capitalizes V for tv show notification type. Refactors notification message curlys class.
This commit is contained in:
parent
4c571101c7
commit
412063c982
2 changed files with 172 additions and 234 deletions
|
@ -209,7 +209,6 @@ namespace Ombi.Notifications
|
||||||
if (model.RequestType == RequestType.Movie)
|
if (model.RequestType == RequestType.Movie)
|
||||||
{
|
{
|
||||||
_log.LogDebug("Notification options: {@model}, Req: {@MovieRequest}, Settings: {@Customization}", model, MovieRequest, Customization);
|
_log.LogDebug("Notification options: {@model}, Req: {@MovieRequest}, Settings: {@Customization}", model, MovieRequest, Customization);
|
||||||
|
|
||||||
curlys.Setup(model, MovieRequest, Customization, preference);
|
curlys.Setup(model, MovieRequest, Customization, preference);
|
||||||
}
|
}
|
||||||
else if (model.RequestType == RequestType.TvShow)
|
else if (model.RequestType == RequestType.TvShow)
|
||||||
|
|
|
@ -14,228 +14,164 @@ namespace Ombi.Notifications
|
||||||
{
|
{
|
||||||
public class NotificationMessageCurlys
|
public class NotificationMessageCurlys
|
||||||
{
|
{
|
||||||
public void Setup(NotificationOptions opts, MovieRequests req, CustomizationSettings s, UserNotificationPreferences pref)
|
|
||||||
{
|
|
||||||
LoadIssues(opts);
|
|
||||||
|
|
||||||
RequestId = req?.Id.ToString();
|
|
||||||
ProviderId = req?.TheMovieDbId.ToString() ?? string.Empty;
|
|
||||||
string title;
|
|
||||||
if (req == null)
|
|
||||||
{
|
|
||||||
opts.Substitutes.TryGetValue("Title", out title);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
title = req?.Title;
|
|
||||||
}
|
|
||||||
ApplicationUrl = (s?.ApplicationUrl.HasValue() ?? false) ? s.ApplicationUrl : string.Empty;
|
|
||||||
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s?.ApplicationName;
|
|
||||||
RequestedUser = req?.RequestedUser?.UserName;
|
|
||||||
if (UserName.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
// Can be set if it's an issue
|
|
||||||
UserName = req?.RequestedUser?.UserName;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Alias.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
// Can be set if it's an issue
|
|
||||||
Alias = (req?.RequestedUser?.Alias.HasValue() ?? false) ? req?.RequestedUser?.Alias : req?.RequestedUser?.UserName;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pref != null)
|
|
||||||
{
|
|
||||||
UserPreference = pref.Value.HasValue() ? pref.Value : Alias;
|
|
||||||
}
|
|
||||||
Title = title;
|
|
||||||
RequestedDate = req?.RequestedDate.ToString("D");
|
|
||||||
if (Type.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
Type = req?.RequestType.Humanize();
|
|
||||||
}
|
|
||||||
Overview = req?.Overview;
|
|
||||||
Year = req?.ReleaseDate.Year.ToString();
|
|
||||||
DenyReason = req?.DeniedReason;
|
|
||||||
AvailableDate = req?.MarkedAsAvailable?.ToString("D") ?? string.Empty;
|
|
||||||
if (req?.RequestType == RequestType.Movie)
|
|
||||||
{
|
|
||||||
PosterImage = string.Format((req?.PosterPath ?? string.Empty).StartsWith("/", StringComparison.InvariantCultureIgnoreCase)
|
|
||||||
? "https://image.tmdb.org/t/p/w300{0}" : "https://image.tmdb.org/t/p/w300/{0}", req?.PosterPath);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
PosterImage = req?.PosterPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
AdditionalInformation = opts?.AdditionalInformation ?? string.Empty;
|
|
||||||
|
|
||||||
CalculateRequestStatus(req);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Setup(NotificationOptions opts, AlbumRequest req, CustomizationSettings s, UserNotificationPreferences pref)
|
|
||||||
{
|
|
||||||
LoadIssues(opts);
|
|
||||||
|
|
||||||
RequestId = req?.Id.ToString();
|
|
||||||
ProviderId = req?.ForeignArtistId ?? string.Empty;
|
|
||||||
|
|
||||||
string title;
|
|
||||||
if (req == null)
|
|
||||||
{
|
|
||||||
opts.Substitutes.TryGetValue("Title", out title);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
title = req?.Title;
|
|
||||||
}
|
|
||||||
ApplicationUrl = (s?.ApplicationUrl.HasValue() ?? false) ? s.ApplicationUrl : string.Empty;
|
|
||||||
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s?.ApplicationName;
|
|
||||||
RequestedUser = req?.RequestedUser?.UserName;
|
|
||||||
if (UserName.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
// Can be set if it's an issue
|
|
||||||
UserName = req?.RequestedUser?.UserName;
|
|
||||||
}
|
|
||||||
|
|
||||||
AvailableDate = req?.MarkedAsAvailable?.ToString("D") ?? string.Empty;
|
|
||||||
DenyReason = req?.DeniedReason;
|
|
||||||
if (Alias.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
Alias = (req?.RequestedUser?.Alias.HasValue() ?? false) ? req?.RequestedUser?.Alias : req?.RequestedUser?.UserName;
|
|
||||||
}
|
|
||||||
if (pref != null)
|
|
||||||
{
|
|
||||||
UserPreference = pref.Value.HasValue() ? pref.Value : Alias;
|
|
||||||
}
|
|
||||||
Title = title;
|
|
||||||
RequestedDate = req?.RequestedDate.ToString("D");
|
|
||||||
if (Type.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
Type = req?.RequestType.Humanize();
|
|
||||||
}
|
|
||||||
Year = req?.ReleaseDate.Year.ToString();
|
|
||||||
PosterImage = (req?.Cover.HasValue() ?? false) ? req.Cover : req?.Disk ?? string.Empty;
|
|
||||||
|
|
||||||
AdditionalInformation = opts?.AdditionalInformation ?? string.Empty;
|
|
||||||
CalculateRequestStatus(req);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetupNewsletter(CustomizationSettings s)
|
public void SetupNewsletter(CustomizationSettings s)
|
||||||
{
|
{
|
||||||
ApplicationUrl = (s?.ApplicationUrl.HasValue() ?? false) ? s.ApplicationUrl : string.Empty;
|
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s.ApplicationName;
|
||||||
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s?.ApplicationName;
|
ApplicationUrl = s?.ApplicationUrl.HasValue() ?? false ? s.ApplicationUrl : string.Empty;
|
||||||
}
|
|
||||||
|
|
||||||
public void Setup(NotificationOptions opts, ChildRequests req, CustomizationSettings s, UserNotificationPreferences pref)
|
|
||||||
{
|
|
||||||
LoadIssues(opts);
|
|
||||||
RequestId = req?.Id.ToString();
|
|
||||||
ProviderId = req?.ParentRequest?.ExternalProviderId.ToString() ?? string.Empty;
|
|
||||||
string title;
|
|
||||||
if (req == null)
|
|
||||||
{
|
|
||||||
opts.Substitutes.TryGetValue("Title", out title);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
title = req?.ParentRequest.Title;
|
|
||||||
}
|
|
||||||
DenyReason = req?.DeniedReason;
|
|
||||||
ApplicationUrl = (s?.ApplicationUrl.HasValue() ?? false) ? s.ApplicationUrl : string.Empty;
|
|
||||||
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s?.ApplicationName;
|
|
||||||
RequestedUser = req?.RequestedUser?.UserName;
|
|
||||||
if (UserName.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
// Can be set if it's an issue
|
|
||||||
UserName = req?.RequestedUser?.UserName;
|
|
||||||
}
|
|
||||||
AvailableDate = req?.MarkedAsAvailable?.ToString("D") ?? string.Empty;
|
|
||||||
if (Alias.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
Alias = (req?.RequestedUser?.Alias.HasValue() ?? false) ? req?.RequestedUser?.Alias : req?.RequestedUser?.UserName;
|
|
||||||
}
|
|
||||||
if (pref != null)
|
|
||||||
{
|
|
||||||
UserPreference = pref.Value.HasValue() ? pref.Value : Alias;
|
|
||||||
}
|
|
||||||
Title = title;
|
|
||||||
RequestedDate = req?.RequestedDate.ToString("D");
|
|
||||||
if (Type.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
Type = req?.RequestType.Humanize();
|
|
||||||
}
|
|
||||||
|
|
||||||
Overview = req?.ParentRequest.Overview;
|
|
||||||
Year = req?.ParentRequest.ReleaseDate.Year.ToString();
|
|
||||||
if (req?.RequestType == RequestType.Movie)
|
|
||||||
{
|
|
||||||
PosterImage = string.Format((req?.ParentRequest.PosterPath ?? string.Empty).StartsWith("/", StringComparison.InvariantCultureIgnoreCase)
|
|
||||||
? "https://image.tmdb.org/t/p/w300{0}" : "https://image.tmdb.org/t/p/w300/{0}", req?.ParentRequest.PosterPath);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
PosterImage = req?.ParentRequest.PosterPath;
|
|
||||||
}
|
|
||||||
AdditionalInformation = opts.AdditionalInformation;
|
|
||||||
// DO Episode and Season Lists
|
|
||||||
|
|
||||||
var episodes = req?.SeasonRequests?.SelectMany(x => x.Episodes) ?? new List<EpisodeRequests>();
|
|
||||||
var seasons = req?.SeasonRequests?.OrderBy(x => x.SeasonNumber).ToList() ?? new List<SeasonRequests>();
|
|
||||||
var orderedEpisodes = episodes.OrderBy(x => x.EpisodeNumber).ToList();
|
|
||||||
var epSb = new StringBuilder();
|
|
||||||
var seasonSb = new StringBuilder();
|
|
||||||
for (var i = 0; i < orderedEpisodes.Count; i++)
|
|
||||||
{
|
|
||||||
var ep = orderedEpisodes[i];
|
|
||||||
if (i < orderedEpisodes.Count - 1)
|
|
||||||
{
|
|
||||||
epSb.Append($"{ep.EpisodeNumber},");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
epSb.Append($"{ep.EpisodeNumber}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 0; i < seasons.Count; i++)
|
|
||||||
{
|
|
||||||
var ep = seasons[i];
|
|
||||||
if (i < seasons.Count - 1)
|
|
||||||
{
|
|
||||||
seasonSb.Append($"{ep.SeasonNumber},");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
seasonSb.Append($"{ep.SeasonNumber}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
EpisodesList = epSb.ToString();
|
|
||||||
SeasonsList = seasonSb.ToString();
|
|
||||||
CalculateRequestStatus(req);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Setup(OmbiUser user, CustomizationSettings s)
|
public void Setup(OmbiUser user, CustomizationSettings s)
|
||||||
{
|
{
|
||||||
ApplicationUrl = (s?.ApplicationUrl.HasValue() ?? false) ? s.ApplicationUrl : string.Empty;
|
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s.ApplicationName;
|
||||||
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s?.ApplicationName;
|
ApplicationUrl = s?.ApplicationUrl.HasValue() ?? false ? s.ApplicationUrl : string.Empty;
|
||||||
RequestedUser = user.UserName;
|
RequestedUser = user.UserName;
|
||||||
Alias = user.UserAlias;
|
Alias = user.UserAlias;
|
||||||
UserName = user.UserName;
|
UserName = user.UserName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Setup(NotificationOptions opts, MovieRequests req, CustomizationSettings s,
|
||||||
|
UserNotificationPreferences pref)
|
||||||
|
{
|
||||||
|
LoadIssues(opts);
|
||||||
|
LoadCommon(req, s, pref);
|
||||||
|
LoadTitle(opts, req);
|
||||||
|
ProviderId = req?.TheMovieDbId.ToString() ?? string.Empty;
|
||||||
|
Year = req?.ReleaseDate.Year.ToString();
|
||||||
|
Overview = req?.Overview;
|
||||||
|
AdditionalInformation = opts?.AdditionalInformation ?? string.Empty;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(req?.PosterPath))
|
||||||
|
{
|
||||||
|
PosterImage = $"https://image.tmdb.org/t/p/w300/{req.PosterPath.TrimStart('/')}";
|
||||||
|
}
|
||||||
|
|
||||||
|
CalculateRequestStatus(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Setup(NotificationOptions opts, ChildRequests req, CustomizationSettings s,
|
||||||
|
UserNotificationPreferences pref)
|
||||||
|
{
|
||||||
|
LoadIssues(opts);
|
||||||
|
LoadCommon(req, s, pref);
|
||||||
|
LoadTitle(opts, req);
|
||||||
|
ProviderId = req?.ParentRequest?.ExternalProviderId.ToString() ?? string.Empty;
|
||||||
|
Year = req?.ParentRequest?.ReleaseDate.Year.ToString();
|
||||||
|
Overview = req?.ParentRequest?.Overview;
|
||||||
|
AdditionalInformation = opts.AdditionalInformation;
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(req?.ParentRequest?.PosterPath))
|
||||||
|
{
|
||||||
|
PosterImage = $"https://image.tmdb.org/t/p/w300/{req.ParentRequest?.PosterPath.TrimStart('/')}";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generate episode list.
|
||||||
|
StringBuilder epSb = new StringBuilder();
|
||||||
|
IEnumerable<EpisodeRequests> episodes = req?.SeasonRequests?
|
||||||
|
.SelectMany(x => x.Episodes) ?? new List<EpisodeRequests>();
|
||||||
|
episodes
|
||||||
|
.OrderBy(x => x.EpisodeNumber)
|
||||||
|
.ToList()
|
||||||
|
.ForEach(ep => epSb.Append($"{ep.EpisodeNumber},"));
|
||||||
|
if (epSb.Length > 0) epSb.Remove(epSb.Length - 1, 1);
|
||||||
|
EpisodesList = epSb.ToString();
|
||||||
|
|
||||||
|
// Generate season list.
|
||||||
|
StringBuilder seasonSb = new StringBuilder();
|
||||||
|
List<SeasonRequests> seasons = req?.SeasonRequests ?? new List<SeasonRequests>();
|
||||||
|
seasons
|
||||||
|
.OrderBy(x => x.SeasonNumber)
|
||||||
|
.ToList()
|
||||||
|
.ForEach(ep => seasonSb.Append($"{ep.SeasonNumber},"));
|
||||||
|
if (seasonSb.Length > 0) seasonSb.Remove(seasonSb.Length - 1, 1);
|
||||||
|
SeasonsList = seasonSb.ToString();
|
||||||
|
CalculateRequestStatus(req);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Setup(NotificationOptions opts, AlbumRequest req, CustomizationSettings s,
|
||||||
|
UserNotificationPreferences pref)
|
||||||
|
{
|
||||||
|
LoadIssues(opts);
|
||||||
|
LoadCommon(req, s, pref);
|
||||||
|
LoadTitle(opts, req);
|
||||||
|
ProviderId = req?.ForeignArtistId ?? string.Empty;
|
||||||
|
Year = req?.ReleaseDate.Year.ToString();
|
||||||
|
AdditionalInformation = opts?.AdditionalInformation ?? string.Empty;
|
||||||
|
PosterImage = req?.Cover.HasValue() ?? false ? req.Cover : req?.Disk ?? string.Empty;
|
||||||
|
CalculateRequestStatus(req);
|
||||||
|
}
|
||||||
|
|
||||||
private void LoadIssues(NotificationOptions opts)
|
private void LoadIssues(NotificationOptions opts)
|
||||||
{
|
{
|
||||||
var val = string.Empty;
|
IssueDescription = opts.Substitutes.TryGetValue("IssueDescription", out string val) ? val : string.Empty;
|
||||||
IssueDescription = opts.Substitutes.TryGetValue("IssueDescription", out val) ? val : string.Empty;
|
|
||||||
IssueCategory = opts.Substitutes.TryGetValue("IssueCategory", out val) ? val : string.Empty;
|
IssueCategory = opts.Substitutes.TryGetValue("IssueCategory", out val) ? val : string.Empty;
|
||||||
IssueStatus = opts.Substitutes.TryGetValue("IssueStatus", out val) ? val : string.Empty;
|
IssueStatus = opts.Substitutes.TryGetValue("IssueStatus", out val) ? val : string.Empty;
|
||||||
IssueSubject = opts.Substitutes.TryGetValue("IssueSubject", out val) ? val : string.Empty;
|
IssueSubject = opts.Substitutes.TryGetValue("IssueSubject", out val) ? val : string.Empty;
|
||||||
NewIssueComment = opts.Substitutes.TryGetValue("NewIssueComment", out val) ? val : string.Empty;
|
NewIssueComment = opts.Substitutes.TryGetValue("NewIssueComment", out val) ? val : string.Empty;
|
||||||
UserName = opts.Substitutes.TryGetValue("IssueUser", out val) ? val : string.Empty;
|
UserName = opts.Substitutes.TryGetValue("IssueUser", out val) ? val : string.Empty;
|
||||||
Alias = opts.Substitutes.TryGetValue("IssueUserAlias", out val) ? val : string.Empty;
|
Alias = opts.Substitutes.TryGetValue("IssueUserAlias", out val) ? val : string.Empty;
|
||||||
Type = opts.Substitutes.TryGetValue("RequestType", out val) ? val.Humanize() : string.Empty;
|
Type = opts.Substitutes.TryGetValue("RequestType", out val) && Enum.TryParse(val, out RequestType type)
|
||||||
|
? HumanizeReturnType(type)
|
||||||
|
: string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LoadCommon(BaseRequest req, CustomizationSettings s, UserNotificationPreferences pref)
|
||||||
|
{
|
||||||
|
ApplicationName = string.IsNullOrEmpty(s?.ApplicationName) ? "Ombi" : s.ApplicationName;
|
||||||
|
ApplicationUrl = s?.ApplicationUrl.HasValue() ?? false ? s.ApplicationUrl : string.Empty;
|
||||||
|
AvailableDate = req?.MarkedAsAvailable?.ToString("D") ?? string.Empty;
|
||||||
|
DenyReason = req?.DeniedReason;
|
||||||
|
RequestId = req?.Id.ToString();
|
||||||
|
RequestedUser = req?.RequestedUser?.UserName;
|
||||||
|
RequestedDate = req?.RequestedDate.ToString("D");
|
||||||
|
|
||||||
|
if (Type.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
Type = HumanizeReturnType(req?.RequestType);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (UserName.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
UserName = req?.RequestedUser?.UserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Alias.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
Alias = req?.RequestedUser?.Alias.HasValue() ?? false
|
||||||
|
? req.RequestedUser?.Alias
|
||||||
|
: req?.RequestedUser?.UserName;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pref != null)
|
||||||
|
{
|
||||||
|
UserPreference = pref.Value.HasValue() ? pref.Value : Alias;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string HumanizeReturnType(RequestType? requestType)
|
||||||
|
{
|
||||||
|
return requestType switch
|
||||||
|
{
|
||||||
|
null => string.Empty,
|
||||||
|
RequestType.TvShow => "TV Show",
|
||||||
|
_ => requestType.Humanize()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LoadTitle(NotificationOptions opts, BaseRequest req)
|
||||||
|
{
|
||||||
|
switch (req)
|
||||||
|
{
|
||||||
|
case null:
|
||||||
|
opts.Substitutes.TryGetValue("Title", out string title);
|
||||||
|
Title = title;
|
||||||
|
break;
|
||||||
|
case ChildRequests tvShowRequest:
|
||||||
|
Title = tvShowRequest.ParentRequest?.Title;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Title = req.Title;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CalculateRequestStatus(BaseRequest req)
|
private void CalculateRequestStatus(BaseRequest req)
|
||||||
|
@ -248,16 +184,19 @@ namespace Ombi.Notifications
|
||||||
RequestStatus = "Available";
|
RequestStatus = "Available";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (req.Denied ?? false)
|
if (req.Denied ?? false)
|
||||||
{
|
{
|
||||||
RequestStatus = "Denied";
|
RequestStatus = "Denied";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!req.Available && req.Approved)
|
if (!req.Available && req.Approved)
|
||||||
{
|
{
|
||||||
RequestStatus = "Processing Request";
|
RequestStatus = "Processing Request";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RequestStatus = "Pending Approval";
|
RequestStatus = "Pending Approval";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -298,36 +237,36 @@ namespace Ombi.Notifications
|
||||||
|
|
||||||
public Dictionary<string, string> Curlys => new Dictionary<string, string>
|
public Dictionary<string, string> Curlys => new Dictionary<string, string>
|
||||||
{
|
{
|
||||||
{nameof(RequestId), RequestId },
|
{ nameof(RequestId), RequestId },
|
||||||
{nameof(RequestedUser), RequestedUser },
|
{ nameof(RequestedUser), RequestedUser },
|
||||||
{nameof(Title), Title },
|
{ nameof(Title), Title },
|
||||||
{nameof(RequestedDate), RequestedDate },
|
{ nameof(RequestedDate), RequestedDate },
|
||||||
{nameof(Type), Type },
|
{ nameof(Type), Type },
|
||||||
{nameof(AdditionalInformation), AdditionalInformation },
|
{ nameof(AdditionalInformation), AdditionalInformation },
|
||||||
{nameof(LongDate),LongDate},
|
{ nameof(LongDate), LongDate },
|
||||||
{nameof(ShortDate),ShortDate},
|
{ nameof(ShortDate), ShortDate },
|
||||||
{nameof(LongTime),LongTime},
|
{ nameof(LongTime), LongTime },
|
||||||
{nameof(ShortTime),ShortTime},
|
{ nameof(ShortTime), ShortTime },
|
||||||
{nameof(Overview),Overview},
|
{ nameof(Overview), Overview },
|
||||||
{nameof(Year),Year},
|
{ nameof(Year), Year },
|
||||||
{nameof(EpisodesList),EpisodesList},
|
{ nameof(EpisodesList), EpisodesList },
|
||||||
{nameof(SeasonsList),SeasonsList},
|
{ nameof(SeasonsList), SeasonsList },
|
||||||
{nameof(PosterImage),PosterImage},
|
{ nameof(PosterImage), PosterImage },
|
||||||
{nameof(ApplicationName),ApplicationName},
|
{ nameof(ApplicationName), ApplicationName },
|
||||||
{nameof(ApplicationUrl),ApplicationUrl},
|
{ nameof(ApplicationUrl), ApplicationUrl },
|
||||||
{nameof(IssueDescription),IssueDescription},
|
{ nameof(IssueDescription), IssueDescription },
|
||||||
{nameof(IssueCategory),IssueCategory},
|
{ nameof(IssueCategory), IssueCategory },
|
||||||
{nameof(IssueStatus),IssueStatus},
|
{ nameof(IssueStatus), IssueStatus },
|
||||||
{nameof(IssueSubject),IssueSubject},
|
{ nameof(IssueSubject), IssueSubject },
|
||||||
{nameof(NewIssueComment),NewIssueComment},
|
{ nameof(NewIssueComment), NewIssueComment },
|
||||||
{nameof(IssueUser),IssueUser},
|
{ nameof(IssueUser), IssueUser },
|
||||||
{nameof(UserName),UserName},
|
{ nameof(UserName), UserName },
|
||||||
{nameof(Alias),Alias},
|
{ nameof(Alias), Alias },
|
||||||
{nameof(UserPreference),UserPreference},
|
{ nameof(UserPreference), UserPreference },
|
||||||
{nameof(DenyReason),DenyReason},
|
{ nameof(DenyReason), DenyReason },
|
||||||
{nameof(AvailableDate),AvailableDate},
|
{ nameof(AvailableDate), AvailableDate },
|
||||||
{nameof(RequestStatus),RequestStatus},
|
{ nameof(RequestStatus), RequestStatus },
|
||||||
{nameof(ProviderId),ProviderId},
|
{ nameof(ProviderId), ProviderId },
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue