/// -----------------------------------------------------------------------------
        /// <summary>
        /// ExportModule implements the IPortable ExportModule Interface
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <param name="ModuleID">The Id of the module to be exported</param>
        /// <history>
        /// </history>
        /// -----------------------------------------------------------------------------

        public string ExportModule(int ModuleID)
        {
            string strXML = String.Empty;

            ImportExportHelper ieHelper = new ImportExportHelper();

            ieHelper.ModuleID = ModuleID;
            ieHelper.UserId   = 1;

            //查询字段的数据,填充待导出的XML实体
            QueryParam qp = new QueryParam();

            qp.OrderType = 0;
            Int32 RecordCount = 0;

            qp.Where.Add(new SearchParam("ModuleId", ModuleID, SearchType.Equal));
            List <DNNGo_LayerGallery_Content> ArticleList = DNNGo_LayerGallery_Content.FindAll(qp, out RecordCount);

            if (ArticleList != null && ArticleList.Count > 0)
            {
                List <GalleryContentEntity>  xmlContentList = new List <GalleryContentEntity>();
                List <GallerySettingsEntity> xmlSettingList = new List <GallerySettingsEntity>();


                //查询出所有的配置项
                if (ieHelper.Settings != null && ieHelper.Settings.Count > 0)
                {
                    List <KeyValueEntity> DefaultSettings = ieHelper.GetDefaultSettings();

                    foreach (KeyValueEntity kv in DefaultSettings)
                    {
                        String key = String.Format("Global_{0}", kv.Key);
                        if (!xmlSettingList.Exists(r1 => r1.SettingName == key) && ieHelper.Settings[key] != null)
                        {
                            xmlSettingList.Add(new GallerySettingsEntity(key, Convert.ToString(ieHelper.Settings[key])));
                        }
                    }
                }

                foreach (DNNGo_LayerGallery_Content ContentItem in ArticleList)
                {
                    xmlContentList.Add(ieHelper.EntityToXml(ContentItem));
                }



                XmlFormat xf = new XmlFormat(HttpContext.Current.Server.MapPath(String.Format("{0}Resource/xml/Entity.xml", ieHelper.ModulePath)));
                strXML = xf.ToXml <GalleryContentEntity>(xmlContentList, xmlSettingList);
            }
            else
            {
            }

            return(strXML);
        }
        /// -----------------------------------------------------------------------------
        /// <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);
                    }
                }
            }
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 项的集合转字符串
        /// </summary>
        /// <param name="ContentItem"></param>
        /// <returns></returns>
        public String ItemEntityToString(DNNGo_LayerGallery_Content ContentItem)
        {
            String ItemXml = String.Empty;

            if (ContentItem != null && ContentItem.ID > 0)
            {
                QueryParam qp          = new QueryParam();
                int        RecordCount = 0;
                qp.Where.Add(new SearchParam(DNNGo_LayerGallery_Item._.ContentID, ContentItem.ID, SearchType.Equal));
                List <DNNGo_LayerGallery_Item> list = DNNGo_LayerGallery_Item.FindAll(qp, out RecordCount);
                if (list != null && list.Count > 0)
                {
                    List <GalleryItemEntity> ItemList = new List <GalleryItemEntity>();
                    foreach (DNNGo_LayerGallery_Item item in list)
                    {
                        ItemList.Add(EntityToXml(item));
                    }
                    XmlFormat xf = new XmlFormat(MapPath(String.Format("{0}Resource/xml/ItemEntity.xml", ModulePath)));
                    ItemXml = xf.ToXml <GalleryItemEntity>(ItemList);
                }
            }
            return(ItemXml);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 导出数据到XML
        /// </summary>
        protected void cmdExportToXml_Click(object sender, EventArgs e)
        {
            try
            {
                //查询字段的数据,填充待导出的XML实体
                QueryParam qp = new QueryParam();
                qp.OrderType = 0;
                Int32 RecordCount = 0;
                qp.Where.Add(new SearchParam("ModuleId", ModuleId, SearchType.Equal));
                List <DNNGo_LayerGallery_Content> ArticleList = DNNGo_LayerGallery_Content.FindAll(qp, out RecordCount);

                if (ArticleList != null && ArticleList.Count > 0)
                {
                    List <GalleryContentEntity>  xmlContentList = new List <GalleryContentEntity>();
                    List <GallerySettingsEntity> xmlSettingList = new List <GallerySettingsEntity>();

                    ImportExportHelper ieHelper = new ImportExportHelper();
                    ieHelper.ModuleID = ModuleId;
                    ieHelper.UserId   = UserId;

                    //查询出所有的配置项
                    if (Settings != null && Settings.Count > 0)
                    {
                        List <KeyValueEntity> DefaultSettings = GetDefaultSettings();

                        foreach (KeyValueEntity kv in DefaultSettings)
                        {
                            String key = String.Format("Global_{0}", kv.Key);
                            if (!xmlSettingList.Exists(r1 => r1.SettingName == key) && Settings[key] != null)
                            {
                                xmlSettingList.Add(new GallerySettingsEntity(key, Convert.ToString(Settings[key])));
                            }
                        }
                    }


                    foreach (DNNGo_LayerGallery_Content ContentItem in ArticleList)
                    {
                        xmlContentList.Add(EntityToXml(ContentItem));
                    }



                    XmlFormat xf = new XmlFormat(MapPath(String.Format("{0}Resource/xml/Entity.xml", ModulePath)));
                    //将字段列表转换成XML的实体
                    String XmlContent  = xf.ToXml <GalleryContentEntity>(xmlContentList, xmlSettingList);
                    String XmlFilePath = FileSystemUtils.SaveXmlToFile(String.Format("ContentListEntity_{0}_{1}.xml", ModuleId, xUserTime.UtcTime().ToString("yyyyMMddHHmmssffff")), XmlContent, this);
                    FileSystemUtils.DownloadFile(XmlFilePath, "ContentListEntity.xml");
                }
                else
                {
                    //没有可导出的文章条目
                    mTips.IsPostBack = true;
                    mTips.LoadMessage("ExportContentError", EnumTips.Success, this, new String[] { "" });
                }
            }
            catch (Exception ex)
            {
                DotNetNuke.Services.Exceptions.Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
Exemplo n.º 6
0
        /// <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);
            }
        }