Exemple #1
0
        public void ExportInput(int inputId)
        {
            var inputInfo = DataProvider.InputDao.GetInputInfo(inputId);
            var filePath  = _directoryPath + PathUtils.SeparatorChar + inputInfo.InputId + ".xml";

            var feed = ExportInputInfo(inputInfo);

            var styleDirectoryPath = PathUtils.Combine(_directoryPath, inputInfo.InputId.ToString());

            TableStyleIe.SingleExportTableStyles(ETableStyle.InputContent, DataProvider.InputContentDao.TableName, _publishmentSystemId, inputInfo.InputId, styleDirectoryPath);

            var contentIdList = DataProvider.InputContentDao.GetContentIdListWithChecked(inputInfo.InputId);

            foreach (var contentId in contentIdList)
            {
                var contentInfo = DataProvider.InputContentDao.GetContentInfo(contentId);
                var entry       = GetAtomEntry(contentInfo);
                feed.Entries.Add(entry);
            }
            feed.Save(filePath);
        }
Exemple #2
0
        public void ImportInput(bool overwrite)
        {
            if (!DirectoryUtils.IsDirectoryExists(_directoryPath))
            {
                return;
            }
            var filePaths = DirectoryUtils.GetFilePaths(_directoryPath);

            foreach (var filePath in filePaths)
            {
                var feed = AtomFeed.Load(FileUtils.GetFileStreamReadOnly(filePath));

                var inputInfo = new InputInfo
                {
                    InputName           = AtomUtility.GetDcElementContent(feed.AdditionalElements, "InputName"),
                    PublishmentSystemId = _publishmentSystemId,
                    AddDate             = DateTime.Now,
                    IsChecked           =
                        TranslateUtils.ToBool(AtomUtility.GetDcElementContent(feed.AdditionalElements, "IsChecked")),
                    IsReply     = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(feed.AdditionalElements, "IsReply")),
                    Taxis       = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(feed.AdditionalElements, "Taxis")),
                    SettingsXml =
                        AtomUtility.Decrypt(AtomUtility.GetDcElementContent(feed.AdditionalElements, "SettingsXML"))
                };

                var srcInputInfo = DataProvider.InputDao.GetInputInfo(inputInfo.InputName, _publishmentSystemId);
                if (srcInputInfo != null)
                {
                    if (overwrite)
                    {
                        DataProvider.InputDao.Delete(srcInputInfo.InputId);
                    }
                    else
                    {
                        inputInfo.InputName = DataProvider.InputDao.GetImportInputName(inputInfo.InputName, _publishmentSystemId);
                    }
                }

                var inputId = DataProvider.InputDao.Insert(inputInfo);

                var styleDirectoryPath = PathUtils.Combine(_directoryPath, AtomUtility.GetDcElementContent(feed.AdditionalElements, "InputID"));
                TableStyleIe.SingleImportTableStyle(ETableStyle.InputContent, DataProvider.InputContentDao.TableName, styleDirectoryPath, inputId);

                foreach (AtomEntry entry in feed.Entries)
                {
                    var contentInfo = new InputContentInfo
                    {
                        InputId   = inputId,
                        IsChecked = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, InputContentAttribute.IsChecked)),
                        UserName  = AtomUtility.GetDcElementContent(entry.AdditionalElements, InputContentAttribute.UserName),
                        AddDate   = DateTime.Now,
                        Reply     = AtomUtility.GetDcElementContent(entry.AdditionalElements, InputContentAttribute.Reply)
                    };
                    var attributes = AtomUtility.GetDcElementNameValueCollection(entry.AdditionalElements);
                    foreach (string entryName in attributes.Keys)
                    {
                        if (!InputContentAttribute.AllAttributes.Contains(entryName.ToLower()))
                        {
                            contentInfo.SetExtendedAttribute(entryName, attributes[entryName]);
                        }
                    }
                    DataProvider.InputContentDao.Insert(contentInfo);
                }
            }
        }