📄 contentmanage.cs
字号:
namespace PowerEasy.SqlServerDal.Contents
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.Common;
using PowerEasy.Enumerations;
using PowerEasy.IDal.Contents;
using PowerEasy.Model.CommonModel;
using PowerEasy.Model.Contents;
using PowerEasy.SqlServerDal;
using PowerEasy.SqlServerDal.CommonModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Text;
public class ContentManage : IContentManage
{
private int m_TotalOfCommonModelInfo;
private int m_TotalOfCommonModelInfoBySpecialCategoryId;
private int m_TotalOfCommonModelInfoBySpecialId;
public bool Add(int modelId, DataTable contentData)
{
ModelInfo modelInfoById = new ModelDal().GetModelInfoById(modelId);
if (modelInfoById.IsNull)
{
return false;
}
string tableName = modelInfoById.TableName;
return (this.AddCommonModel(modelId, tableName, contentData) && AddContent(tableName, contentData));
}
public bool AddCommonModel(int modelId, string tableName, DataTable contentData)
{
int newGeneralId = GetNewGeneralId();
return this.AddCommonModel(modelId, tableName, contentData, newGeneralId);
}
public bool AddCommonModel(int modelId, string tableName, DataTable contentData, int generalId)
{
string[] filedNames = new string[] { "generalId", "InputTime", "ModelId", "TableName", "ItemId" };
string[] filedValues = new string[] { generalId.ToString(), DateTime.Now.ToString(), modelId.ToString(), tableName, generalId.ToString() };
FieldType[] typeArray2 = new FieldType[5];
typeArray2[1] = FieldType.DateTimeType;
typeArray2[3] = FieldType.TextType;
FieldType[] fieldType = typeArray2;
GetCommonModelDataTable(filedNames, filedValues, fieldType, contentData);
string filter = "FieldLevel=0 AND FieldName <> 'infoid' AND FieldName <> 'specialid'";
string strSql = Query.GetInsertTableSql("PE_CommonModel", contentData, filter);
Parameters cmdParams = Query.GetParameters(contentData, filter);
if (DBHelper.ExecuteSql(strSql, cmdParams))
{
AddVirtualContent(generalId, contentData);
return AddSpecialContent(generalId, contentData);
}
return false;
}
private static bool AddContent(string tableName, DataTable contentData)
{
string filter = "FieldName='generalId'";
int num = DataConverter.CLng(Query.GetDataRows(contentData, filter)[0]["FieldValue"]);
DataRow row = contentData.NewRow();
row["FieldName"] = "ID";
row["FieldValue"] = num;
row["FieldType"] = FieldType.None;
row["FieldLevel"] = 1;
contentData.Rows.Add(row);
filter = "FieldLevel=1";
string strSql = Query.GetInsertTableSql(tableName, contentData, filter);
Parameters cmdParams = Query.GetParameters(contentData, filter);
return DBHelper.ExecuteSql(strSql, cmdParams);
}
public static bool AddSpecialContent(int generalId, DataTable contentData)
{
bool flag2 = true;
string filter = "FieldName='specialid'";
DataRow[] dataRows = Query.GetDataRows(contentData, filter);
string str2 = "";
if (dataRows.Length > 0)
{
str2 = dataRows[0]["FieldValue"].ToString();
}
if (!string.IsNullOrEmpty(str2))
{
foreach (string str3 in str2.Split(new char[] { ',' }))
{
if (!AddToSpecialInfo(DataConverter.CLng(str3), generalId))
{
flag2 = false;
}
}
}
return flag2;
}
private static bool AddToSpecialInfo(int specialId, int generalId)
{
int num = DBHelper.GetMaxId("PE_SpecialInfos", "SpecialInfoID") + 1;
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@SpecialInfoId", DbType.Int32, num);
cmdParams.AddInParameter("@SpecialId", DbType.Int32, specialId);
cmdParams.AddInParameter("@GeneralId", DbType.Int32, generalId);
string strSql = "INSERT INTO PE_SpecialInfos(SpecialInfoID,SpecialID,GeneralId)VALUES(@SpecialInfoId,@SpecialId,@GeneralId)";
return DBHelper.ExecuteSql(strSql, cmdParams);
}
public static void AddVirtualContent(int generalId, DataTable contentData)
{
string filter = "FieldName=''";
int num = 1;
filter = "FieldName='infoid'";
DataRow[] dataRows = Query.GetDataRows(contentData, filter);
string str2 = "";
if (dataRows.Length > 0)
{
str2 = dataRows[0]["FieldValue"].ToString();
}
if (!string.IsNullOrEmpty(str2))
{
StringBuilder builder = new StringBuilder();
builder.Append("INSERT INTO PE_CommonModel SELECT @NewGeneralID AS GeneralId,@NodeId AS NodeId,ModelId,");
builder.Append("@ItemId AS ItemId,TableName,Title,Inputer,Hits,DayHits,WeekHits,");
builder.Append("MonthHits,@LinkType AS LinkType,UpdateTime,CreateTime,TemplateFile,Status,");
builder.Append("EliteLevel,Priority,CommentAudited,CommentUnAudited,SigninType,InputTime,PassedTime,Editor,LastHitTime,DefaultPicUrl,UploadFiles FROM PE_CommonModel AS PE_CM WHERE PE_CM.GeneralId=@GeneralID");
string[] strArray = str2.Split(new char[] { ',' });
Database database = DatabaseFactory.CreateDatabase();
DbCommand sqlStringCommand = database.GetSqlStringCommand(builder.ToString());
database.AddInParameter(sqlStringCommand, "@NewGeneralID", DbType.Int32);
database.AddInParameter(sqlStringCommand, "@GeneralID", DbType.Int32);
database.AddInParameter(sqlStringCommand, "@LinkType", DbType.Int32);
database.AddInParameter(sqlStringCommand, "@NodeId", DbType.Int32);
database.AddInParameter(sqlStringCommand, "@ItemId", DbType.Int32);
database.SetParameterValue(sqlStringCommand, "@GeneralID", generalId);
database.SetParameterValue(sqlStringCommand, "@LinkType", num);
database.SetParameterValue(sqlStringCommand, "@ItemId", generalId);
foreach (string str3 in strArray)
{
database.SetParameterValue(sqlStringCommand, "@NewGeneralID", GetNewGeneralId());
database.SetParameterValue(sqlStringCommand, "@NodeId", DataConverter.CLng(str3));
database.ExecuteNonQuery(sqlStringCommand);
}
}
}
public bool BatchMove(string generalIds, int nodeId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@NodeID", DbType.Int32, nodeId);
return DBHelper.ExecuteSql("UPDATE PE_CommonModel SET NodeID=@NodeID WHERE GeneralID IN(" + generalIds + ")", cmdParams);
}
public bool BatchUpdate(CommonModelInfo commonModelInfo, string itemId, Dictionary<string, bool> checkItem, int batchType)
{
StringBuilder builder = new StringBuilder();
Parameters cmdParams = new Parameters();
builder.Append("UPDATE PE_CommonModel SET ");
if (checkItem["EliteLevel"])
{
builder.Append("EliteLevel = @EliteLevel,");
cmdParams.AddInParameter("@EliteLevel", DbType.Int32, commonModelInfo.EliteLevel);
}
if (checkItem["Priority"])
{
builder.Append("Priority = @Priority,");
cmdParams.AddInParameter("@Priority", DbType.Int32, commonModelInfo.Priority);
}
if (checkItem["Hits"])
{
builder.Append("Hits = @Hits,");
cmdParams.AddInParameter("@Hits", DbType.Int32, commonModelInfo.Hits);
}
if (checkItem["DayHits"])
{
builder.Append("DayHits = @DayHits,");
cmdParams.AddInParameter("@DayHits", DbType.Int32, commonModelInfo.DayHits);
}
if (checkItem["WeekHits"])
{
builder.Append("WeekHits = @WeekHits,");
cmdParams.AddInParameter("@WeekHits", DbType.Int32, commonModelInfo.WeekHits);
}
if (checkItem["MonthHits"])
{
builder.Append("MonthHits = @MonthHits,");
cmdParams.AddInParameter("MonthHits", DbType.Int32, commonModelInfo.MonthHits);
}
if (checkItem["UpdateTime"])
{
builder.Append("UpdateTime = @UpdateTime,");
cmdParams.AddInParameter("@UpdateTime", DbType.DateTime, commonModelInfo.UpdateTime);
}
if (checkItem["TemplateFile"])
{
builder.Append("TemplateFile = @TemplateFile,");
cmdParams.AddInParameter("@TemplateFile", DbType.String, commonModelInfo.TemplateFile);
}
if (builder.Length <= 0x1a)
{
return true;
}
builder.Remove(builder.Length - 1, 1);
builder.Append(" WHERE ");
if (batchType == 0)
{
builder.Append(" GeneralID IN ( ");
}
else
{
builder.Append(" NodeID IN ( ");
}
builder.Append(itemId);
builder.Append(" )");
return DBHelper.ExecuteSql(builder.ToString(), cmdParams);
}
private static CommonModelInfo CommonModelInfoFromDataReader(NullableDataReader rdr)
{
CommonModelInfo info = new CommonModelInfo();
info.GeneralId = rdr.GetInt32("GeneralId");
info.NodeId = rdr.GetInt32("NodeId");
info.ModelId = rdr.GetInt32("ModelId");
info.ItemId = rdr.GetInt32("ItemId");
info.TableName = rdr.GetString("TableName");
info.Title = rdr.GetString("Title");
info.Inputer = rdr.GetString("Inputer");
info.Hits = rdr.GetInt32("Hits");
info.DayHits = rdr.GetInt32("DayHits");
info.WeekHits = rdr.GetInt32("WeekHits");
info.MonthHits = rdr.GetInt32("MonthHits");
info.LinkType = rdr.GetInt32("LinkType");
info.UpdateTime = rdr.GetDateTime("UpdateTime");
info.CreateTime = rdr.GetNullableDateTime("CreateTime");
info.TemplateFile = rdr.GetString("TemplateFile");
info.Status = rdr.GetInt32("Status");
info.EliteLevel = rdr.GetInt32("EliteLevel");
info.Priority = rdr.GetInt32("Priority");
info.CommentAudited = rdr.GetInt32("CommentAudited");
info.CommentUNAudited = rdr.GetInt32("CommentUnAudited");
info.InputTime = rdr.GetDateTime("InputTime");
info.DefaultPicurl = rdr.GetString("DefaultPicurl");
info.UploadFiles = rdr.GetString("UploadFiles");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -