v1.0.9.0
This commit is contained in:
@@ -53,6 +53,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public ItemId ItemId { get; set; }
|
||||
public Sax.ImageType ImageType { get; set; }
|
||||
public byte ImageSeq { get; set; }
|
||||
public long SessionUid { get; set; }
|
||||
public int ImageUid { get; set; }
|
||||
public String Filename { get; set; }
|
||||
public String Mime { get; set; }
|
||||
public String ContentType { get; set; }
|
||||
@@ -88,6 +90,16 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
get { return data.ImageSeq; }
|
||||
set { CheckChanged(data.ImageSeq, value); data.ImageSeq = value; }
|
||||
}
|
||||
public long SessionUid
|
||||
{
|
||||
get { return data.SessionUid; }
|
||||
set { CheckChanged(data.SessionUid, value); data.SessionUid = value; }
|
||||
}
|
||||
public int ImageUid
|
||||
{
|
||||
get { return data.ImageUid; }
|
||||
set { CheckChanged(data.ImageUid, value); data.ImageUid = value; }
|
||||
}
|
||||
public String Filename
|
||||
{
|
||||
get { return data.Filename; }
|
||||
@@ -124,6 +136,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
ItemId = data.ItemId;
|
||||
ImageType = data.ImageType;
|
||||
ImageSeq = data.ImageSeq;
|
||||
SessionUid = data.SessionUid;
|
||||
ImageUid = data.ImageUid;
|
||||
Filename = data.Filename;
|
||||
Mime = data.Mime;
|
||||
ContentType = data.ContentType;
|
||||
@@ -148,6 +162,8 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public ValidValue ItemId { get; set; } = ValidValue.Valid;
|
||||
public ValidValue ImageType { get; set; } = ValidValue.Valid;
|
||||
public ValidValue ImageSeq { get; set; } = ValidValue.Valid;
|
||||
public ValidValue SessionUid { get; set; } = ValidValue.Valid;
|
||||
public ValidValue ImageUid { get; set; } = ValidValue.Valid;
|
||||
public ValidValue Filename { get; set; } = ValidValue.Valid;
|
||||
public ValidValue Mime { get; set; } = ValidValue.Valid;
|
||||
public ValidValue ContentType { get; set; } = ValidValue.Valid;
|
||||
@@ -213,18 +229,28 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
public ItemId ItemId
|
||||
{
|
||||
get { return data.ItemId; }
|
||||
protected set { data.ItemId = value; }
|
||||
set { data.ItemId = value; }
|
||||
}
|
||||
public Sax.ImageType ImageType
|
||||
{
|
||||
get { return data.ImageType; }
|
||||
protected set { data.ImageType = value; }
|
||||
set { data.ImageType = value; }
|
||||
}
|
||||
public byte ImageSeq
|
||||
{
|
||||
get { return data.ImageSeq; }
|
||||
set { data.ImageSeq = value; }
|
||||
}
|
||||
public long SessionUid
|
||||
{
|
||||
get { return data.SessionUid; }
|
||||
set { data.SessionUid = value; }
|
||||
}
|
||||
public int ImageUid
|
||||
{
|
||||
get { return data.ImageUid; }
|
||||
set { data.ImageUid = value; }
|
||||
}
|
||||
public String Filename
|
||||
{
|
||||
get { return data.Filename; }
|
||||
@@ -273,6 +299,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
NotDeleted,
|
||||
ActiveOnly,
|
||||
InctiveOnly,
|
||||
Deleted,
|
||||
}
|
||||
/// <summary>
|
||||
/// Item list parameters.
|
||||
@@ -294,6 +321,20 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
// Item list extension methods.
|
||||
public static class SaxItemImageList
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
public static SaxItemImage GetItemImageById(this List<SaxItemImage> values, SysId itemImageId)
|
||||
{
|
||||
if (!SysId.IsValid(itemImageId)) return null;
|
||||
return values.Find(item => item.Id.Equals(itemImageId));
|
||||
}
|
||||
|
||||
public static SaxItemImage GetItemImageBySessionImage(this List<SaxItemImage> values, long sessionUid, int imageUid)
|
||||
{
|
||||
if (sessionUid < 1 || imageUid < 1) return null;
|
||||
return values.Find(item => item.SessionUid == sessionUid && item.ImageUid == imageUid);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
|
||||
//=======================================================================
|
||||
|
||||
@@ -21,23 +21,46 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
private static readonly String ElementName_Segments = "segments";
|
||||
private static readonly String ElementName_Segment = "segment";
|
||||
private static readonly String ElementName_Body = "body";
|
||||
private static readonly String ElementName_Html= "html";
|
||||
private static readonly String ElementName_Html = "html";
|
||||
private static readonly String ElementName_Image = "image";
|
||||
private static readonly String ElementName_ImageId = "imageId";
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>Article content.</summary>
|
||||
public class ContentData
|
||||
{
|
||||
/// <summary>
|
||||
/// Article Content Segment - either body content or image.
|
||||
/// </summary>
|
||||
public class SegmentData
|
||||
{
|
||||
// Segment body.
|
||||
public class BodyData
|
||||
{
|
||||
public bool IsValid()
|
||||
{
|
||||
if (!StringUtil.IsEmpty(Html)) return true;
|
||||
return false;
|
||||
}
|
||||
public String Html { get; set; } = String.Empty;
|
||||
}
|
||||
public BodyData Body { get; } = new BodyData();
|
||||
// Segment image.
|
||||
public class ImageData
|
||||
{
|
||||
public bool IsValid()
|
||||
{
|
||||
if (SysId.IsValid(ItemImageId)) return true;
|
||||
return false;
|
||||
}
|
||||
public SysId ItemImageId { get; set; }
|
||||
}
|
||||
public ImageData Image { get; } = new ImageData();
|
||||
// Validate.
|
||||
public bool IsValid()
|
||||
{
|
||||
if (!StringUtil.IsEmpty(Body.Html)) return true;
|
||||
if (Body.IsValid()) return true;
|
||||
if (Image.IsValid()) return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -59,6 +82,7 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
String fn = typeof(ContentData).FullName + ".ExtractContent";
|
||||
ContentData content = new ContentData();
|
||||
if (StringUtil.IsEmpty(contentData)) return content;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -99,6 +123,22 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
else SaLogger.Warn(fn + " Unexpected 'Segment' child element: " + segmentChildElementName);
|
||||
}
|
||||
}
|
||||
else if (segmentChildElementName.EqualsCI(ElementName_Image))
|
||||
{
|
||||
// Content segment image.
|
||||
XElement imageElement = segmentChildElement;
|
||||
foreach (XElement imageChildElement in imageElement.GetChildElements())
|
||||
{
|
||||
String imageChildElementName = imageChildElement.GetLocalName();
|
||||
if (imageChildElementName.EqualsCI(ElementName_ImageId))
|
||||
{
|
||||
// Content segment image Id.
|
||||
XElement imageIdElement = imageChildElement;
|
||||
segment.Image.ItemImageId = imageIdElement.Value.ToSysId();
|
||||
}
|
||||
else SaLogger.Warn(fn + " Unexpected 'Segment' child element: " + segmentChildElementName);
|
||||
}
|
||||
}
|
||||
else SaLogger.Warn(fn + " Unexpected 'Segment' child element: " + segmentChildElementName);
|
||||
}
|
||||
// Add this segment to the list.
|
||||
@@ -136,9 +176,20 @@ namespace Saxonite.Net.Standard.Base.Bus
|
||||
{
|
||||
if (!segment.IsValid()) continue;
|
||||
XElement segmentElement = segmentsElement.AppendElement(ElementName_Segment);
|
||||
XElement bodyElement = segmentElement.AppendElement(ElementName_Body);
|
||||
if (!StringUtil.IsEmpty(segment.Body.Html))
|
||||
bodyElement.AppendElement(ElementName_Html, segment.Body.Html);
|
||||
if (segment.Body.IsValid())
|
||||
{
|
||||
// Segment Body.
|
||||
XElement bodyElement = segmentElement.AppendElement(ElementName_Body);
|
||||
if (!StringUtil.IsEmpty(segment.Body.Html))
|
||||
bodyElement.AppendElement(ElementName_Html, segment.Body.Html);
|
||||
}
|
||||
else if (segment.Image.IsValid())
|
||||
{
|
||||
// Segment Image.
|
||||
XElement imageElement = segmentElement.AppendElement(ElementName_Image);
|
||||
if (SysId.IsValid(segment.Image.ItemImageId))
|
||||
imageElement.AppendElement(ElementName_ImageId, SysId.ToString(segment.Image.ItemImageId));
|
||||
}
|
||||
}
|
||||
return doc.GetXml();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user