79 lines
2.0 KiB
C#
79 lines
2.0 KiB
C#
using System.Linq;
|
|
using xCategoryService.Providers.Dtos;
|
|
using xCommons.Extensions;
|
|
|
|
namespace xCategoryService.Extensions
|
|
{
|
|
/// <summary>
|
|
/// Extensions Method Related to XCategoryResourceDto ...
|
|
/// </summary>
|
|
public static class XCategoryResourceExtensions
|
|
{
|
|
/// <summary>
|
|
/// Check a Resource is Valid or not ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool IsValid(
|
|
this XCategoryResourceDto source
|
|
)
|
|
{
|
|
//
|
|
return
|
|
!source.IsNullOrDefault() &&
|
|
!source.Item.IsNullOrDefault();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Check a Resource is a New Resource for Add or not ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool IsNew(
|
|
this XCategoryResourceDto source
|
|
)
|
|
{
|
|
//
|
|
return
|
|
source.IsValid() &&
|
|
!source.Item.Id.IsValidIntId();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Extract Available Languages ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static string[] ExtractLanguages(
|
|
this XCategoryResourceDto source
|
|
)
|
|
{
|
|
//
|
|
var result = new string[] { };
|
|
|
|
//
|
|
// Validate ...
|
|
if (!source.IsValid())
|
|
{
|
|
return result;
|
|
}
|
|
|
|
//
|
|
result =
|
|
source.Titles.Locales.Select(x => x.Language)
|
|
.Union(source.Descriptions.Locales.Select(x => x.Language))
|
|
.Distinct()
|
|
.ToArray();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
public static bool ValidateResources(
|
|
this XCategoryResourceDto source
|
|
)
|
|
{
|
|
var result =
|
|
}
|
|
}
|
|
} |