Пример #1
0
        internal static async Task <MediaItem> GetMediaItemByFileNameAsync(Guid?userId, string path)
        {
            string            fileName     = Path.GetFileName(path);
            IFilter           searchFilter = new LikeFilter(ProviderResourceAspect.ATTR_RESOURCE_ACCESSOR_PATH, "%" + SqlUtils.LikeEscape(fileName, '\\'), '\\', false);
            IList <MediaItem> items        = await GetMediaItemsAsync(userId, searchFilter, 1);

            return(items.FirstOrDefault());
        }
Пример #2
0
 protected IDbConnection GetConnection(DatabaseType databaseType, string connectionString)
 {
     return(SqlUtils.GetIDbConnection(databaseType, connectionString));
 }
Пример #3
0
 protected IDbDataParameter GetParameter(string parameterName, DataType dataType, int size, decimal value)
 {
     return(SqlUtils.GetIDbDataParameter(parameterName, dataType, size, value));
 }
Пример #4
0
 public static string GetMIATableIdentifier(MediaItemAspectMetadata miam)
 {
     return("T_" + SqlUtils.ToSQLIdentifier(miam.AspectId.ToString()).ToUpperInvariant());
 }
Пример #5
0
 public void DeleteExcess90Days()
 {
     ExecuteNonQuery($"DELETE FROM siteserver_TaskLog WHERE {SqlUtils.GetDateDiffGreatThanDays("AddDate", 90.ToString())}");
 }
Пример #6
0
        /// <summary>
        /// 统计管理员actionType的操作次数
        /// </summary>
        public Dictionary <string, int> GetAdminLoginDictionaryByName(DateTime dateFrom, DateTime dateTo, string actionType)
        {
            var dict = new Dictionary <string, int>();

            var builder = new StringBuilder();

            if (dateFrom > DateUtils.SqlMinValue)
            {
                builder.Append($" AND AddDate >= {SqlUtils.GetComparableDate(dateFrom)}");
            }
            if (dateTo != DateUtils.SqlMinValue)
            {
                builder.Append($" AND AddDate < {SqlUtils.GetComparableDate(dateTo)}");
            }

            string sqlSelectTrackingDay = $@"
SELECT COUNT(*) AS AddNum, UserName FROM (
    SELECT {SqlUtils.GetDatePartYear("AddDate")} AS AddYear, {SqlUtils.GetDatePartMonth("AddDate")} AS AddMonth, {SqlUtils.GetDatePartDay("AddDate")} AS AddDay, UserName 
    FROM siteserver_Log 
    WHERE {SqlUtils.GetDateDiffLessThanDays("AddDate", 30.ToString())} {builder}
) DERIVEDTBL GROUP BY UserName ORDER BY AddNum DESC";//添加日统计


            using (var rdr = ExecuteReader(sqlSelectTrackingDay))
            {
                while (rdr.Read())
                {
                    var accessNum = GetInt(rdr, 0);
                    var userName  = GetString(rdr, 1);
                    dict.Add(userName, accessNum);
                }
                rdr.Close();
            }
            return(dict);
        }
Пример #7
0
        private void InsertWithTrans(DepartmentInfo parentInfo, DepartmentInfo departmentInfo, IDbTransaction trans)
        {
            if (parentInfo != null)
            {
                departmentInfo.ParentsPath  = parentInfo.ParentsPath + "," + parentInfo.Id;
                departmentInfo.ParentsCount = parentInfo.ParentsCount + 1;

                var maxTaxis = GetMaxTaxisByParentPath(departmentInfo.ParentsPath);
                if (maxTaxis == 0)
                {
                    maxTaxis = parentInfo.Taxis;
                }
                departmentInfo.Taxis = maxTaxis + 1;
            }
            else
            {
                departmentInfo.ParentsPath  = "0";
                departmentInfo.ParentsCount = 0;
                var maxTaxis = GetMaxTaxisByParentPath("0");
                departmentInfo.Taxis = maxTaxis + 1;
            }

            var sqlInsert = "INSERT INTO siteserver_Department (DepartmentName, Code, ParentID, ParentsPath, ParentsCount, ChildrenCount, IsLastNode, Taxis, AddDate, Summary, CountOfAdmin) VALUES (@DepartmentName, @Code, @ParentID, @ParentsPath, @ParentsCount, @ChildrenCount, @IsLastNode, @Taxis, @AddDate, @Summary, @CountOfAdmin)";

            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmName, DataType.VarChar, 255, departmentInfo.DepartmentName),
                GetParameter(ParmCode, DataType.VarChar, 50, departmentInfo.Code),
                GetParameter(ParmParentId, DataType.Integer, departmentInfo.ParentId),
                GetParameter(ParmParentsPath, DataType.VarChar, 255, departmentInfo.ParentsPath),
                GetParameter(ParmParentsCount, DataType.Integer, departmentInfo.ParentsCount),
                GetParameter(ParmChildrenCount, DataType.Integer, 0),
                GetParameter(ParmIsLastNode, DataType.VarChar, 18, true.ToString()),
                GetParameter(ParmTaxis, DataType.Integer, departmentInfo.Taxis),
                GetParameter(ParmAddDate, DataType.DateTime, departmentInfo.AddDate),
                GetParameter(ParmSummary, DataType.VarChar, 255, departmentInfo.Summary),
                GetParameter(ParmCountOfAdmin, DataType.Integer, departmentInfo.CountOfAdmin)
            };

            string sqlString =
                $"UPDATE siteserver_Department SET {SqlUtils.ToPlusSqlString("Taxis")} WHERE (Taxis >= {departmentInfo.Taxis})";

            ExecuteNonQuery(trans, sqlString);

            departmentInfo.Id = ExecuteNonQueryAndReturnId(TableName, nameof(DepartmentInfo.Id), trans, sqlInsert, insertParms);

            if (!string.IsNullOrEmpty(departmentInfo.ParentsPath))
            {
                sqlString = $"UPDATE siteserver_Department SET {SqlUtils.ToPlusSqlString("ChildrenCount")} WHERE Id IN ({AttackUtils.FilterSql(departmentInfo.ParentsPath)})";

                ExecuteNonQuery(trans, sqlString);
            }

            sqlString = $"UPDATE siteserver_Department SET IsLastNode = '{false}' WHERE ParentID = {departmentInfo.ParentId}";

            ExecuteNonQuery(trans, sqlString);

            //sqlString =
            //    $"UPDATE siteserver_Department SET IsLastNode = '{true}' WHERE (Id IN (SELECT TOP 1 Id FROM siteserver_Department WHERE ParentID = {departmentInfo.ParentId} ORDER BY Taxis DESC))";

            sqlString =
                $"UPDATE siteserver_Department SET IsLastNode = '{true}' WHERE (Id IN ({SqlUtils.ToInTopSqlString("siteserver_Department", "Id", $"WHERE ParentID = {departmentInfo.ParentId}", "ORDER BY Taxis DESC", 1)}))";

            ExecuteNonQuery(trans, sqlString);

            DepartmentManager.ClearCache();
        }
Пример #8
0
        public string GetSelectCommand(int groupId, string searchWord, int dayOfCreate, int dayOfLastActivity, int loginCount, string searchType)
        {
            var whereBuilder = new StringBuilder();

            if (dayOfCreate > 0)
            {
                if (whereBuilder.Length > 0)
                {
                    whereBuilder.Append(" AND ");
                }
                var dateTime = DateTime.Now.AddDays(-dayOfCreate);
                whereBuilder.Append($"(CreateDate >= {SqlUtils.GetComparableDate(dateTime)})");
            }

            if (dayOfLastActivity > 0)
            {
                if (whereBuilder.Length > 0)
                {
                    whereBuilder.Append(" AND ");
                }
                var dateTime = DateTime.Now.AddDays(-dayOfLastActivity);
                whereBuilder.Append($"(LastActivityDate >= {SqlUtils.GetComparableDate(dateTime)}) ");
            }

            if (groupId > -1)
            {
                if (whereBuilder.Length > 0)
                {
                    whereBuilder.Append(" AND ");
                }
                whereBuilder.Append(groupId == 0 ? "(GroupId = 0 OR GroupId IS NULL)" : $"GroupId = {groupId}");
            }

            searchWord = AttackUtils.FilterSql(searchWord);

            if (string.IsNullOrEmpty(searchType))
            {
                if (whereBuilder.Length > 0)
                {
                    whereBuilder.Append(" AND ");
                }
                whereBuilder.Append(
                    $"(UserName LIKE '%{searchWord}%' OR EMAIL LIKE '%{searchWord}%')");
            }
            else
            {
                if (whereBuilder.Length > 0)
                {
                    whereBuilder.Append(" AND ");
                }
                whereBuilder.Append($"({searchType} LIKE '%{searchWord}%') ");
            }

            if (loginCount > 0)
            {
                if (whereBuilder.Length > 0)
                {
                    whereBuilder.Append(" AND ");
                }
                whereBuilder.Append($"(CountOfLogin > {loginCount})");
            }

            var whereString = string.Empty;

            if (whereBuilder.Length > 0)
            {
                whereString = $"WHERE {whereBuilder}";
            }

            return(DataProvider.DatabaseDao.GetSelectSqlString(TableName, SqlUtils.Asterisk, whereString));
        }
Пример #9
0
        void dgContents_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var tableMetadataId = SqlUtils.EvalInt(e.Item.DataItem, "TableMetadataID");
                var attributeName   = SqlUtils.EvalString(e.Item.DataItem, "AttributeName");
                var dataType        = SqlUtils.EvalString(e.Item.DataItem, "DataType");
                var dataLength      = SqlUtils.EvalInt(e.Item.DataItem, "DataLength");
                var isSystem        = SqlUtils.EvalString(e.Item.DataItem, "IsSystem");

                var ltlAttributeName = e.Item.FindControl("ltlAttributeName") as Literal;
                var ltlDisplayName   = e.Item.FindControl("ltlDisplayName") as Literal;
                var ltlIsVisible     = e.Item.FindControl("ltlIsVisible") as Literal;
                var ltlValidate      = e.Item.FindControl("ltlValidate") as Literal;
                var ltlDataType      = e.Item.FindControl("ltlDataType") as Literal;
                var ltlInputType     = e.Item.FindControl("ltlInputType") as Literal;
                var upLinkButton     = e.Item.FindControl("UpLinkButton") as HyperLink;
                var downLinkButton   = e.Item.FindControl("DownLinkButton") as HyperLink;
                var ltlStyle         = e.Item.FindControl("ltlStyle") as Literal;
                var ltlEditValidate  = e.Item.FindControl("ltlEditValidate") as Literal;
                var ltlEditUrl       = e.Item.FindControl("ltlEditUrl") as Literal;
                var ltlDeleteUrl     = e.Item.FindControl("ltlDeleteUrl") as Literal;

                var showPopWinString = ModalTableMetadataView.GetOpenWindowString(_tableType, _tableName, attributeName);
                ltlAttributeName.Text =
                    $"<a href=\"javascript:void 0;\" onClick=\"{showPopWinString}\">{attributeName}</a>";

                var styleInfo = TableStyleManager.GetTableStyleInfo(EAuxiliaryTableTypeUtils.GetTableStyle(_tableType), _tableName, attributeName, null);
                ltlDisplayName.Text = styleInfo.DisplayName;

                ltlIsVisible.Text = StringUtils.GetTrueOrFalseImageHtml(styleInfo.IsVisible.ToString());
                ltlValidate.Text  = EInputValidateTypeUtils.GetValidateInfo(styleInfo);

                ltlDataType.Text  = EDataTypeUtils.GetTextByAuxiliaryTable(EDataTypeUtils.GetEnumType(dataType), dataLength);
                ltlInputType.Text = EInputTypeUtils.GetText(EInputTypeUtils.GetEnumType(styleInfo.InputType));

                if (IsSystem(isSystem))
                {
                    if (upLinkButton != null)
                    {
                        upLinkButton.NavigateUrl = PageUtils.GetSysUrl(nameof(PageTableMetadata),
                                                                       new NameValueCollection
                        {
                            { "PublishmentSystemID", PublishmentSystemId.ToString() },
                            { "SetTaxis", "True" },
                            { "TableStyleID", styleInfo.TableStyleId.ToString() },
                            { "Direction", "UP" },
                            { "TableMetadataId", tableMetadataId.ToString() },
                            { "ENName", _tableName },
                            { "TableType", EAuxiliaryTableTypeUtils.GetValue(_tableType) }
                        });
                    }
                    if (downLinkButton != null)
                    {
                        downLinkButton.NavigateUrl = PageUtils.GetSysUrl(nameof(PageTableMetadata),
                                                                         new NameValueCollection
                        {
                            { "PublishmentSystemID", PublishmentSystemId.ToString() },
                            { "SetTaxis", "True" },
                            { "TableStyleID", styleInfo.TableStyleId.ToString() },
                            { "Direction", "DOWN" },
                            { "TableMetadataId", tableMetadataId.ToString() },
                            { "ENName", _tableName },
                            { "TableType", EAuxiliaryTableTypeUtils.GetValue(_tableType) }
                        });
                    }
                }

                ltlStyle.Text = GetEditStyleHtml(tableMetadataId, attributeName);

                showPopWinString     = ModalTableStyleValidateAdd.GetOpenWindowString(styleInfo.TableStyleId, _tableName, styleInfo.AttributeName, EAuxiliaryTableTypeUtils.GetTableStyle(_tableType), _redirectUrl);
                ltlEditValidate.Text = $"<a href=\"javascript:void 0;\" onClick=\"{showPopWinString}\">设置</a>";

                ltlEditUrl.Text = GetEditHtml(isSystem, tableMetadataId);

                if (!IsSystem(isSystem))
                {
                    var attributes = new NameValueCollection
                    {
                        { "Delete", true.ToString() },
                        { "TableMetadataID", tableMetadataId.ToString() }
                    };
                    var deleteUrl = PageUtils.AddQueryString(_redirectUrl, attributes);
                    ltlDeleteUrl.Text =
                        $@"<a href=""{deleteUrl}"" onClick=""javascript:return confirm('此操作将删除辅助字段“{attributeName}”,确认吗?');"">删除字段</a>";
                }
            }
        }
Пример #10
0
        private string GetWhereParcelasRecebidas(DateTime?dataInicial, DateTime?dataFinal)
        {
            string where = string.Empty;
            where       += " AND CRP.SituacaoParcelaFinanceira = 3 ";
            if (dataInicial != null)
            {
                where += string.Format(" AND CAST(CRP.DataRecebimento AS DATE) >= '{0}'", dataInicial.Value.ToString(SqlUtils.GetAmericanFormatDate()));
            }
            if (dataFinal != null)
            {
                where += string.Format(" AND CAST(CRP.DataRecebimento AS DATE) <= '{0}'", dataFinal.Value.ToString(SqlUtils.GetAmericanFormatDate()));
            }

            return(where);
        }
Пример #11
0
        public Dictionary <DateTime, int> GetTrackingDictionary(DateTime dateFrom, DateTime dateTo, string xType)
        {
            var analysisType = TranslateUtils.ToEnum(xType, AnalysisType.Day);
            var dict         = new Dictionary <DateTime, int>();

            var builder = new StringBuilder();

            builder.Append($" AND CreateDate >= {SqlUtils.GetComparableDate(Database.DatabaseType, dateFrom)}");
            builder.Append($" AND CreateDate < {SqlUtils.GetComparableDate(Database.DatabaseType, dateTo)}");

            string sqlString = $@"
SELECT COUNT(*) AS AddNum, AddYear, AddMonth, AddDay FROM (
    SELECT {SqlUtils.GetDatePartYear(Database.DatabaseType, "CreateDate")} AS AddYear, {SqlUtils.GetDatePartMonth(Database.DatabaseType, "CreateDate")} AS AddMonth, {SqlUtils.GetDatePartDay(Database.DatabaseType, "CreateDate")} AS AddDay 
    FROM {TableName} 
    WHERE {SqlUtils.GetDateDiffLessThanDays(Database.DatabaseType, "CreateDate", 30.ToString())} {builder}
) DERIVEDTBL GROUP BY AddYear, AddMonth, AddDay ORDER BY AddYear, AddMonth, AddDay
";//添加日统计

            if (analysisType == AnalysisType.Month)
            {
                sqlString = $@"
SELECT COUNT(*) AS AddNum, AddYear, AddMonth FROM (
    SELECT {SqlUtils.GetDatePartYear(Database.DatabaseType, "CreateDate")} AS AddYear, {SqlUtils.GetDatePartMonth(Database.DatabaseType, "CreateDate")} AS AddMonth 
    FROM {TableName} 
    WHERE {SqlUtils.GetDateDiffLessThanMonths(Database.DatabaseType, "CreateDate", 12.ToString())} {builder}
) DERIVEDTBL GROUP BY AddYear, AddMonth ORDER BY AddYear, AddMonth
";//添加月统计
            }
            else if (analysisType == AnalysisType.Year)
            {
                sqlString = $@"
SELECT COUNT(*) AS AddNum, AddYear FROM (
    SELECT {SqlUtils.GetDatePartYear(Database.DatabaseType, "CreateDate")} AS AddYear
    FROM {TableName} 
    WHERE {SqlUtils.GetDateDiffLessThanYears(Database.DatabaseType, "CreateDate", 10.ToString())} {builder}
) DERIVEDTBL GROUP BY AddYear ORDER BY AddYear
";//添加年统计
            }

            using (var connection = _repository.Database.GetConnection())
            {
                using (var rdr = connection.ExecuteReader(sqlString))
                {
                    while (rdr.Read())
                    {
                        var accessNum = rdr.IsDBNull(0) ? 0 : rdr.GetInt32(0);
                        if (analysisType == AnalysisType.Day)
                        {
                            var year     = rdr.GetValue(1);
                            var month    = rdr.GetValue(2);
                            var day      = rdr.GetValue(3);
                            var dateTime = TranslateUtils.ToDateTime($"{year}-{month}-{day}");
                            dict.Add(dateTime, accessNum);
                        }
                        else if (analysisType == AnalysisType.Month)
                        {
                            var year  = rdr.GetValue(1);
                            var month = rdr.GetValue(2);

                            var dateTime = TranslateUtils.ToDateTime($"{year}-{month}-1");
                            dict.Add(dateTime, accessNum);
                        }
                        else if (analysisType == AnalysisType.Year)
                        {
                            var year     = rdr.GetValue(1);
                            var dateTime = TranslateUtils.ToDateTime($"{year}-1-1");
                            dict.Add(dateTime, accessNum);
                        }
                    }
                    rdr.Close();
                }
            }

            return(dict);
        }
Пример #12
0
        private string GetWhereParcelasVencidas(DateTime?dataInicial, DateTime?dataFinal)
        {
            string where = string.Empty;
            where       += " AND CRP.SituacaoParcelaFinanceira = 1 ";
            if (dataInicial != null)
            {
                where += string.Format(" AND CAST(CRP.DataVencimento AS DATE) >= '{0}'", dataInicial.Value.ToString(SqlUtils.GetAmericanFormatDate()));
            }

            var dataFinalFiltro = " < CAST(GETDATE() AS DATE)";

            if (dataFinal != null)
            {
                dataFinalFiltro = string.Format(" <= '{0}'", dataFinal.Value.ToString(SqlUtils.GetAmericanFormatDate()));
            }

            where += string.Format(" AND CAST(CRP.DataVencimento AS DATE) {0}", dataFinalFiltro);

            return(where);
        }
Пример #13
0
        private static void WriteLog(string filePath, string message)
        {
            FileStream fs = null;

            if (!LockLog.TryEnterWriteLock(WriterLockTimeout))
            {
                return;
            }
            try
            {
                var intAttempts = 0;
                while (fs == null && intAttempts < 100)
                {
                    intAttempts += 1;
                    try
                    {
                        fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None);
                    }
                    catch (IOException exc)
                    {
                        Logger.Debug(exc);
                        Thread.Sleep(1);
                    }
                }
                if (fs == null)
                {
                    if (HttpContext.Current != null)
                    {
                        HttpContext.Current.Response.Write("An error has occurred writing to the exception log.");
                        HttpContext.Current.Response.End();
                    }
                }
                else
                {
                    WriteToStreamWriter(fs, message);
                }
            }
            catch (UnauthorizedAccessException)
            {
                RaiseError(filePath, "Unauthorized Access Error", "The Windows User Account listed below must have Read/Write Privileges for the website path.");
            }
            catch (DirectoryNotFoundException exc)
            {
                RaiseError(filePath, "Directory Not Found Error", exc.Message);
            }
            catch (PathTooLongException exc)
            {
                RaiseError(filePath, "Path Too Long Error", exc.Message);
            }
            catch (IOException exc)
            {
                RaiseError(filePath, "IO Error", exc.Message);
            }
            catch (SqlException exc)
            {
                RaiseError(filePath, "SQL Exception", SqlUtils.TranslateSQLException(exc));
            }
            catch (Exception exc)
            {
                RaiseError(filePath, "Unhandled Error", exc.Message);
            }
            finally
            {
                if (fs != null)
                {
                    fs.Close();
                }
                LockLog.ExitWriteLock();
            }
        }
Пример #14
0
 public AttributableDbContext(string nameOrConnectionString) : base(SqlUtils.GetConnectionString(nameOrConnectionString))
 {
 }
Пример #15
0
        public string GetStlWhereString(PublishmentSystemInfo publishmentSystemInfo, string tableName, string group, string groupNot, string tags, bool isImageExists, bool isImage, bool isVideoExists, bool isVideo, bool isFileExists, bool isFile, bool isTopExists, bool isTop, bool isRecommendExists, bool isRecommend, bool isHotExists, bool isHot, bool isColorExists, bool isColor, string where)
        {
            var whereBuilder = new StringBuilder();

            whereBuilder.Append($" AND PublishmentSystemID = {publishmentSystemInfo.PublishmentSystemId} ");

            if (isImageExists)
            {
                if (isImage)
                {
                    whereBuilder.Append($" AND {BackgroundContentAttribute.ImageUrl} <> '' ");
                }
                else
                {
                    whereBuilder.Append($" AND {BackgroundContentAttribute.ImageUrl} = '' ");
                }
            }

            if (isVideoExists)
            {
                if (isVideo)
                {
                    whereBuilder.Append($" AND {BackgroundContentAttribute.VideoUrl} <> '' ");
                }
                else
                {
                    whereBuilder.Append($" AND {BackgroundContentAttribute.VideoUrl} = '' ");
                }
            }

            if (isFileExists)
            {
                if (isFile)
                {
                    whereBuilder.Append($" AND {BackgroundContentAttribute.FileUrl} <> '' ");
                }
                else
                {
                    whereBuilder.Append($" AND {BackgroundContentAttribute.FileUrl} = '' ");
                }
            }

            if (isTopExists)
            {
                whereBuilder.Append($" AND IsTop = '{isTop}' ");
            }

            if (isRecommendExists)
            {
                whereBuilder.Append($" AND {BackgroundContentAttribute.IsRecommend} = '{isRecommend}' ");
            }

            if (isHotExists)
            {
                whereBuilder.Append($" AND {BackgroundContentAttribute.IsHot} = '{isHot}' ");
            }

            if (isColorExists)
            {
                whereBuilder.Append($" AND {BackgroundContentAttribute.IsColor} = '{isColor}' ");
            }

            if (!string.IsNullOrEmpty(group))
            {
                group = group.Trim().Trim(',');
                var groupArr = group.Split(',');
                if (groupArr != null && groupArr.Length > 0)
                {
                    whereBuilder.Append(" AND (");
                    foreach (var theGroup in groupArr)
                    {
                        var trimGroup = theGroup.Trim();
                        //whereBuilder.Append(
                        //    $" ({ContentAttribute.ContentGroupNameCollection} = '{trimGroup}' OR CHARINDEX('{trimGroup},',{ContentAttribute.ContentGroupNameCollection}) > 0 OR CHARINDEX(',{trimGroup},',{ContentAttribute.ContentGroupNameCollection}) > 0 OR CHARINDEX(',{trimGroup}',{ContentAttribute.ContentGroupNameCollection}) > 0) OR ");

                        whereBuilder.Append(
                            $" ({ContentAttribute.ContentGroupNameCollection} = '{trimGroup}' OR {SqlUtils.GetInStr(ContentAttribute.ContentGroupNameCollection, trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.ContentGroupNameCollection, "," + trimGroup + ",")} OR {SqlUtils.GetInStr(ContentAttribute.ContentGroupNameCollection, "," + trimGroup)}) OR ");
                    }
                    if (groupArr.Length > 0)
                    {
                        whereBuilder.Length = whereBuilder.Length - 3;
                    }
                    whereBuilder.Append(") ");
                }
            }

            if (!string.IsNullOrEmpty(groupNot))
            {
                groupNot = groupNot.Trim().Trim(',');
                var groupNotArr = groupNot.Split(',');
                if (groupNotArr != null && groupNotArr.Length > 0)
                {
                    whereBuilder.Append(" AND (");
                    foreach (var theGroupNot in groupNotArr)
                    {
                        var trimGroup = theGroupNot.Trim();
                        //whereBuilder.Append(
                        //    $" ({ContentAttribute.ContentGroupNameCollection} <> '{trimGroup}' AND CHARINDEX('{trimGroup},',{ContentAttribute.ContentGroupNameCollection}) = 0 AND CHARINDEX(',{trimGroup},',{ContentAttribute.ContentGroupNameCollection}) = 0 AND CHARINDEX(',{trimGroup}',{ContentAttribute.ContentGroupNameCollection}) = 0) AND ");

                        whereBuilder.Append(
                            $" ({ContentAttribute.ContentGroupNameCollection} <> '{trimGroup}' AND {SqlUtils.GetNotInStr(ContentAttribute.ContentGroupNameCollection, trimGroup + ",")} AND {SqlUtils.GetNotInStr(ContentAttribute.ContentGroupNameCollection, "," + trimGroup + ",")} AND {SqlUtils.GetNotInStr(ContentAttribute.ContentGroupNameCollection, "," + trimGroup)}) AND ");
                    }
                    if (groupNotArr.Length > 0)
                    {
                        whereBuilder.Length = whereBuilder.Length - 4;
                    }
                    whereBuilder.Append(") ");
                }
            }

            if (!string.IsNullOrEmpty(tags))
            {
                var tagCollection      = TagUtils.ParseTagsString(tags);
                var contentIdArrayList = BaiRongDataProvider.TagDao.GetContentIdListByTagCollection(tagCollection, publishmentSystemInfo.PublishmentSystemId);
                if (contentIdArrayList.Count > 0)
                {
                    whereBuilder.Append(
                        $" AND (ID IN ({TranslateUtils.ToSqlInStringWithoutQuote(contentIdArrayList)}))");
                }
            }

            if (!string.IsNullOrEmpty(where))
            {
                whereBuilder.Append($" AND ({@where}) ");
            }

            if (!publishmentSystemInfo.Additional.IsCreateSearchDuplicate)
            {
                var sqlString = BaiRongDataProvider.TableStructureDao.GetSelectSqlString(tableName, "MIN(ID)", whereBuilder + " GROUP BY Title");
                whereBuilder.Append($" AND ID IN ({sqlString}) ");
            }

            return(whereBuilder.ToString());
        }
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (AssetCategoryIdList != null && AssetCategoryIdList.Count > 0)
            {
                JoinableList list = new JoinableList(AssetCategoryIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", AssetCategory.Columns.AssetCategoryId));
            }

            if (AssetCategoryId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@assetCategoryId", AssetCategory.Columns.AssetCategoryId));
                sb.AddDataParameter("@assetCategoryId", AssetCategoryId.Value);
            }

            if (AssetId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@assetId", AssetCategory.Columns.AssetId));
                sb.AddDataParameter("@assetId", AssetId);
            }

            if (CategoryId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@categoryId", AssetCategory.Columns.CategoryId));
                sb.AddDataParameter("@categoryId", CategoryId);
            }

            if (IsPrimary.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@isPrimary", AssetCategory.Columns.IsPrimary));
                sb.AddDataParameter("@isPrimary", SqlUtils.BitValue(IsPrimary.Value));
            }

            if (Name != String.Empty)
            {
                sb.Criteria.Add("Name=@name");
                sb.AddDataParameter("@name", Name);
            }

            if (ParentCategoryId.HasValue)
            {
                if (ParentCategoryId.Value == 0)
                {
                    sb.Criteria.Add("ParentCategoryId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("ParentCategoryId=@parentCategoryId");
                    sb.AddDataParameter("@parentCategoryId", ParentCategoryId.Value);
                }
            }

            if (Synonyms != String.Empty)
            {
                sb.Criteria.Add("Synonyms=@synonyms");
                sb.AddDataParameter("@synonyms", Synonyms);
            }

            if (CategoryOrder.HasValue)
            {
                if (CategoryOrder.Value == 0)
                {
                    sb.Criteria.Add("CategoryOrder IS NULL");
                }
                else
                {
                    sb.Criteria.Add("CategoryOrder=@categoryOrder");
                    sb.AddDataParameter("@categoryOrder", CategoryOrder.Value);
                }
            }

            if (NameAndSynonyms != String.Empty)
            {
                sb.Criteria.Add("NameAndSynonyms=@nameAndSynonyms");
                sb.AddDataParameter("@nameAndSynonyms", NameAndSynonyms);
            }

            SetCustomSearchCriteria(ref sb);
        }
Пример #17
0
        /// <summary>
        /// 统计管理员actionType的操作次数
        /// </summary>
        /// <param name="dateFrom"></param>
        /// <param name="dateTo"></param>
        /// <param name="xType"></param>
        /// <param name="actionType"></param>
        /// <returns></returns>
        public Dictionary <DateTime, int> GetAdminLoginDictionaryByDate(DateTime dateFrom, DateTime dateTo, string xType, string actionType)
        {
            var dict = new Dictionary <DateTime, int>();

            if (string.IsNullOrEmpty(xType))
            {
                xType = EStatictisXTypeUtils.GetValue(EStatictisXType.Day);
            }

            var builder = new StringBuilder();

            if (dateFrom > DateUtils.SqlMinValue)
            {
                builder.Append($" AND AddDate >= {SqlUtils.GetComparableDate(dateFrom)}");
            }
            if (dateTo != DateUtils.SqlMinValue)
            {
                builder.Append($" AND AddDate < {SqlUtils.GetComparableDate(dateTo)}");
            }

            string sqlSelectTrackingDay = $@"
SELECT COUNT(*) AS AddNum, AddYear, AddMonth, AddDay FROM (
    SELECT {SqlUtils.GetDatePartYear("AddDate")} AS AddYear, {SqlUtils.GetDatePartMonth("AddDate")} AS AddMonth, {SqlUtils.GetDatePartDay("AddDate")} AS AddDay 
    FROM siteserver_Log 
    WHERE {SqlUtils.GetDateDiffLessThanDays("AddDate", 30.ToString())} {builder}
) DERIVEDTBL GROUP BY AddYear, AddMonth, AddDay ORDER BY AddNum DESC";//添加日统计

            if (EStatictisXTypeUtils.Equals(xType, EStatictisXType.Month))
            {
                sqlSelectTrackingDay = $@"
SELECT COUNT(*) AS AddNum, AddYear, AddMonth FROM (
    SELECT {SqlUtils.GetDatePartYear("AddDate")} AS AddYear, {SqlUtils.GetDatePartMonth("AddDate")} AS AddMonth 
    FROM siteserver_Log 
    WHERE {SqlUtils.GetDateDiffLessThanMonths("AddDate", 12.ToString())} {builder}
) DERIVEDTBL GROUP BY AddYear, AddMonth ORDER BY AddNum DESC";//添加月统计
            }
            else if (EStatictisXTypeUtils.Equals(xType, EStatictisXType.Year))
            {
                sqlSelectTrackingDay = $@"
SELECT COUNT(*) AS AddNum, AddYear FROM (
    SELECT {SqlUtils.GetDatePartYear("AddDate")} AS AddYear
    FROM siteserver_Log
    WHERE {SqlUtils.GetDateDiffLessThanYears("AddDate", 10.ToString())} {builder}
) DERIVEDTBL GROUP BY AddYear ORDER BY AddNum DESC
";//添加年统计
            }

            using (var rdr = ExecuteReader(sqlSelectTrackingDay))
            {
                while (rdr.Read())
                {
                    var accessNum = GetInt(rdr, 0);
                    if (EStatictisXTypeUtils.Equals(xType, EStatictisXType.Day))
                    {
                        var year     = GetString(rdr, 1);
                        var month    = GetString(rdr, 2);
                        var day      = GetString(rdr, 3);
                        var dateTime = TranslateUtils.ToDateTime($"{year}-{month}-{day}");
                        dict.Add(dateTime, accessNum);
                    }
                    else if (EStatictisXTypeUtils.Equals(xType, EStatictisXType.Month))
                    {
                        var year  = GetString(rdr, 1);
                        var month = GetString(rdr, 2);

                        var dateTime = TranslateUtils.ToDateTime($"{year}-{month}-1");
                        dict.Add(dateTime, accessNum);
                    }
                    else if (EStatictisXTypeUtils.Equals(xType, EStatictisXType.Year))
                    {
                        var year     = GetString(rdr, 1);
                        var dateTime = TranslateUtils.ToDateTime($"{year}-1-1");
                        dict.Add(dateTime, accessNum);
                    }
                }
                rdr.Close();
            }
            return(dict);
        }
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (BrandMetadataSettingIdList != null && BrandMetadataSettingIdList.Count > 0)
            {
                JoinableList list = new JoinableList(BrandMetadataSettingIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", BrandMetadataSetting.Columns.BrandMetadataSettingId));
            }

            if (BrandMetadataSettingId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@brandMetadataSettingId", BrandMetadataSetting.Columns.BrandMetadataSettingId));
                sb.AddDataParameter("@brandMetadataSettingId", BrandMetadataSettingId.Value);
            }

            if (BrandId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@brandId", BrandMetadataSetting.Columns.BrandId));
                sb.AddDataParameter("@brandId", BrandId);
            }

            if (FieldId != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@fieldId", BrandMetadataSetting.Columns.FieldId));
                sb.AddDataParameter("@fieldId", FieldId);
            }

            if (FieldName != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@fieldName", BrandMetadataSetting.Columns.FieldName));
                sb.AddDataParameter("@fieldName", FieldName);
            }

            if (IsRequired.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@isRequired", BrandMetadataSetting.Columns.IsRequired));
                sb.AddDataParameter("@isRequired", SqlUtils.BitValue(IsRequired.Value));
            }

            if (OnAssetForm.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@onAssetForm", BrandMetadataSetting.Columns.OnAssetForm));
                sb.AddDataParameter("@onAssetForm", SqlUtils.BitValue(OnAssetForm.Value));
            }

            if (OnAssetDetail.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@onAssetDetail", BrandMetadataSetting.Columns.OnAssetDetail));
                sb.AddDataParameter("@onAssetDetail", SqlUtils.BitValue(OnAssetDetail.Value));
            }

            if (AdditionalCopy != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@additionalCopy", BrandMetadataSetting.Columns.AdditionalCopy));
                sb.AddDataParameter("@additionalCopy", AdditionalCopy);
            }

            if (ToolTip != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@toolTip", BrandMetadataSetting.Columns.ToolTip));
                sb.AddDataParameter("@toolTip", ToolTip);
            }

            if (AllowMultiple.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@allowMultiple", BrandMetadataSetting.Columns.AllowMultiple));
                sb.AddDataParameter("@allowMultiple", SqlUtils.BitValue(AllowMultiple.Value));
            }

            if (IsCustom.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@isCustom", BrandMetadataSetting.Columns.IsCustom));
                sb.AddDataParameter("@isCustom", SqlUtils.BitValue(IsCustom.Value));
            }

            if (UiControlType != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@uiControlType", BrandMetadataSetting.Columns.UiControlType));
                sb.AddDataParameter("@uiControlType", UiControlType);
            }

            SetCustomSearchCriteria(ref sb);
        }
Пример #19
0
        public List <string> GetTagListByStartString(int siteId, string startString, int totalNum)
        {
            var sqlString = SqlUtils.GetDistinctTopSqlString("siteserver_Tag", "Tag, UseNum",
                                                             $"WHERE SiteId = {siteId} AND {SqlUtils.GetInStr("Tag", PageUtils.FilterSql(startString))}",
                                                             "ORDER BY UseNum DESC", totalNum);

            return(DataProvider.DatabaseDao.GetStringList(sqlString));
        }
Пример #20
0
        public static string GetContentOrderByString(ETaxisType taxisType, string orderByString)
        {
            if (!string.IsNullOrEmpty(orderByString))
            {
                if (orderByString.Trim().ToUpper().StartsWith("ORDER BY "))
                {
                    return(orderByString);
                }
                return("ORDER BY " + orderByString);
            }

            var retval = string.Empty;

            if (taxisType == ETaxisType.OrderById)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.Id)} ASC";
            }
            else if (taxisType == ETaxisType.OrderByIdDesc)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByChannelId)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.ChannelId)} ASC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByChannelIdDesc)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.ChannelId)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByAddDate)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.AddDate)} ASC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByAddDateDesc)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.AddDate)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByLastEditDate)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.LastEditDate)} ASC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByLastEditDateDesc)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.LastEditDate)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByTaxis)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.Taxis)} ASC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByTaxisDesc)
            {
                retval = $"ORDER BY {nameof(IContentInfo.IsTop)} DESC, {nameof(IContentInfo.Taxis)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByHits)
            {
                retval = $"ORDER BY {nameof(IContentInfo.Hits)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByHitsByDay)
            {
                retval = $"ORDER BY {nameof(IContentInfo.HitsByDay)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByHitsByWeek)
            {
                retval = $"ORDER BY {nameof(IContentInfo.HitsByWeek)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByHitsByMonth)
            {
                retval = $"ORDER BY {nameof(IContentInfo.HitsByMonth)} DESC, {nameof(IContentInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByRandom)
            {
                retval = SqlUtils.GetOrderByRandom();
            }

            return(retval);
        }
Пример #21
0
        private void UpdateIsLastNode(int parentId)
        {
            if (parentId > 0)
            {
                var sqlString = "UPDATE siteserver_Department SET IsLastNode = @IsLastNode WHERE  ParentID = @ParentID";

                var parms = new IDataParameter[]
                {
                    GetParameter(ParmIsLastNode, DataType.VarChar, 18, false.ToString()),
                    GetParameter(ParmParentId, DataType.Integer, parentId)
                };

                ExecuteNonQuery(sqlString, parms);

                //sqlString =
                //    $"UPDATE siteserver_Department SET IsLastNode = '{true.ToString()}' WHERE (Id IN (SELECT TOP 1 Id FROM siteserver_Department WHERE ParentID = {parentId} ORDER BY Taxis DESC))";

                sqlString =
                    $"UPDATE siteserver_Department SET IsLastNode = '{true}' WHERE (Id IN ({SqlUtils.ToInTopSqlString("siteserver_Department", "Id", $"WHERE ParentID = {parentId}", "ORDER BY Taxis DESC", 1)}))";

                ExecuteNonQuery(sqlString);
            }
        }
Пример #22
0
        public static string GetChannelOrderByString(ETaxisType taxisType, string orderByString, List <int> orderedContentIdList)
        {
            if (!string.IsNullOrEmpty(orderByString))
            {
                if (orderByString.Trim().ToUpper().StartsWith("ORDER BY "))
                {
                    return(orderByString);
                }
                return("ORDER BY " + orderByString);
            }

            var retval = string.Empty;

            if (taxisType == ETaxisType.OrderById)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.Id)} ASC";
            }
            else if (taxisType == ETaxisType.OrderByIdDesc)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByChannelId)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.Id)} ASC";
            }
            else if (taxisType == ETaxisType.OrderByChannelIdDesc)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.Id)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByAddDate)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.AddDate)} ASC";
            }
            else if (taxisType == ETaxisType.OrderByAddDateDesc)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.AddDate)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByLastEditDate)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.AddDate)} ASC";
            }
            else if (taxisType == ETaxisType.OrderByLastEditDateDesc)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.AddDate)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByTaxis)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.Taxis)} ASC";
            }
            else if (taxisType == ETaxisType.OrderByTaxisDesc)
            {
                retval = $"ORDER BY {nameof(IChannelInfo.Taxis)} DESC";
            }
            else if (taxisType == ETaxisType.OrderByHits)
            {
                if (orderedContentIdList != null && orderedContentIdList.Count > 0)
                {
                    orderedContentIdList.Reverse();
                    retval =
                        $"ORDER BY CHARINDEX(CONVERT(VARCHAR, {nameof(IChannelInfo.Id)}), '{TranslateUtils.ObjectCollectionToString(orderedContentIdList)}') DESC, {nameof(IChannelInfo.Taxis)} ASC";
                }
                else
                {
                    retval = $"ORDER BY {nameof(IChannelInfo.Taxis)} ASC";
                }
            }
            else if (taxisType == ETaxisType.OrderByRandom)
            {
                retval = SqlUtils.GetOrderByRandom();
            }

            return(retval);
        }
Пример #23
0
 public static string GetMIAAttributeColumnIdentifier(MediaItemAspectMetadata.AttributeSpecification spec)
 {
     return("A_" + SqlUtils.ToSQLIdentifier(spec.ParentMIAM.AspectId + "_" + spec.AttributeName).ToUpperInvariant());
 }
Пример #24
0
        public string GetSelectCommend(int siteId, string logType, string userName, string keyword, string dateFrom, string dateTo)
        {
            if (siteId == 0 && (string.IsNullOrEmpty(logType) || StringUtils.EqualsIgnoreCase(logType, "All")) && string.IsNullOrEmpty(userName) && string.IsNullOrEmpty(keyword) && string.IsNullOrEmpty(dateFrom) && string.IsNullOrEmpty(dateTo))
            {
                return(GetSelectCommend());
            }

            var whereString = new StringBuilder("WHERE ");

            var isWhere = false;

            if (siteId > 0)
            {
                isWhere = true;
                whereString.AppendFormat("(SiteId = {0})", siteId);
            }

            if (!string.IsNullOrEmpty(logType) && !StringUtils.EqualsIgnoreCase(logType, "All"))
            {
                if (isWhere)
                {
                    whereString.Append(" AND ");
                }
                isWhere = true;

                if (StringUtils.EqualsIgnoreCase(logType, "Channel"))
                {
                    whereString.Append("(ChannelId > 0 AND ContentId = 0)");
                }
                else if (StringUtils.EqualsIgnoreCase(logType, "Content"))
                {
                    whereString.Append("(ChannelId > 0 AND ContentId > 0)");
                }
            }

            if (!string.IsNullOrEmpty(userName))
            {
                if (isWhere)
                {
                    whereString.Append(" AND ");
                }
                isWhere = true;
                whereString.AppendFormat("(UserName = '******')", userName);
            }

            if (!string.IsNullOrEmpty(keyword))
            {
                if (isWhere)
                {
                    whereString.Append(" AND ");
                }
                isWhere = true;
                whereString.AppendFormat("(Action LIKE '%{0}%' OR Summary LIKE '%{0}%')", PageUtils.FilterSql(keyword));
            }

            if (!string.IsNullOrEmpty(dateFrom))
            {
                if (isWhere)
                {
                    whereString.Append(" AND ");
                }
                isWhere = true;
                whereString.Append($"(AddDate >= {SqlUtils.GetComparableDate(TranslateUtils.ToDateTime(dateFrom))})");
            }
            if (!string.IsNullOrEmpty(dateTo))
            {
                if (isWhere)
                {
                    whereString.Append(" AND ");
                }
                whereString.Append($"(AddDate <= {SqlUtils.GetComparableDate(TranslateUtils.ToDateTime(dateTo))})");
            }

            return("SELECT Id, SiteId, ChannelId, ContentId, UserName, IpAddress, AddDate, Action, Summary FROM siteserver_SiteLog " + whereString);
        }
Пример #25
0
 protected IDbConnection GetConnection(string connectionString)
 {
     return(SqlUtils.GetIDbConnection(WebConfigUtils.DatabaseType, connectionString));
 }
Пример #26
0
        private void TemplateControl_DataBinding(object sender, EventArgs e)
        {
            var literal   = (Literal)sender;
            var container = (RepeaterItem)literal.NamingContainer;

            var itemInfo = new DbItemInfo(container.DataItem, container.ItemIndex);

            if (_contextType == EContextType.Channel)
            {
                var channelItemInfo = new ChannelItemInfo(SqlUtils.EvalInt(container.DataItem, ChannelAttribute.Id), container.ItemIndex);
                _pageInfo.ChannelItems.Push(channelItemInfo);
                literal.Text = TemplateUtility.GetChannelsItemTemplateString(_templateString, _selectedItems, _selectedValues, container.ClientID, _pageInfo, _contextType, _contextInfo);
            }
            else if (_contextType == EContextType.Content)
            {
                var contentItemInfo = new ContentItemInfo(SqlUtils.EvalInt(container.DataItem, ContentAttribute.ChannelId), SqlUtils.EvalInt(container.DataItem, ContentAttribute.Id), container.ItemIndex);
                _pageInfo.ContentItems.Push(contentItemInfo);
                literal.Text = TemplateUtility.GetContentsItemTemplateString(_templateString, _selectedItems, _selectedValues, container.ClientID, _pageInfo, _contextType, _contextInfo);
            }
            else if (_contextType == EContextType.Comment)
            {
                _pageInfo.CommentItems.Push(itemInfo);
                literal.Text = TemplateUtility.GetCommentsTemplateString(_templateString, container.ClientID, _pageInfo, _contextType, _contextInfo);
            }
            //else if (_contextType == EContextType.InputContent)
            //{
            //    _pageInfo.InputItems.Push(itemInfo);
            //    literal.Text = TemplateUtility.GetInputContentsTemplateString(_templateString, container.ClientID, _pageInfo, _contextType, _contextInfo);
            //}
            else if (_contextType == EContextType.SqlContent)
            {
                _pageInfo.SqlItems.Push(itemInfo);
                literal.Text = TemplateUtility.GetSqlContentsTemplateString(_templateString, _selectedItems, _selectedValues, container.ClientID, _pageInfo, _contextType, _contextInfo);
            }
            else if (_contextType == EContextType.Site)
            {
                _pageInfo.SiteItems.Push(itemInfo);
                literal.Text = TemplateUtility.GetSitesTemplateString(_templateString, container.ClientID, _pageInfo, _contextType, _contextInfo);
            }
            else if (_contextType == EContextType.Each)
            {
                _pageInfo.EachItems.Push(itemInfo);
                literal.Text = TemplateUtility.GetEachsTemplateString(_templateString, _selectedItems, _selectedValues, container.ClientID, _pageInfo, _contextType, _contextInfo);
            }

            if (_separatorRepeat > 1)
            {
                _i++;
                if (_i % _separatorRepeat == 0)
                {
                    literal.Text += _separatorRepeatTemplate;
                }
            }
        }
Пример #27
0
 protected IDbDataParameter GetParameter(string parameterName, DataType dataType, string value)
 {
     return(SqlUtils.GetIDbDataParameter(parameterName, dataType, 0, value));
 }
Пример #28
0
        void rptContents_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var ltlPublishmentSystem = (Literal)e.Item.FindControl("ltlPublishmentSystem");
                var ltlUserName          = (Literal)e.Item.FindControl("ltlUserName");
                var ltlAddDate           = (Literal)e.Item.FindControl("ltlAddDate");
                var ltlIPAddress         = (Literal)e.Item.FindControl("ltlIPAddress");
                var ltlAction            = (Literal)e.Item.FindControl("ltlAction");
                var ltlSummary           = (Literal)e.Item.FindControl("ltlSummary");

                if (PublishmentSystemId == 0)
                {
                    var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(SqlUtils.EvalInt(e.Item.DataItem, "PublishmentSystemID"));
                    var publishmentSystemName = string.Empty;
                    if (publishmentSystemInfo != null)
                    {
                        publishmentSystemName =
                            $"<a href='{publishmentSystemInfo.PublishmentSystemUrl}' target='_blank'>{publishmentSystemInfo.PublishmentSystemName}</a>";
                    }
                    ltlPublishmentSystem.Text = $@"<td align=""center"" width=""160"">{publishmentSystemName}</td>";
                }
                ltlUserName.Text  = SqlUtils.EvalString(e.Item.DataItem, "UserName");
                ltlAddDate.Text   = DateUtils.GetDateAndTimeString(SqlUtils.EvalDateTime(e.Item.DataItem, "AddDate"));
                ltlIPAddress.Text = SqlUtils.EvalString(e.Item.DataItem, "IPAddress");
                ltlAction.Text    = SqlUtils.EvalString(e.Item.DataItem, "Action");
                ltlSummary.Text   = SqlUtils.EvalString(e.Item.DataItem, "Summary");
            }
        }
Пример #29
0
 public void DeleteExcess90Days()
 {
     ExecuteNonQuery("DELETE FROM siteserver_DbCache WHERE " + SqlUtils.GetDateDiffGreatThanDays("AddDate", 90.ToString()));
 }
Пример #30
0
        private void RptContents_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
            {
                return;
            }

            var templateId          = SqlUtils.EvalInt(e.Item.DataItem, nameof(TemplateInfo.Id));
            var templateType        = TemplateTypeUtils.GetEnumType(SqlUtils.EvalString(e.Item.DataItem, nameof(TemplateInfo.TemplateType)));
            var templateName        = SqlUtils.EvalString(e.Item.DataItem, nameof(TemplateInfo.TemplateName));
            var relatedFileName     = SqlUtils.EvalString(e.Item.DataItem, nameof(TemplateInfo.RelatedFileName));
            var createdFileFullName = SqlUtils.EvalString(e.Item.DataItem, nameof(TemplateInfo.CreatedFileFullName));
            var isDefault           = TranslateUtils.ToBool(SqlUtils.EvalString(e.Item.DataItem, nameof(TemplateInfo.IsDefault)));

            var ltlTemplateName    = (Literal)e.Item.FindControl("ltlTemplateName");
            var ltlRelatedFileName = (Literal)e.Item.FindControl("ltlRelatedFileName");
            var ltlFileName        = (Literal)e.Item.FindControl("ltlFileName");
            var ltlUseCount        = (Literal)e.Item.FindControl("ltlUseCount");
            var ltlTemplateType    = (Literal)e.Item.FindControl("ltlTemplateType");
            var ltlDefaultUrl      = (Literal)e.Item.FindControl("ltlDefaultUrl");
            var ltlCopyUrl         = (Literal)e.Item.FindControl("ltlCopyUrl");
            var ltlLogUrl          = (Literal)e.Item.FindControl("ltlLogUrl");
            var ltlCreateUrl       = (Literal)e.Item.FindControl("ltlCreateUrl");
            var ltlDeleteUrl       = (Literal)e.Item.FindControl("ltlDeleteUrl");

            var templateAddUrl = PageTemplateAdd.GetRedirectUrl(SiteId, templateId, templateType);

            ltlTemplateName.Text    = $@"<a href=""{templateAddUrl}"">{templateName}</a>";
            ltlRelatedFileName.Text = relatedFileName;

            if (templateType == TemplateType.IndexPageTemplate || templateType == TemplateType.FileTemplate)
            {
                var url = PageUtility.ParseNavigationUrl(SiteInfo, createdFileFullName, false);
                ltlFileName.Text = $"<a href='{url}' target='_blank'>{createdFileFullName}</a>";
            }

            ltlUseCount.Text = DataProvider.ChannelDao.GetTemplateUseCount(SiteId, templateId, templateType, isDefault).ToString();

            ltlTemplateType.Text = TemplateTypeUtils.GetText(templateType);

            if (templateType != TemplateType.FileTemplate)
            {
                if (isDefault)
                {
                    ltlDefaultUrl.Text = @"<span class=""badge badge-primary"">默认模板</span>";
                }
                else
                {
                    var defaultUrl = PageUtils.GetCmsUrl(SiteId, nameof(PageTemplate), new NameValueCollection
                    {
                        { "TemplateID", templateId.ToString() },
                        { "SetDefault", true.ToString() },
                        { "TemplateType", templateType.Value }
                    });
                    ltlDefaultUrl.Text =
                        $@"<a href=""{defaultUrl}"" onClick=""javascript:return confirm('此操作将把此模板设为默认,确认吗?');"">设为默认</a>";
                }
            }

            var copyUrl = PageTemplateAdd.GetRedirectUrlToCopy(SiteId, templateId);

            ltlCopyUrl.Text = $@"<a href=""{copyUrl}"">快速复制</a>";

            var logUrl = PageTemplateLog.GetRedirectUrl(SiteId, templateId);

            ltlLogUrl.Text = $@"<a href=""{logUrl}"">修订历史</a>";

            ltlCreateUrl.Text =
                $@"<a href=""javascript:;"" onclick=""{ModalProgressBar.GetOpenWindowStringWithCreateByTemplate(
                    SiteId, templateId)}"">生成页面</a>";

            if (!isDefault)
            {
                var deleteUrl = PageUtils.GetCmsUrl(SiteId, nameof(PageTemplate), new NameValueCollection
                {
                    { "TemplateID", templateId.ToString() },
                    { "Delete", true.ToString() },
                    { "TemplateType", templateType.Value }
                });

                ltlDeleteUrl.Text =
                    $@"<a href=""javascript:;"" onclick=""{AlertUtils.ConfirmDelete("删除文件", $"此操作将删除模板“{templateName}”,确认吗?", deleteUrl)}"">删除</a>";
            }
        }