Ejemplo n.º 1
0
        public int Insert(RelatedFieldInfo relatedFieldInfo)
        {
            int relatedFieldId;

            var sqlString = "INSERT INTO siteserver_RelatedField (RelatedFieldName, PublishmentSystemID, TotalLevel, Prefixes, Suffixes) VALUES (@RelatedFieldName, @PublishmentSystemID, @TotalLevel, @Prefixes, @Suffixes)";

            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmRelatedFieldName, EDataType.NVarChar, 50, relatedFieldInfo.RelatedFieldName),
                GetParameter(ParmPublishmentsystemid, EDataType.Integer, relatedFieldInfo.PublishmentSystemID),
                GetParameter(ParmTotalLevel, EDataType.Integer, relatedFieldInfo.TotalLevel),
                GetParameter(ParmPrefixes, EDataType.NVarChar, 255, relatedFieldInfo.Prefixes),
                GetParameter(ParmSuffixes, EDataType.NVarChar, 255, relatedFieldInfo.Suffixes),
            };

            using (var conn = GetConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        relatedFieldId = ExecuteNonQueryAndReturnId(trans, sqlString, insertParms);
                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }

            return(relatedFieldId);
        }
Ejemplo n.º 2
0
        public void ImportRelatedField(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 title = AtomUtility.GetDcElementContent(feed.AdditionalElements, new List <string> {
                    nameof(RelatedFieldInfo.Title), "RelatedFieldName"
                });
                var totalLevel = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(feed.AdditionalElements, nameof(RelatedFieldInfo.TotalLevel)));
                var prefixes   = AtomUtility.GetDcElementContent(feed.AdditionalElements, nameof(RelatedFieldInfo.Prefixes));
                var suffixes   = AtomUtility.GetDcElementContent(feed.AdditionalElements, nameof(RelatedFieldInfo.Suffixes));

                var relatedFieldInfo = new RelatedFieldInfo(0, title, _siteId, totalLevel, prefixes, suffixes);

                var srcRelatedFieldInfo = DataProvider.RelatedFieldDao.GetRelatedFieldInfo(_siteId, title);
                if (srcRelatedFieldInfo != null)
                {
                    if (overwrite)
                    {
                        DataProvider.RelatedFieldDao.Delete(srcRelatedFieldInfo.Id);
                    }
                    else
                    {
                        relatedFieldInfo.Title = DataProvider.RelatedFieldDao.GetImportTitle(_siteId, relatedFieldInfo.Title);
                    }
                }

                var relatedFieldId = DataProvider.RelatedFieldDao.Insert(relatedFieldInfo);

                var lastInertedLevel     = 1;
                var lastInsertedParentId = 0;
                var lastInsertedId       = 0;
                foreach (AtomEntry entry in feed.Entries)
                {
                    var itemName  = AtomUtility.GetDcElementContent(entry.AdditionalElements, nameof(RelatedFieldItemInfo.ItemName));
                    var itemValue = AtomUtility.GetDcElementContent(entry.AdditionalElements, nameof(RelatedFieldItemInfo.ItemValue));
                    var level     = TranslateUtils.ToInt(AtomUtility.GetDcElementContent(entry.AdditionalElements, "Level"));
                    var parentId  = 0;
                    if (level > 1)
                    {
                        parentId = level != lastInertedLevel ? lastInsertedId : lastInsertedParentId;
                    }

                    var relatedFieldItemInfo = new RelatedFieldItemInfo(0, relatedFieldId, itemName, itemValue, parentId, 0);
                    lastInsertedId       = DataProvider.RelatedFieldItemDao.Insert(relatedFieldItemInfo);
                    lastInsertedParentId = parentId;
                    lastInertedLevel     = level;
                }
            }
        }
Ejemplo n.º 3
0
        public void Update(RelatedFieldInfo relatedFieldInfo)
        {
            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmRelatedFieldName, EDataType.NVarChar, 50, relatedFieldInfo.RelatedFieldName),
                GetParameter(ParmTotalLevel, EDataType.Integer, relatedFieldInfo.TotalLevel),
                GetParameter(ParmPrefixes, EDataType.NVarChar, 255, relatedFieldInfo.Prefixes),
                GetParameter(ParmSuffixes, EDataType.NVarChar, 255, relatedFieldInfo.Suffixes),
                GetParameter(ParmRelatedFieldId, EDataType.Integer, relatedFieldInfo.RelatedFieldID)
            };

            ExecuteNonQuery(SqlUpdate, updateParms);
        }
Ejemplo n.º 4
0
        private static AtomFeed ExportRelatedFieldInfo(RelatedFieldInfo relatedFieldInfo)
        {
            var feed = AtomUtility.GetEmptyFeed();

            AtomUtility.AddDcElement(feed.AdditionalElements, "RelatedFieldID", relatedFieldInfo.RelatedFieldID.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, "RelatedFieldName", relatedFieldInfo.RelatedFieldName);
            AtomUtility.AddDcElement(feed.AdditionalElements, "PublishmentSystemID", relatedFieldInfo.PublishmentSystemID.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, "TotalLevel", relatedFieldInfo.TotalLevel.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, "Prefixes", relatedFieldInfo.Prefixes);
            AtomUtility.AddDcElement(feed.AdditionalElements, "Suffixes", relatedFieldInfo.Suffixes);

            return(feed);
        }
Ejemplo n.º 5
0
        public void ExportRelatedField(RelatedFieldInfo relatedFieldInfo)
        {
            var filePath = _directoryPath + PathUtils.SeparatorChar + relatedFieldInfo.Id + ".xml";

            var feed = ExportRelatedFieldInfo(relatedFieldInfo);

            var relatedFieldItemInfoList = DataProvider.RelatedFieldItemDao.GetRelatedFieldItemInfoList(relatedFieldInfo.Id, 0);

            foreach (var relatedFieldItemInfo in relatedFieldItemInfoList)
            {
                AddAtomEntry(feed, relatedFieldItemInfo, 1);
            }
            feed.Save(filePath);
        }
Ejemplo n.º 6
0
        public int Insert(RelatedFieldInfo relatedFieldInfo)
        {
            const string sqlString = "INSERT INTO siteserver_RelatedField (Title, SiteId, TotalLevel, Prefixes, Suffixes) VALUES (@Title, @SiteId, @TotalLevel, @Prefixes, @Suffixes)";

            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmTitle, DataType.VarChar, 50, relatedFieldInfo.Title),
                GetParameter(ParmSiteId, DataType.Integer, relatedFieldInfo.SiteId),
                GetParameter(ParmTotalLevel, DataType.Integer, relatedFieldInfo.TotalLevel),
                GetParameter(ParmPrefixes, DataType.VarChar, 255, relatedFieldInfo.Prefixes),
                GetParameter(ParmSuffixes, DataType.VarChar, 255, relatedFieldInfo.Suffixes),
            };

            return(ExecuteNonQueryAndReturnId(TableName, nameof(RelatedFieldInfo.Id), sqlString, insertParms));
        }
Ejemplo n.º 7
0
        private static AtomFeed ExportRelatedFieldInfo(RelatedFieldInfo relatedFieldInfo)
        {
            var feed = AtomUtility.GetEmptyFeed();

            AtomUtility.AddDcElement(feed.AdditionalElements, new List <string> {
                nameof(RelatedFieldInfo.Id), "RelatedFieldID"
            }, relatedFieldInfo.Id.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, new List <string> {
                nameof(RelatedFieldInfo.Title), "RelatedFieldName"
            }, relatedFieldInfo.Title);
            AtomUtility.AddDcElement(feed.AdditionalElements, new List <string> {
                nameof(RelatedFieldInfo.SiteId), "PublishmentSystemID"
            }, relatedFieldInfo.SiteId.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, nameof(RelatedFieldInfo.TotalLevel), relatedFieldInfo.TotalLevel.ToString());
            AtomUtility.AddDcElement(feed.AdditionalElements, nameof(RelatedFieldInfo.Prefixes), relatedFieldInfo.Prefixes);
            AtomUtility.AddDcElement(feed.AdditionalElements, nameof(RelatedFieldInfo.Suffixes), relatedFieldInfo.Suffixes);

            return(feed);
        }
Ejemplo n.º 8
0
        public RelatedFieldInfo GetRelatedFieldInfo(int relatedFieldId)
        {
            RelatedFieldInfo relatedFieldInfo = null;

            if (relatedFieldId > 0)
            {
                string sqlString =
                    $"SELECT RelatedFieldID, RelatedFieldName, PublishmentSystemID, TotalLevel, Prefixes, Suffixes FROM siteserver_RelatedField WHERE RelatedFieldID = {relatedFieldId}";

                using (var rdr = ExecuteReader(sqlString))
                {
                    if (rdr.Read())
                    {
                        var i = 0;
                        relatedFieldInfo = new RelatedFieldInfo(GetInt(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                    }
                    rdr.Close();
                }
            }

            return(relatedFieldInfo);
        }
Ejemplo n.º 9
0
        public RelatedFieldInfo GetRelatedFieldInfo(int publishmentSystemId, string relatedFieldName)
        {
            RelatedFieldInfo relatedFieldInfo = null;

            string sqlString =
                $"SELECT RelatedFieldID, RelatedFieldName, PublishmentSystemID, TotalLevel, Prefixes, Suffixes FROM siteserver_RelatedField WHERE PublishmentSystemID = {publishmentSystemId} AND RelatedFieldName = @RelatedFieldName";

            var selectParms = new IDataParameter[]
            {
                GetParameter(ParmRelatedFieldName, EDataType.NVarChar, 255, relatedFieldName)
            };

            using (var rdr = ExecuteReader(sqlString, selectParms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    relatedFieldInfo = new RelatedFieldInfo(GetInt(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(relatedFieldInfo);
        }
Ejemplo n.º 10
0
        public RelatedFieldInfo GetRelatedFieldInfo(int siteId, string relatedFieldName)
        {
            RelatedFieldInfo relatedFieldInfo = null;

            string sqlString =
                $"SELECT Id, Title, SiteId, TotalLevel, Prefixes, Suffixes FROM siteserver_RelatedField WHERE SiteId = {siteId} AND Title = @Title";

            var selectParms = new IDataParameter[]
            {
                GetParameter(ParmTitle, DataType.VarChar, 255, relatedFieldName)
            };

            using (var rdr = ExecuteReader(sqlString, selectParms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    relatedFieldInfo = new RelatedFieldInfo(GetInt(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(relatedFieldInfo);
        }
Ejemplo n.º 11
0
        public RelatedFieldInfo GetRelatedFieldInfo(int id)
        {
            if (id <= 0)
            {
                return(null);
            }

            RelatedFieldInfo relatedFieldInfo = null;

            string sqlString =
                $"SELECT Id, Title, SiteId, TotalLevel, Prefixes, Suffixes FROM siteserver_RelatedField WHERE Id = {id}";

            using (var rdr = ExecuteReader(sqlString))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    relatedFieldInfo = new RelatedFieldInfo(GetInt(rdr, i++), GetString(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(relatedFieldInfo);
        }
Ejemplo n.º 12
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            var relatedFieldInfo = new RelatedFieldInfo
            {
                RelatedFieldName    = RelatedFieldName.Text,
                PublishmentSystemID = PublishmentSystemId,
                TotalLevel          = TranslateUtils.ToInt(TotalLevel.SelectedValue)
            };
            var prefix = new ArrayList
            {
                Prefix1.Text,
                Prefix2.Text,
                Prefix3.Text,
                Prefix4.Text,
                Prefix5.Text
            };

            relatedFieldInfo.Prefixes = TranslateUtils.ObjectCollectionToString(prefix);
            var suffix = new ArrayList
            {
                Suffix1.Text,
                Suffix2.Text,
                Suffix3.Text,
                Suffix4.Text,
                Suffix5.Text
            };

            relatedFieldInfo.Suffixes = TranslateUtils.ObjectCollectionToString(suffix);

            if (Body.IsQueryExists("RelatedFieldID"))
            {
                try
                {
                    relatedFieldInfo.RelatedFieldID = Body.GetQueryInt("RelatedFieldID");
                    DataProvider.RelatedFieldDao.Update(relatedFieldInfo);
                    Body.AddSiteLog(PublishmentSystemId, "修改联动字段", $"联动字段:{relatedFieldInfo.RelatedFieldName}");
                    isChanged = true;
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "联动字段修改失败!");
                }
            }
            else
            {
                var relatedFieldNameArrayList = DataProvider.RelatedFieldDao.GetRelatedFieldNameArrayList(PublishmentSystemId);
                if (relatedFieldNameArrayList.IndexOf(RelatedFieldName.Text) != -1)
                {
                    FailMessage("联动字段添加失败,联动字段名称已存在!");
                }
                else
                {
                    try
                    {
                        DataProvider.RelatedFieldDao.Insert(relatedFieldInfo);
                        Body.AddSiteLog(PublishmentSystemId, "添加联动字段", $"联动字段:{relatedFieldInfo.RelatedFieldName}");
                        isChanged = true;
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "联动字段添加失败!");
                    }
                }
            }

            if (isChanged)
            {
                PageUtils.CloseModalPage(Page);
            }
        }
Ejemplo n.º 13
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            var relatedFieldInfo = new RelatedFieldInfo
            {
                Title      = TbRelatedFieldName.Text,
                SiteId     = SiteId,
                TotalLevel = TranslateUtils.ToInt(DdlTotalLevel.SelectedValue)
            };
            var prefix = new ArrayList
            {
                TbPrefix1.Text,
                TbPrefix2.Text,
                TbPrefix3.Text,
                TbPrefix4.Text,
                TbPrefix5.Text
            };

            relatedFieldInfo.Prefixes = TranslateUtils.ObjectCollectionToString(prefix);
            var suffix = new ArrayList
            {
                TbSuffix1.Text,
                TbSuffix2.Text,
                TbSuffix3.Text,
                TbSuffix4.Text,
                TbSuffix5.Text
            };

            relatedFieldInfo.Suffixes = TranslateUtils.ObjectCollectionToString(suffix);

            if (AuthRequest.IsQueryExists("RelatedFieldID"))
            {
                try
                {
                    relatedFieldInfo.Id = AuthRequest.GetQueryInt("RelatedFieldID");
                    DataProvider.RelatedFieldDao.Update(relatedFieldInfo);
                    AuthRequest.AddSiteLog(SiteId, "修改联动字段", $"联动字段:{relatedFieldInfo.Title}");
                    isChanged = true;
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "联动字段修改失败!");
                }
            }
            else
            {
                var relatedFieldNameList = DataProvider.RelatedFieldDao.GetTitleList(SiteId);
                if (relatedFieldNameList.IndexOf(TbRelatedFieldName.Text) != -1)
                {
                    FailMessage("联动字段添加失败,联动字段名称已存在!");
                }
                else
                {
                    try
                    {
                        DataProvider.RelatedFieldDao.Insert(relatedFieldInfo);
                        AuthRequest.AddSiteLog(SiteId, "添加联动字段", $"联动字段:{relatedFieldInfo.Title}");
                        isChanged = true;
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "联动字段添加失败!");
                    }
                }
            }

            if (isChanged)
            {
                LayerUtils.Close(Page);
            }
        }