Embedded images

This commit is contained in:
2016-10-17 14:25:30 +00:00
parent 187dd5be25
commit e689dc2ba0
20 changed files with 2298 additions and 463 deletions

View File

@@ -1841,6 +1841,8 @@ namespace VEPROMS
ExportEntry(xe, ci.MyEntry, "entry");
if (ci.ContentGridCount > 0)
ExportGrid(xe, ci.MyGrid, "grid");
if (ci.ContentImageCount > 0)
ExportImage(xe, ci.MyImage, "image");
if (ci.ContentPartCount > 0)
foreach (PartInfo pi in ci.ContentParts)
ExportPart(xe, pi, ((E_FromTypes)pi.FromType).ToString().ToLower());
@@ -1910,6 +1912,8 @@ namespace VEPROMS
ExportEntry(ci.MyEntry, "entry");
if (ci.ContentGridCount > 0)
ExportGrid(ci.MyGrid, "grid");
if (ci.ContentImageCount > 0)
ExportImage(ci.MyImage, "image");
if (ci.ContentPartCount > 0)
foreach (PartInfo pi in ci.ContentParts)
ExportPart(pi, ((E_FromTypes)pi.FromType).ToString().ToLower());
@@ -2050,6 +2054,78 @@ namespace VEPROMS
ExportDocument(ei.MyDocument, "document");
MyWriter.WriteEndElement();
}
private void ExportImage(XmlElement xn, ImageInfo ii, string nodename)
{
/*
ContentID
ImageType
FileName
Data
Config
DTS
UserID
*/
XmlElement xe = xn.OwnerDocument.CreateElement(nodename);
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "contentid", ii.ContentID.ToString()));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "imagetype", ii.ImageType.ToString()));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "filename", ii.FileName));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "data", Convert.ToBase64String(ii.Data)));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "config", ii.Config));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "dts", ii.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
xe.Attributes.SetNamedItem(AddAttribute(xe.OwnerDocument, "userid", ii.UserID.ToString()));
//image audits
ExportImageAudits(xe, ii);
xn.AppendChild(xe);
}
private void ExportImageAudits(XmlElement xn, ImageInfo ii)
{
if (cbxExportAudits.Checked)
{
ImageAuditInfoList audits = ImageAuditInfoList.Get(ii.ContentID);
if (audits.Count > 0)
{
XmlElement xe = xn.OwnerDocument.CreateElement("audits");
foreach (ImageAuditInfo audit in audits)
{
if (audit.DeleteStatus == 0)
{
XmlElement xee = xn.OwnerDocument.CreateElement("audit");
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "auditid", audit.AuditID.ToString()));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "contentid", audit.ContentID.ToString()));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "imagetype", audit.ImageType.ToString()));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "filename", audit.FileName));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "data", Convert.ToBase64String(audit.Data)));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "config", audit.Config));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "dts", audit.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff")));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "userid", audit.UserID));
xee.Attributes.SetNamedItem(AddAttribute(xee.OwnerDocument, "deletestatus", audit.DeleteStatus.ToString()));
xe.AppendChild(xee);
}
}
}
}
}
private void ExportImage(ImageInfo ii, string nodename)
{
/*
ContentID
ImageType
FileName
Data
Config
DTS
UserID
*/
MyWriter.WriteStartElement(nodename);
MyWriter.WriteAttributeString("contentid", ii.ContentID.ToString());
MyWriter.WriteAttributeString("imagetype", ii.ImageType.ToString());
MyWriter.WriteAttributeString("filename", ii.FileName);
MyWriter.WriteAttributeString("data", Convert.ToBase64String(ii.Data));
MyWriter.WriteAttributeString("config", ii.Config);
MyWriter.WriteAttributeString("dts", ii.DTS.ToString("MM/dd/yyyy HH:mm:ss.fff"));
MyWriter.WriteAttributeString("userid", ii.UserID.ToString());
MyWriter.WriteEndElement();
}
private void ExportDocument(XmlElement xn, DocumentInfo di, string nodename)
{
/*
@@ -3144,7 +3220,18 @@ namespace VEPROMS
// DateTime dts = DateTime.Parse(xr.GetAttribute("dts"));
// Annotation ann = Annotation.MakeAnnotation(itm, AnnotationType.Get(typeid), rtftext, searchtext, config, dts, userid);
//}
private void AddImage(Content content, XmlNode xc)
{
XmlNode xn = xc.SelectSingleNode("image");
int imagetype = int.Parse(xn.Attributes.GetNamedItem("imagetype").InnerText);
string filename = xn.Attributes.GetNamedItem("filename").InnerText;
byte[] data = Convert.FromBase64String(xn.Attributes.GetNamedItem("data").InnerText);
string config = xn.Attributes.GetNamedItem("config").InnerText;
string userid = xn.Attributes.GetNamedItem("userid").InnerText;
DateTime dts = DateTime.Parse(xn.Attributes.GetNamedItem("dts").InnerText);
VEPROMS.CSLA.Library.Image img = VEPROMS.CSLA.Library.Image.MakeImage(content, imagetype, filename, data, config, dts, userid);
img.Save();
}
private void AddAnnotations(int itemID, XmlNode xn)
{
Item itm = Item.Get(itemID);
@@ -3272,6 +3359,8 @@ namespace VEPROMS
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID);
if (xc.SelectNodes("grid").Count > 0)
AddGrid(step.MyContent, xc);
if (xc.SelectNodes("image").Count > 0)
AddImage(step.MyContent, xc);
if (xn.SelectNodes("annotation").Count > 0)
AddAnnotations(step.ItemID, xn);
if (xc.SelectNodes("rousage").Count > 0)