You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

333 lines
16 KiB
C#

using System;
using System.Data;
using System.Collections.Generic;
using System.Text;
using DSWeb.MvcShipping.Models.MsTemplet;
using Microsoft.Practices.EnterpriseLibrary.Data;
using DSWeb.EntityDA;
using DSWeb.Areas.CommMng.Models;
using HcUtility.Comm;
namespace DSWeb.Areas.MvcShipping.DAL
{
public partial class MsTempletDAL
{
#region Inquery DataList
public static DataTable GetMemcachedValue(string id, string codeName, string companyid, string userid, string templetid)
{
return HomeService.HomeService.DeliveryMemcachedForCount(id, codeName, companyid, userid, templetid);
}
public static DataTable GetMemcachedValueImmediately(string id, string codeName, string companyid, string userid, string templetid)
{
return HomeService.HomeService.DeliveryMemcachedImmediatelyForCount(id, codeName, companyid, userid, templetid);
}
public static DataTable GetMemcachedList(string id, string codeName, string companyid, string userid, string templetid)
{
return HomeService.HomeService.DeliveryMemcachedForList(id, codeName, companyid, userid, templetid);
}
public static DataTable GetMemcachedListImmediately(string id, string codeName, string companyid, string userid, string templetid)
{
return HomeService.HomeService.DeliveryMemcachedImmediatelyForList(id, codeName, companyid, userid, templetid);
}
public static string GetModuleName(string url)
{
return HomeService.NavigationService.DeliveryMemcached(url);
}
public static List<MsTempletStructure> ReadPageStructure(string url, string id, string userid, int param)
{
StringBuilder sql = new StringBuilder();
sql.AppendLine("select ");
switch (param)
{
case 0:
sql.AppendLine("* ");
break;
case 1:
sql.AppendLine("IMGURL,");
sql.AppendLine("(select GID from user_templet where ITEMID=A.ITEMID and USERID='"+userid+"' and COMPANYID=(select COMPANYID from user_company where userid='" + userid + "')) as GID, ");
sql.AppendLine("(select ITEMNAME from user_templet where ITEMID=A.ITEMID and USERID='"+userid+"' and COMPANYID=(select COMPANYID from user_company where userid='" + userid + "')) as TITLE ");
break;
case 2:
sql.AppendLine("B.* ");
break;
case 3:
sql.AppendLine("(" + id + ") as SQL");
break;
case 4:
sql.AppendLine("distinct B.ITEMID,B.ITEMNAME ");
break;
case 5:
sql.AppendLine("distinct B.* ");
break;
}
sql.AppendLine("from templet as A ");
if (param == 2 || param == 4 || param == 5)
{
sql.AppendLine("left join user_templet as B on A.ITEMID=B.PARENTID and B.COMPANYID=(select COMPANYID from user_company where userid='" + userid + "') ");
}
sql.AppendLine("where A.TEMPLETURL='" + url + "'and A.USERID='" + userid + "' ");
switch (param)
{
case 0:
sql.AppendLine("and A.PARENTITEMID='" + id + "' ");
sql.AppendLine("order by A.SORT");
break;
case 1:
sql.AppendLine("and A.PARENTITEMID = (select distinct ITEMID from templet where PARENTITEMID='.' and TEMPLETURL='" + url + "') ");
sql.AppendLine("order by A.SORT");
break;
case 2:
sql.AppendLine("and B.USERID='"+userid+"' and B.PARENTID in (select ITEMID from user_templet where ITEMNAME='" + id + "' and COMPANYID=(select COMPANYID from user_company where userid='" + userid + "')) ");
sql.AppendLine("order by A.SORT,B.SORT ");
break;
case 4:
sql.AppendLine("and B.ITEMID in (select distinct ITEMID from templet where PARENTITEMID=(select distinct ITEMID from templet where PARENTITEMID='" + id + "' and TEMPLETURL='" + url + "')) ");
break;
case 5:
sql.AppendLine("and B.USERID='"+userid+"' and B.PARENTID=(select ITEMID from user_templet where ITEMNAME='" + id + "' and USERID='"+userid+"' and COMPANYID=(select COMPANYID from user_company where userid='" + userid + "') )");
break;
}
return SetPageStructure(sql, param);
}
public static List<MsTempletStructure> SetPageStructure(StringBuilder sql, int param)
{
var headList = new List<MsTempletStructure>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql.ToString()))
{
while (reader.Read())
{
switch (param)
{
case 0:
MsTempletStructure data1 = new MsTempletStructure();//MsUserTempletStructure
#region Set DB data to Object
data1.GID = Convert.ToString(reader["GID"]);
data1.TEMPLETID = Convert.ToString(reader["TEMPLETID"]);
data1.TEMPLETURL = Convert.ToString(reader["TEMPLETURL"]);
data1.HASIMG = Convert.ToBoolean(reader["HASIMG"]);
if (reader["MAINIMGURL"] != DBNull.Value)
{
data1.MAINIMGURL = Convert.ToString(reader["MAINIMGURL"]);
}
data1.HASLIST = Convert.ToBoolean(reader["HASLIST"]);
if (reader["LISTSTYLE"] != DBNull.Value)
{
data1.LISTSTYLE = Convert.ToInt16(reader["LISTSTYLE"]);
}
data1.HASCHILD = Convert.ToBoolean(reader["HASCHILD"]);
data1.PARENTITEMID = Convert.ToString(reader["PARENTITEMID"]);
data1.ITEMID = Convert.ToString(reader["ITEMID"]);
data1.ITEMTYPE = Convert.ToInt16(reader["ITEMTYPE"]);
if (reader["IMGURL"] != DBNull.Value)
{
data1.IMGURL = Convert.ToString(reader["IMGURL"]);
}
data1.SORT = Convert.ToInt16(reader["SORT"]);
#endregion
headList.Add(data1);
break;
case 1:
MsTempletStructure data2 = new MsTempletStructure();//MsUserTempletStructure
#region Set DB data to Object
data2.GID = Convert.ToString(reader["GID"]);
data2.IMGURL = Convert.ToString(reader["IMGURL"]);
data2.ITEMNAME = Convert.ToString(reader["TITLE"]);
#endregion
headList.Add(data2);
break;
case 2:
MsTempletStructure data3 = new MsTempletStructure();//MsUserTempletStructure
#region Set DB data to Object
data3.GID = Convert.ToString(reader["GID"]);
data3.TEMPLETID = Convert.ToString(reader["TEMPLETID"]);
data3.ITEMID = Convert.ToString(reader["ITEMID"]);
data3.ITEMNAME = Convert.ToString(reader["ITEMNAME"]);
data3.LINKURL = Convert.ToString(reader["LINKURL"]);
data3.SQL = Convert.ToString(reader["SQL"]);
data3.ICONNAME = Convert.ToString(reader["ICONNAME"]);
#endregion
headList.Add(data3);
break;
case 4:
MsTempletStructure data4 = new MsTempletStructure();
#region Set DB data to Object
data4.ITEMID = Convert.ToString(reader["ITEMID"]);
data4.ITEMNAME = Convert.ToString(reader["ITEMNAME"]);
#endregion
headList.Add(data4);
break;
case 5:
MsTempletStructure data5 = new MsTempletStructure();
#region Set DB data to Object
data5.GID = Convert.ToString(reader["GID"]);
data5.TEMPLETID = Convert.ToString(reader["TEMPLETID"]);
data5.ITEMID = Convert.ToString(reader["ITEMID"]);
data5.ITEMNAME = Convert.ToString(reader["ITEMNAME"]);
data5.LINKURL = Convert.ToString(reader["LINKURL"]);
data5.SQL = Convert.ToString(reader["SQL"]);
data5.ISICOWAY = Convert.ToBoolean(reader["ISICOWAY"]);
data5.ICONNAME = Convert.ToString(reader["ICONNAME"]);
#endregion
headList.Add(data5);
break;
}
}
reader.Close();
}
return headList;
}
public static List<MsTempletStructure> GetLinkInfo(string id, string templetid) {
StringBuilder sql = new StringBuilder();
//////////////////////
/*sql.AppendLine("select A.LINKURL,B.TEMPLETURL from user_templet as A ");
sql.AppendLine("left join templet as B on A.TEMPLETID=B.TEMPLETID ");
sql.AppendLine("where A.GID='" + id + "' and A.TEMPLETID='" + templetid + "'");*/
sql.AppendLine("select A.LINKURL,(select distinct TEMPLETURL from templet where TEMPLETID=A.TEMPLETID) as TEMPLETURL ");
sql.AppendLine("from user_templet as A");
sql.AppendLine("where A.GID='"+id+"'");
var headList = new List<MsTempletStructure>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql.ToString()))
{
while (reader.Read())
{
MsTempletStructure data = new MsTempletStructure();//MsUserTempletStructure
#region Set DB data to Object
data.LINKURL = Convert.ToString(reader["LINKURL"]);
data.TEMPLETURL = Convert.ToString(reader["TEMPLETURL"]);
#endregion
headList.Add(data);
break;
}
reader.Close();
}
return headList;
}
#endregion
#region 查询模板地址
public static List<MsTempletStructure> GetTempletURL(string gid, string companyid)
{
List<MsTempletStructure> list = new List<MsTempletStructure>();
StringBuilder sql = new StringBuilder();
sql.AppendLine("select distinct B.GID,A.TEMPLETURL ");
sql.AppendLine("from templet as A ");
sql.AppendLine("left join user_templet as B on A.TEMPLETID=B.TEMPLETID ");
sql.AppendLine("where A.TEMPLETID='" + gid + "' and B.LINKURL='.' and B.COMPANYID='" + companyid + "' ");
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql.ToString()))
{
while (reader.Read())
{
MsTempletStructure data = new MsTempletStructure();
data.GID = Convert.ToString(reader["GID"]);
data.LINKURL = Convert.ToString(reader["TEMPLETURL"]);
list.Add(data);
}
reader.Close();
}
return list;
}
#endregion
/*
#region 权限范围
public static string GetRangDAStr(string tb, string userid, string username, string companyid)
{
string str = "";
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(" VISIBLERANGE,OPERATERANGE ");
strSql.Append(" from VW_User_Authority ");
strSql.Append(" where [NAME]='modOrderManagement' and USERID='" + userid + "' and ISDELETE=0");
string visiblerange = "4";
string operaterange = "4";
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
operaterange = Convert.ToString(reader["OPERATERANGE"]);
break;
}
reader.Close();
}
if (visiblerange == "4")
{
str = "1=2";
}
else if (visiblerange == "3")
{
str = " (B.OP='" + username + "' OR B.SALE='" + username + "' OR B.CUSTSERVICE='" + username + "' OR B.DOC='" + username + "')";
}
else if (visiblerange == "2")
{
if (tb == "index")
{
var rangeDa = new RangeDA();
var deptname = rangeDa.GetDEPTNAME(userid);
var userstr = new StringBuilder();
userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.DOC='" + Convert.ToString(reader["SHOWNAME"]) + "'";
}
else
{
str = str + " or B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.DOC='" + Convert.ToString(reader["SHOWNAME"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else
{
str = " UPPER(B.Corpid)='" + companyid + "'";
}
}
else if (visiblerange == "1")
{
str = " UPPER(B.Corpid)='" + companyid + "'";
}
return str;
}
#endregion
*/
#region 参照部分
#endregion
}
}