last ...
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using xCommons.Extensions;
|
||||
using xDataService.Extensions;
|
||||
using xDataService.Models;
|
||||
using xTagService.Models.Dtos;
|
||||
using xTagService.Models.Entities;
|
||||
|
||||
namespace xTagService.Extensions
|
||||
{
|
||||
public static class XModelExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Extract References of a Model ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
public static IList<XReference<string>> GetReferences(
|
||||
this XTag source
|
||||
)
|
||||
{
|
||||
//
|
||||
var result = new List<XReference<string>>();
|
||||
|
||||
//
|
||||
if (
|
||||
!source.IsNullOrDefault() &&
|
||||
!source.References.IsNullOrEmpty()
|
||||
)
|
||||
{
|
||||
//
|
||||
result = source.References
|
||||
.ParseXReferenceList<string>()
|
||||
.ToList();
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extract References of a Model ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
public static IList<XReference<string>> GetReferences(
|
||||
this XTagDto source
|
||||
)
|
||||
{
|
||||
//
|
||||
var result = new List<XReference<string>>();
|
||||
|
||||
//
|
||||
if (
|
||||
!source.IsNullOrDefault() &&
|
||||
!source.References.IsNullOrEmpty()
|
||||
)
|
||||
{
|
||||
//
|
||||
result = source.References
|
||||
.ParseXReferenceList<string>()
|
||||
.ToList();
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update a Model's References by Providing References List ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="references"></param>
|
||||
/// <param name="forceClean"></param>
|
||||
/// <returns></returns>
|
||||
public static XTag UpdateReferences(
|
||||
this XTag source,
|
||||
IList<XReference<string>> references,
|
||||
bool forceClean = true
|
||||
)
|
||||
{
|
||||
//
|
||||
XTag result = source;
|
||||
|
||||
//
|
||||
if (!source.IsNullOrDefault())
|
||||
{
|
||||
//
|
||||
result = source;
|
||||
|
||||
//
|
||||
if (forceClean)
|
||||
{
|
||||
result.References = string.Empty;
|
||||
}
|
||||
|
||||
//
|
||||
if (!references.IsNull() &&
|
||||
references.HasChild())
|
||||
{
|
||||
result.References = references.ToXReferenceString();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update a Model's References by Providing References List ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <param name="references"></param>
|
||||
/// <param name="forceClean"></param>
|
||||
/// <returns></returns>
|
||||
public static XTagDto UpdateReferences(
|
||||
this XTagDto source,
|
||||
IList<XReference<string>> references,
|
||||
bool forceClean = true
|
||||
)
|
||||
{
|
||||
//
|
||||
XTagDto result = source;
|
||||
|
||||
//
|
||||
if (!source.IsNullOrDefault())
|
||||
{
|
||||
//
|
||||
result = source;
|
||||
|
||||
//
|
||||
if (forceClean)
|
||||
{
|
||||
result.References = string.Empty;
|
||||
}
|
||||
|
||||
//
|
||||
if (!references.IsNull() &&
|
||||
references.HasChild())
|
||||
{
|
||||
result.References = references.ToXReferenceString();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using xCommons.Extensions;
|
||||
using xDataService.Extensions;
|
||||
using xTagService.Models.Dtos;
|
||||
using xTagService.Models.Entities;
|
||||
|
||||
namespace xTagService.Extensions
|
||||
{
|
||||
public static class xTagServiceExtension
|
||||
{
|
||||
/// <summary>
|
||||
/// Map Global Properties From XFile to XFile Dto ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
public static XTagDto ToDto(this XTag source)
|
||||
{
|
||||
//
|
||||
XTagDto result = null;
|
||||
|
||||
//
|
||||
if (!source.IsNullOrDefault())
|
||||
{
|
||||
//
|
||||
result = new XTagDto();
|
||||
result = result.UpdateData(
|
||||
updateWith: source,
|
||||
propertyBlackList: new List<string>
|
||||
{
|
||||
nameof(XTag.Deleted),
|
||||
nameof(XTag.References),
|
||||
}
|
||||
);
|
||||
|
||||
//
|
||||
// Preparing List ...
|
||||
if (!source.References.IsNullOrEmpty())
|
||||
{
|
||||
//
|
||||
result.References = source.References
|
||||
.ParseXReferenceList<string>()
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts a Dto to Entity Representation ...
|
||||
/// Ignore ID Property ...
|
||||
/// </summary>
|
||||
/// <param name="source"></param>
|
||||
/// <returns></returns>
|
||||
public static XTag FromDto(this XTagDto source)
|
||||
{
|
||||
//
|
||||
var result = new XTag();
|
||||
|
||||
//
|
||||
if (!source.IsNull())
|
||||
{
|
||||
//
|
||||
result = result.UpdateData(
|
||||
updateWith: source,
|
||||
propertyBlackList: new List<string>
|
||||
{
|
||||
nameof(XTag.Deleted),
|
||||
nameof(XTag.References),
|
||||
}
|
||||
);
|
||||
|
||||
//
|
||||
if (!source.References.IsNull() && source.References.HasChild()) {
|
||||
result.References = source.References.ToXReferenceString();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user