/// <summary>
/// 检查时间是否在指定时间段内(只计算日期部分)
/// </summary>
/// <param name="startTime">起始时间,字符串形式,格式yyyy-MM-dd HH:mm:ss</param>
/// <param name="endTime">结束时间,同上</param>
/// <param name="selectTime">指定的时间,同上</param>
/// <returns></returns>
public static bool CheckTime(string startTime, string endTime, string selectTime)
{
DateTime startDT = Convert.ToDateTime(startTime).Date;
DateTime endDT = Convert.ToDateTime(endTime).Date;
DateTime selectDT = Convert.ToDateTime(selectTime).Date;
if ((selectDT.CompareTo(startDT) == 0 || selectDT.CompareTo(startDT) == 1)
&& (selectDT.CompareTo(endDT) == -1 || selectDT.CompareTo(endDT) == 0))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 比较数组中是否有相同数据,输出相同值
/// </summary>
/// <param name="strArray">字符串数组,也可换成整形</param>
/// <returns></returns>
public string CheckSameData(string[] strArray)
{
string strSame = string.Empty;
int length = strArray.Length;
for (int i = 0; i < length; i++)
{
string userid = strArray[i].ToString();
for (int j = i + 1; j < length; j++)
{
//防止出现相同ID
if (userid == strArray[j])
{
strSame = strArray[j];
}
}
}
return strSame;
}
/// <summary>
/// 用户搜索
/// </summary>
/// <param name="userid">搜索的用户ID</param>
/// <param name="depid">搜索的部门ID</param>
/// <returns></returns>
public DataSet SearchUser(string searchUserId, string searchDepId)
{
ds = new DataSet();
DataTable dt = new DataTable("userlist");
dt.Columns.Add("userid", System.Type.GetType("System.String"));
bool b;
XmlNodeList nodes = xmldoc.SelectNodes("//user");
foreach (XmlNode xn in nodes)
{
b = false;//每次循环前初始化
string nodeDepId = xn.SelectSingleNode("depid").InnerText;
string nodeUserId = xn.SelectSingleNode("userid").InnerText;
string nodeUserName = xn.SelectSingleNode("UserName").InnerText;
//条件都为空
if (string.IsNullOrEmpty(searchDepId) && string.IsNullOrEmpty(searchUserId))
{
b = true;
}
else
{
//条件都不为空
if (!string.IsNullOrEmpty(searchDepId) && !string.IsNullOrEmpty(searchUserId))
{
if (nodeDepId == searchDepId)
{
if (nodeUserId == searchUserId)
{
b = true;
}
}
}
else
{
//部门不为空
if (!string.IsNullOrEmpty(searchDepId))
{
if (nodeDepId == searchDepId)
{
b = true;
}
}
//用户不为空
if (!string.IsNullOrEmpty(searchUserId))
{
if (nodeUserId == searchUserId)
{
b = true;
}
}
}
}
//可以添加到表
if (b)
{
//过滤掉管理员
if (xn.SelectSingleNode("level").InnerText != "admin")
{
DataRow dr = dt.NewRow();
dr["userid"] = xn.SelectSingleNode("userid").InnerText;
dt.Rows.Add(dr);
}
}
}
ds.Tables.Add(dt);
return ds;
}
/// <summary>
/// 全角转半角(DBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
private String ToDBC(String input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i] = (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char)(c[i] - 65248);
}
return new String(c);
}
/// <summary>
/// 全角转半角(DBC case)
/// </summary>
/// <param name="input">任意字符串</param>
/// <returns>半角字符串</returns>
public static String ToDBC(String input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i] = (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char)(c[i] - 65248);
}
return new String(c);
}