using System;
using System.Web;
using System.Data;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
namespace HRMS
{
/// <summary>
/// 膀娄计沮巨摸
/// </summary>
public class SystemInfo
{
//
//﹍て╰参獺摸
//
public SystemInfo()
{
//
// TODO: 矪睰篶硑ㄧ计呸胯
//
}
//
//讽玡祅魁篈
//
public bool Logined
{
set
{
WriteSystemData("Logined",value.ToString());
}
get
{
bool bLogined=false;
try
{
bLogined=(ReadSystemData("Logined")=="true");
}
catch
{
bLogined=false;
}
return bLogined;
}
}
//
//祅魁ノめID
//
public string LoginID
{
set
{
WriteSystemData("LoginID",value.Trim());
}
get
{
return ReadSystemData("LoginID");
}
}
//
//祅魁ノめ﹎
//
public string LoginName
{
set
{
WriteSystemData("LoginName",value.Trim());
}
get
{
return ReadSystemData("LoginName");
}
}
/// <summary>
/// 耞ノめ琌祅魁
/// </summary>
/// <param name="sLoginState">硈钡篈才跋だ祅魁ぃ╰参</param>
/// <param name="sReLoginPage">狦⊿Τ祅魁璶硈钡祅魁</param>
/// <returns></returns>
public bool CheckLogined(string sLoginState,string sReLoginPage)
{
bool bLogined=false;
try
{
bLogined=(ReadSystemData("Logined" + sLoginState)=="true");
if (!bLogined)
{
if (sReLoginPage.Trim().Length>0) HttpContext.Current.Response.Redirect(sReLoginPage,true);
}
}
catch
{
if (sReLoginPage.Trim().Length>0) HttpContext.Current.Response.Redirect(sReLoginPage,true);
bLogined=false;
}
return bLogined;
}
/// <summary>
/// 耞ノめ舦
/// </summary>
/// <param name="sLoginState">硈钡篈才跋だ祅魁ぃ╰参</param>
/// <param name="nPurviewIndex">舦夹粁舦才﹃い竚硄筁琩计沮PurviewList眔Α "_" + "Bits"</param>
/// <param name="sErrorPage">厨岿</param>
/// <returns></returns>
public bool CheckPurview(string sLoginState, int nPurviewIndex, string sErrorPage)
{
string sLoginPurview = ReadSystemData("LoginPurview" + sLoginState);//眔莱舦才﹃
if (sLoginPurview.Length==0) goto ErrExit;//礚舦ㄏノ⊿祇瞷舦才﹃矪瞶礚舦巨
if (sLoginPurview.Substring(0,1)=="1")return true;//禬ノめ
if (sLoginPurview.Length<nPurviewIndex) goto ErrExit;//礚ㄏノ舦舦⊿砞竚
if (sLoginPurview.Substring(nPurviewIndex-1,1)=="0") goto ErrExit;//礚ㄏノ舦舦砞竚窽ゎㄏノ-1琌才﹃竚眖0秨﹍璸衡
return true;
ErrExit:
//砞竚铬锣礚舦薄猵铬锣厨岿
if (sErrorPage.Trim().Length>0) HttpContext.Current.Response.Redirect(sErrorPage);
return false;
}
/// <summary>
/// 耞ノめ琌Τ舦祅魁
/// </summary>
/// <param name="sLoginState">ノㄓ耞讽玡琌硈巨</param>
/// <param name="sUserID">ノめ块ノめ絪腹</param>
/// <param name="sUserName">ノめ块ノめ絪腹癸莱ノめ嘿</param>
/// <param name="sUserPwd">ノめ块ノめ盞絏</param>
/// <param name="sUserDepartment">ノめ┮妮场,禬ノめ</param>
/// <param name="nUserPurviewIndex">璶耞舦才腹</param>
/// <param name="sErrorMessage">岿粇獺</param>
/// <returns>喷靡硄筁true喷靡ア毖false</returns>
public bool CheckUserLogin(string sLoginState, string sUserID, string sUserPwd, int nUserPurviewIndex, ref string sUserDepartment, ref string sUserName, ref string sErrorMessage)
{
string sReturnUserID=sUserID;
string sReturnUserPwd=sUserPwd;
string sReturnUserPurview="";//ノめ舦才﹃
sErrorMessage ="";
//耞硈钡才﹃琌タ絋
SqlConnection cnnLinkServer=new SqlConnection(ServerLink);
try
{
if(cnnLinkServer.State!=ConnectionState.Closed) cnnLinkServer.Close();
cnnLinkServer.Open();
}
catch(Exception e)
{
cnnLinkServer.Close();
sErrorMessage="<script>alert('计沮畐硈钡ア毖叫羛么硁砰揭(Tel:180183)! " + e.Message + "');</script>";
return false;
}
SqlCommand cmdSelect = new SqlCommand("up_CheckUserLoginPurview",cnnLinkServer);
cmdSelect.CommandType = CommandType.StoredProcedure;
SqlParameter patSelect=new SqlParameter();
SqlParameter patReturnUserID=new SqlParameter();
SqlParameter patReturnUserName=new SqlParameter();
SqlParameter patReturnUserPwd=new SqlParameter();
SqlParameter patReturnUserDepartment=new SqlParameter();
SqlParameter patReturnUserDepartmentName=new SqlParameter();
SqlParameter patReturnUserPurview=new SqlParameter();
SqlParameter patReturn=new SqlParameter();
patReturnUserID=cmdSelect.Parameters.Add("@sUserID",SqlDbType.Char,20);
patReturnUserID.Direction=ParameterDirection.InputOutput;
patReturnUserID.Value=sReturnUserID;
patReturnUserName=cmdSelect.Parameters.Add("@sUserName",SqlDbType.Char,20);
patReturnUserName.Direction=ParameterDirection.Output;
patReturnUserPwd=cmdSelect.Parameters.Add("@sUserPwd",SqlDbType.Char,18);
patReturnUserPwd.Direction=ParameterDirection.InputOutput;
patReturnUserPwd.Value=sReturnUserPwd;
patReturnUserDepartment=cmdSelect.Parameters.Add("@sDepartmentID",SqlDbType.VarChar,10);
patReturnUserDepartment.Direction=ParameterDirection.Output;//sUserDepartment
patReturnUserDepartmentName=cmdSelect.Parameters.Add("@sDepartmentName",SqlDbType.VarChar,40);
patReturnUserDepartmentName.Direction=ParameterDirection.Output;//sUserDepartmentName
patSelect=cmdSelect.Parameters.Add("@nUserPurviewIndex",SqlDbType.Int);
patSelect.Direction=ParameterDirection.Input ;
patSelect.Value=nUserPurviewIndex;
patReturnUserPurview=cmdSelect.Parameters.Add("@sUserPurview",SqlDbType.Char,100);
patReturnUserPurview.Direction=ParameterDirection.Output;
patSelect=cmdSelect.Parameters.Add("@Message",SqlDbType.Char,100);
patSelect.Direction=ParameterDirection.Output;
patReturn=cmdSelect.Parameters.Add("ReturnValue",SqlDbType.Int);
patReturn.Direction=ParameterDirection.ReturnValue;
try
{
cmdSelect.ExecuteNonQuery();
sReturnUserID=patReturnUserID.Value.ToString().Trim();
sReturnUserPwd=patReturnUserPwd.Value.ToString().Trim();
sUserDepartment=patReturnUserDepartment.Value.ToString().Trim();
sReturnUserPurview=patReturnUserPurview.Value.ToString().Trim();
WriteSystemData("LoginPurview" + sLoginState,sReturnUserPurview.Trim());//р舦才﹃糶Sessionい称ノ
WriteSystemData("LoginDepartment" + sLoginState, sUserDepartment);//玂场
WriteSystemData("LoginDepartmentName" + sLoginState,patReturnUserDepartmentName.Value.ToString().Trim());//р舦才﹃糶Sessionい称ノ
bool bReturn=(((int)patReturn.Value)==0);
if (!bReturn)//狦纗筁祘獶0
{
sErrorMessage="<script>alert('" + patSelect.Value.ToString().Trim() + "');</script>";
cnnLinkServer.Close();
return false;
}
else
{
//耞糶琌璓
if (sReturnUserID != sUserID)
{
sErrorMessage = "<script>alert('ノめ絪腹喷靡ア毖叫猔種糶琌璓');</script>";
sErrorMessage += "<script>window.document.forms(0).txtUserID.focus();</script>";
cnnLinkServer.Close();
return false;
}
if (sReturnUserPwd != sUserPwd)
{
sErrorMessage = "<script>alert('ノめ盞絏喷靡ア毖叫猔種糶琌');</script>";
sErrorMessage += "<script>window.document.forms(0).txtUserPwd.focus();</script>";
cnnLinkServer.Close();
return false;
}
sUserName=patReturnUserName.Value.ToString().Trim();
cnnLinkServer.Close();
return true;
}
}
catch(Exception e)
{
sErrorMessage="<script>alert('计沮畐巨ア毖ア毖叫羛么硁砰揭(Tel:180183)! " + e.Message + "');</script>";
cnnLinkServer.Close();
return false;
}
}
//
//计沮畐硈钡才﹃
//
public string ServerLink
{
get
{
return ReadSystemData("ServerLink");
}
set
{
WriteSystemData("ServerLink",value.Trim());
}
}
/// <summary>
/// 计沮畐硈钡才﹃
/// </summary>
/// <param name="sLoginState">硈钡篈才跋だ祅魁ぃ╰参</param>
/// <returns></returns>
public string GetServerLink(string sLoginState)
{
return ReadSystemData("ServerLink" + sLoginState);
}
/// <summary>
/// 眔穝计沮畐硈钡癸钩,摸 SqlConnection计沮畐硈钡ㄏノ╰参纐粄 ServerLink
/// </summary>
/// <returns></returns>
public SqlConnection LinkConnection()
{
return LinkConnection(ServerLink);
}
/// <summary>
/// 眔穝计沮畐硈钡癸钩,摸 SqlConnection
/// </summary>
/// <param name="sServerLink">硈钡计沮畐才﹃跑秖</param>
/// <returns></returns>
public SqlConnection LinkConnection(string sServerLink)
{
SqlConnection cnnLink=new SqlConnection(sServerLink);
try
{
if(cnnLink.State!=ConnectionState.Closed) cnnLink.Close();
cnnLink.Open();
return cnnLink;
}
catch(Exception e)
{
cnnLink.Close();
string sExcept=e.Message;
HttpContext.Current.Response.Redirect(ConfigurationSettings.AppSettings["ErrSystem"]);
return null;
}
}
/// <summary>
/// 沮絏眔だ计沮
/// </summary>
/// <param name="connsServerLink">计沮畐硈钡癸禜</param>
/// <param name="sQueryText">┪琩高粂</param>
/// <param name="nPageSize">–魁计</param>
/// <param name="nPageCurrent">材碭</param>
/// <param name="nPageCount">羆计</param>
/// <param name="sShowFileds">璶陪ボ琿</param>
/// <param name="sOrderFileds">逼琿</param>
public DataTable SelectDataForPageIndex(string connServerLink, string sQueryText, int nPageSize, int nPageCurrent, ref int nPageCount, string sShowFileds, string sOrderFileds)
{
DataSet dsSelect=new DataSet();
SqlConnection connsServerLink=LinkConnection(connServerLink);
SqlCommand cmdSelect=new SqlCommand("up_Sunny_PageSize",connsServerLink);
SqlDataAdapter daSelect = new SqlDataAdapter();
daSelect.SelectCommand = cmdSelect;
cmdSelect.CommandType=CommandType.StoredProcedure;
SqlParameter patSelect=new SqlParameter();
patSelect=cmdSelect.Parameters.Add("@QueryText",SqlDbType.VarChar, 4000);
patSelect.Value =sQueryText;
patSelect=cmdSelect.Parameters.Add("@PageSize",SqlDbType.Int);
patSelect.Value =nPageSize;
patSelect=cmdSelect.Parameters.Add("@PageCurrent",SqlDbType.Int);
patSelect.Value =nPageCurrent;
patSelect=cmdSelect.Parameters.Add("@ShowFields",SqlDbType.VarChar,4000);
patSelect.Value =sShowFileds;
patSelect=cmdSelect.Parameters.Add("@OrderFields",SqlDbType.VarChar, 1000);
patSelect.Value =sOrderFileds;
patSelect=cmdSelect.Parameters.Add("@PageCount",SqlDbType.Int);
patSelect.Direction=ParameterDirection.InputOutput;
patSelect.Value =nPageCount;
try
{
daSelect.Fill(dsSelect);
if (nPageCurrent==1) nPageCount=(int)patSelect.Value;
connsServerLink.Close();
return (dsSelect.Tables[0]);
}
catch
{
connsServerLink.Close();
return null;
}
}
//
//糶计沮Session摸い
//
public void WriteSystemData(string SystemDataID, string SystemDataValue)
{
HttpContext.Current.Session[SystemDataID]=SystemDataValue.ToString().Trim();
}
//
//眖Session摸い弄计沮
//
public string ReadSystemData(string SysteDataID)
{
string sValue="";
try
{
sValue = HttpContext.Current.Session[SysteDataID].ToString().Trim();
}
catch
{
sValue="";
}
return(sValue);
}
/// <summary>
/// 浪代才﹃
/// </summary>
/// <param name="sValue">璶浪代才﹃癸钩</param>
/// <returns>才﹃</returns>
public string CheckString(string sValue)
{
if(sValue==null) return "";
return sValue.Trim().ToString();
}
/// <summary>
/// 浪代才﹃琌猭ら戳计沮
/// </summary>
/// <param name="sValue">璶浪代才﹃癸钩</param>
/// <returns>才﹃</returns>
public string CheckDate(string sValue)
{
if(sValue.Trim().Length==0) return "";
string sCheck="";
sValue=CheckString(sValue);//
DateTime datValue;
int nLen=0;
try
{
datValue=DateTime.Parse(sValue);//耞琌夹非ら戳yyyy-MM-dd or yyyy/mm/dd
return datValue.Date.ToString("yyyy-MM-dd");//夹非yyyy-MM-ddら戳Α才﹃
}
catch
{
nLen=sValue.Length;//眔才﹃龟砰
}
sValue=sValue.Replace("/","-");//р"/"蠢传Θ"-"
switch(nLen)
{
case 5:
case 6:
case 7:
int nIndex=sValue.IndexOf("-");//才﹃い琩т"-"
if (nIndex<0)
sCheck=sValue.Substring(0,4) + "-" + sValue.Substring(4) + "-01";
else
sCheck=sValue.Substring(0,4) + sValue.Substring(4) + "-01";
try
{
datValue=DateTime.Parse(sCheck);//耞琌夹非ら戳yyyy-MM-dd or yyyy/mm/dd
return datValue.Date.ToString("yyyy-MM");//夹非yyyy-MMるΑ才﹃
}
catch
{
return "";//才弧sValue琂ぃ琌ら戳ぃ琌る
}
case 8:
try
{
sCheck=sValue.Substring(0,4) + "-" + sValue.Substring(4,2) + "-" + sValue.Substring(6);
datValue=DateTime.Parse(sCheck);//耞琌夹非ら戳yyyy-MM-dd or yyyy/mm/dd
return datValue.Date.ToString("yyyy-MM-dd");//夹非yyyy-MMるΑ才﹃
}
catch
{
return "";//才弧sValue琂ぃ琌ら戳ぃ琌る
}
default:
return "";//礚ら戳才
}
}
/// <summary>
/// 浪代才﹃琌猭ら戳丁计沮
/// </summary>
/// <param name="sValue">璶浪代才﹃癸钩</param>
/// <returns>才﹃</returns>
public string CheckTime(string sValue)
{
if(sValue.Trim().Length==0) return "";
string sCheck="";
sValue=CheckString(sValue);
DateTime datValue;
bool bIsPM=false;
if (sValue.IndexOf("PM")>0)//才﹃い琩т"PM"
{
sValue=sValue.Replace("PM ","");//р"PM "蠢传Θ""
bIsPM=true;
}
else
{
if (sValue.IndexOf("と")>0)//才﹃い琩т"と"
{
sValue=sValue.Replace("と ","");//р"と "蠢传Θ""
bIsPM=true;
}
}
try
{
sValue=sValue.Substring(sValue.Length - 8);
if(bIsPM)
{
int nIndex=sValue.IndexOf(":");//才﹃い琩т":"
int nValue=int.Parse(sValue.Substring(0,nIndex));
if(nValue!=12) nValue=nValue+12;
sValue=nValue.ToString() + sValue.Substring(nIndex);
}
datValue=DateTime.Parse("2000-01-01 " + sValue);//耞琌夹非ら戳yyyy-MM-dd or yyyy/mm/dd
return sValue;//夹非yyyy-MM-ddら戳Α才﹃
}
catch
{
try
{
datValue=DateTime.Parse("2000-01-01 " + sValue);//耞琌夹非ら戳yyyy-MM-dd or yyyy/mm/dd
return datValue.Date.ToString("HH:mm:ss");//夹非yyyy-MM-ddら戳Α才﹃
}
catch
{
switch(sValue.Length)
{
case 4:
sCheck=sValue.Substring(0,2) + ":" + sValue.Substring(2,2) + ":00";
break;
case 5:
sCheck=sValue + ":00";
break;
case 6:
sCheck=sValue.Substring(0,2) + ":" + sValue.Substring(2,2) + ":" + sValue.Substring(4);
break;
default:
return "";//礚丁才
}
try
{
datValue=DateTime.Parse("2000-01-01 " + sCheck);
return sCheck;
}
catch
{
return "";//礚丁才
}
}
}
}
/// <summary>
/// 浪代才﹃琌猭丁计沮,Α:HH:mm
/// </summary>
/// <param name="sValue">璶浪代才﹃癸钩</param>
/// <returns>才﹃</returns>
public string CheckTimeHM(string sValue)
{
sValue=CheckString(sValue);
if(sValue.Trim().Length==0) return "";
string sValue1="";
string sValue2="";
int nValue1=0;
int nValue2=0;
DateTime datValue;
int nIndex=sValue.IndexOf(":");//才﹃い琩т":"
if (nIndex > 0)
{
sValue1 = sValue.Substring(0, nIndex);
sValue2 = sValue.Substring(nIndex + 1, sValue.Length - (nIndex + 1));
}
else
{
if (sValue.Length != 4) return "";
sValue1 = sValue.Substring(0, 2);
sValue2 = sValue.Substring(2, 2);
}
try{nValue1=int.Parse(sValue1);}
catch{nValue1 = 0;}
try{nValue2=int.Parse(sValue2);}
catch{nValue2 = 0;}
if (nValue1 < 10) sValue1 = "0" + nValue1.ToString();
if (nValue2 < 10) sValue2 = "0" + nValue2.ToString();
try
{
datValue=DateTime.Parse("2000-01-01 " + sValue1 + ":" + sValue2 + ":" + "00");//耞琌夹非ら戳yyyy-MM-dd or yyyy/mm/dd
return sValue1 + ":" + sValue2;//夹非yyyy-MM-ddら戳Α才﹃
}
catch
{
return "";//礚丁才
}
}
}
}
764

被折叠的 条评论
为什么被折叠?



