/// ----------------------------------------------------------------------------- /// <summary> /// ImportModule implements the IPortable ImportModule Interface /// </summary> /// <remarks> /// </remarks> /// <param name="ModuleID">The ID of the Module being imported</param> /// <param name="Content">The Content being imported</param> /// <param name="Version">The Version of the Module Content being imported</param> /// <param name="UserID">The UserID of the User importing the Content</param> /// <history> /// </history> /// ----------------------------------------------------------------------------- public void ImportModule(int ModuleID, string Content, string Version, int UserId) { ImportExportHelper ieHelper = new ImportExportHelper(); ieHelper.ModuleID = ModuleID; ieHelper.UserId = UserId; if (!String.IsNullOrEmpty(Content)) { //将XML转换为实体 XmlFormat xf = new XmlFormat(); xf.XmlDoc.LoadXml(Content); List <GalleryContentEntity> XmlContentList = xf.ToList <GalleryContentEntity>(); List <GallerySettingsEntity> XmlSettingList = xf.ToList <GallerySettingsEntity>(); //插入成功的数量 Int32 InsertResult = 0; //插入内容的记录 foreach (GalleryContentEntity XmlContentItem in XmlContentList) { DNNGo_LayerGallery_Content ContentItem = ieHelper.XmlToEntity(XmlContentItem); if (ContentItem.Insert() > 0) { //导入项 ieHelper.ImportItem(ContentItem, XmlContentItem.ItemList); InsertResult++; } } //插入设置的记录 foreach (GallerySettingsEntity XmlSettingItem in XmlSettingList) { if (XmlSettingItem != null && !String.IsNullOrEmpty(XmlSettingItem.SettingName) && XmlSettingItem.SettingName.IndexOf("Global_") >= 0 && XmlSettingItem.SettingValue != null) { ieHelper.UpdateModuleSetting(ModuleID, XmlSettingItem.SettingName, XmlSettingItem.SettingValue); } } } }
/// <summary> /// 导入项 /// </summary> /// <param name="Content"></param> /// <param name="ContentEntity"></param> /// <returns></returns> public Int32 ImportItem(DNNGo_LayerGallery_Content Content, String ItemList) { Int32 Result = 0; if (Content != null && Content.ID > 0 && !String.IsNullOrEmpty(ItemList)) { //还原出项的列表 XmlFormat xf = new XmlFormat(); xf.XmlDoc.LoadXml(Common.XmlDecode(ItemList)); List <GalleryItemEntity> list = xf.ToList <GalleryItemEntity>(); foreach (GalleryItemEntity itemEntity in list) { DNNGo_LayerGallery_Item item = new DNNGo_LayerGallery_Item(); item.Options = Common.XmlDecode(itemEntity.Options); item.Status = itemEntity.Status; item.Title = itemEntity.Title; item.Sort = itemEntity.Sort; item.ModuleId = Content.ModuleId; item.PortalId = Content.PortalId; item.LastTime = Content.LastTime; item.LastUser = Content.LastUser; item.LastIP = Content.LastIP; item.ContentID = Content.ID; //添加项 if (item.Insert() > 0) { Result++; } } } return(Result); }
/// <summary> /// 从XML导入数据 /// </summary> protected void cmdImportFormXml_Click(object sender, EventArgs e) { try { HttpPostedFile hpfile = fuImportFormXml.PostedFile; if (hpfile.ContentLength > 0) { if (Path.GetExtension(hpfile.FileName).IndexOf(".xml", StringComparison.CurrentCultureIgnoreCase) >= 0) { ImportExportHelper ieHelper = new ImportExportHelper(); ieHelper.ModuleID = ModuleId; ieHelper.UserId = UserId; //构造需要上传的路径 String XmlFilePath = String.Format("{0}LayerGallery\\Import\\{1}_{2}", PortalSettings.HomeDirectoryMapPath, xUserTime.UtcTime().ToString("yyyyMMddHHmmssffff"), fuImportFormXml.FileName); FileInfo XmlFile = new FileInfo(XmlFilePath); //判断文件夹是否存在 if (!XmlFile.Directory.Exists) { XmlFile.Directory.Create(); } //保存文件 fuImportFormXml.SaveAs(XmlFilePath); //将XML转换为实体 XmlFormat xf = new XmlFormat(XmlFilePath); List <GalleryContentEntity> XmlContentList = xf.ToList <GalleryContentEntity>(); List <GallerySettingsEntity> XmlSettingList = xf.ToList <GallerySettingsEntity>(); //插入成功的数量 Int32 InsertResult = 0; //插入内容的记录 foreach (GalleryContentEntity XmlContentItem in XmlContentList) { DNNGo_LayerGallery_Content ContentItem = ieHelper.XmlToEntity(XmlContentItem); if (ContentItem.Insert() > 0) { InsertResult++; //导入项 ieHelper.ImportItem(ContentItem, XmlContentItem.ItemList); //删除临时上传的文件 if (XmlFile.Exists) { XmlFile.Delete(); } } } //插入设置的记录 foreach (GallerySettingsEntity XmlSettingItem in XmlSettingList) { if (XmlSettingItem != null && !String.IsNullOrEmpty(XmlSettingItem.SettingName) && XmlSettingItem.SettingName.IndexOf("Global_") >= 0 && XmlSettingItem.SettingValue != null) { ieHelper.UpdateModuleSetting(ModuleId, XmlSettingItem.SettingName, XmlSettingItem.SettingValue); } } //删除临时上传的文件 if (XmlFile.Exists) { XmlFile.Delete(); } //提示 mTips.LoadMessage("ImportContentSuccess", EnumTips.Success, this, new String[] { InsertResult.ToString() }); //跳转 Response.Redirect(xUrl("Sliders")); } else { //上传文件的后缀名错误 mTips.IsPostBack = true; mTips.LoadMessage("ImportContentExtensionError", EnumTips.Success, this, new String[] { "" }); } } else { //为上传任何数据 mTips.IsPostBack = true; mTips.LoadMessage("ImportContentNullError", EnumTips.Success, this, new String[] { "" }); } } catch (Exception ex) { DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(this, ex); } }