📄 st_user.cs
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
using System.Security.Cryptography;
using System.Text;
namespace ST_GROUP.FlowerPrearrange
{
/// <summary>
/// ST_User Class
/// Manage users
/// </summary>
public class ST_User:ST_Base
{
private string ST_m_Password;
private string ST_m_Mail;
/// <summary>
/// Property:password
/// </summary>
public string ST_Password
{
get
{
return ST_m_Password;
}
set
{
ST_m_Password = value;
}
}
/// <summary>
/// Property:Email
/// </summary>
public string ST_Mail
{
get
{
return ST_m_Mail;
}
set
{
ST_m_Mail = value;
}
}
public ST_User()
{
}
/// <summary>
/// Add new user
/// need Name、Password、Mail.
/// </summary>
public void ST_Add()
{
if(ST_IsExist())
{
throw new Exception("This name was registered!");
}
else
{
ST_strSQL = "Insert into ST_UserInfo (ST_Name,ST_Password,ST_Mail) Values("
+ "'" + this.ST_Name + "',"
+ "'" + ST_Functions.ST_Encrypt(this.ST_Password,1) + "',"
+ "'" + this.ST_Mail + "')";
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("注册失败!");
}
}
}
/// <summary>
/// Add new user(register).
/// </summary>
public static void ST_Add(string name,string password,string mail)
{
if(ST_IsExist(name))
{
throw new Exception("This name was registered!");
}
else
{
ST_strSQL = "Insert into ST_UserInfo (ST_Name,ST_Password,ST_Mail) Values("
+ "'" + name + "',"
+ "'" + ST_Functions.ST_Encrypt(password,1) + "',"
+ "'" + mail + "')";
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("注册失败!");
}
}
}
/// <summary>
/// Change password
/// need Name & Password
/// </summary>
/// <param name="newPassword">new password (string)</param>
public void ST_ChangePassword(string newPassword)
{
ST_strSQL = "Update ST_UserInfo Set "
+ "ST_Password='" + ST_Functions.ST_Encrypt(newPassword,1) + "'"
+ " Where ST_Name='" + this.ST_Name + "'"
+ " And ST_Password='" + ST_Functions.ST_Encrypt(this.ST_Password,1) + "'";
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("修改密码失败!");
}
}
/// <summary>
/// Change password
/// </summary>
/// <param name="name"></param>
/// <param name="oldPassword">Old password(string)</param>
/// <param name="newPassword">New password(string)</param>
public static void ST_ChangePassword(string name,string oldPassword,string newPassword)
{
ST_strSQL = "Update ST_UserInfo Set "
+ "ST_Password='" + ST_Functions.ST_Encrypt(newPassword,1) + "'"
+ " Where ST_Name='" + name + "'"
+ " And ST_Password='" + ST_Functions.ST_Encrypt(oldPassword,1) + "'";
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("修改密码失败!");
}
}
/// <summary>
/// Check user(for getting lost password)
/// </summary>
/// <returns>return bool value</returns>
public bool ST_Check()
{
ST_strSQL = "Select ST_Id from ST_UserInfo Where ST_Name='"
+ ST_Name + "'"
+ " And ST_Mail='" + ST_Mail +"'";
try
{
ST_ExecuteSql4Value(ST_strSQL);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Check user(for getting lost password)
/// </summary>
/// <param name="name">Name</param>
/// <param name="mail">Email</param>
/// <returns>return bool value</returns>
public static bool ST_Check(string name,string mail)
{
ST_strSQL = "Select ST_Id from ST_UserInfo Where ST_Name='"
+ name + "'"
+ " And ST_Mail='" + mail +"'";
try
{
ST_ExecuteSql4Value(ST_strSQL);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Delete user
/// </summary>
/// <param name="Id">User ID(int)</param>
public static void ST_Delete(int id)
{
ST_strSQL = "Delete From ST_UserInfo Where ST_Id="+id;
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("删除用户失败!");
}
}
/// <summary>
/// Delete user
/// </summary>
public void ST_Delete()
{
ST_strSQL = "Delete From ST_UserInfo Where ST_Name="+ST_Name;
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("删除用户失败!");
}
}
/// <summary>
/// Delete user
/// </summary>
/// <param name="Name">ST_User name(string)</param>
public static void ST_Delete(string name)
{
ST_strSQL = "Delete From ST_UserInfo Where ST_Name="+name;
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("删除用户失败!");
}
}
/// <summary>
/// Delete a group user
/// </summary>
/// <param name="names">Users' names</param>
public static void ST_DeleteGroup(string names)
{
ST_strSQL = "Delete From ST_UserInfo Where ST_Name in ('" + names + "')";
try
{
ST_ExecuteSql(ST_strSQL);
}
catch
{
throw new Exception("删除用户失败!");
}
}
/// <summary>
/// Does this user exist?
/// </summary>
/// <returns>return bool value</returns>
public bool ST_IsExist()
{
ST_strSQL = "Select ST_Id from ST_UserInfo Where ST_Name='"
+ this.ST_Name + "'";
try
{
ST_ExecuteSql4Value(ST_strSQL);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Does this user exist?
/// </summary>
/// <param name="name">user name(string)</param>
/// <returns>return bool value</returns>
public static bool ST_IsExist(string name)
{
ST_strSQL = "Select ST_Id from ST_UserInfo Where ST_Name='"
+ name + "'";
try
{
ST_ExecuteSql4Value(ST_strSQL);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Is a supervisor
/// </summary>
/// <returns>return bool value</returns>
public bool ST_IsSupervisor()
{
string strManager = ConfigurationSettings.AppSettings["Manager"];
string [] names = strManager.Split(',');
int i;
for(i=0;i<names.Length;i++)
{
if(ST_Name == names[i])
{
return true;
}
}
return false;
}
/// <summary>
/// Is a supervisor
/// </summary>
/// <param name="name">ST_User Name</param>
/// <returns>return bool value</returns>
public static bool ST_IsSupervisor(string name)
{
string strManager = ConfigurationSettings.AppSettings["Manager"];
string [] names = strManager.Split(',');
int i;
for(i=0;i<names.Length;i++)
{
if(name == names[i])
{
return true;
}
}
return false;
}
/// <summary>
/// Get password
/// </summary>
/// <returns>Password</returns>
public string ST_GetPassword()
{
Random rnd = new Random();
StringBuilder sb = new StringBuilder();
int i;
for(i=0;i<32;i++)
{
sb.Append(rnd.Next(0,9).ToString());
}
string Password = sb.ToString();//ASCIIEncoding.ASCII.GetString(random);
string EnPassword = ST_Functions.ST_Encrypt(Password,1);
ST_strSQL = "Update ST_UserInfo Set ST_Password = '"
+ EnPassword + "'"
+ " Where ST_Name='" + ST_Name + "'";
try
{
ST_ExecuteSql(ST_strSQL);
return Password;
}
catch
{
throw new Exception("获取密码失败");
}
}
/// <summary>
/// Get password
/// </summary>
/// <param name="name">ST_User name(string)</param>
/// <returns>password</returns>
public static string ST_GetPassword(string name)
{
Random rnd = new Random();
StringBuilder sb = new StringBuilder();
int i;
for(i=0;i<32;i++)
{
sb.Append(rnd.Next(0,9).ToString());
}
string Password = sb.ToString();//ASCIIEncoding.ASCII.GetString(random);
string EnPassword = ST_Functions.ST_Encrypt(Password,1);
ST_strSQL = "Update ST_UserInfo Set ST_Password = '"
+ EnPassword + "'"
+ " Where ST_Name='" + name + "'";
try
{
ST_ExecuteSql(ST_strSQL);
return Password;
}
catch
{
throw new Exception("获取密码失败!");
}
}
/// <summary>
/// Login
/// Need : Name、Password
/// </summary>
/// <returns>return bool</returns>
public bool ST_Login()
{
ST_strSQL = "Select ST_Id from ST_UserInfo Where ST_Name='"
+ this.ST_Name + "'"
+ " And ST_Password='" + ST_Functions.ST_Encrypt(this.ST_Password,1) +"'";
try
{
ST_ExecuteSql4Value(ST_strSQL);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Login
/// </summary>
/// <param name="name">ST_User name</param>
/// <param name="password">Password</param>
/// <returns></returns>
public static bool ST_Login(string name,string password)
{
ST_strSQL = "Select ST_Id from ST_UserInfo Where ST_Name='"
+ name + "'"
+ " And ST_Password='" + ST_Functions.ST_Encrypt(password,1) +"'";
try
{
ST_ExecuteSql4Value(ST_strSQL);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// Update user information
/// Need : Name、Mail、Password.
/// </summary>
/// <returns></returns>
public bool ST_Update()
{
ST_strSQL = "Update ST_UserInfo Set "
+ "ST_Mail='" + this.ST_Mail
+"' Where ST_Name='"+this.ST_Name + "'"
+ " And ST_Password='" + ST_Functions.ST_Encrypt(this.ST_Password,1) +"'";
try
{
ST_ExecuteSql(ST_strSQL);
return true;
}
catch
{
throw new Exception("更新失败!");
}
}
/// <summary>
/// Update user information.
/// </summary>
/// <param name="name">Email(string)</param>
/// <param name="mail">ST_User name(string)</param>
/// <param name="password">Password(string)</param>
/// <returns></returns>
public static bool ST_Update(string mail,string name,string password)
{
ST_strSQL = "Update ST_UserInfo Set "
+ "ST_Mail='" + mail
+"' Where ST_Name='"+name + "'"
+ " And ST_Password='" + ST_Functions.ST_Encrypt(password,1) +"'";
try
{
ST_ExecuteSql(ST_strSQL);
return true;
}
catch
{
throw new Exception("更新失败!");
}
}
/// <summary>
/// Get all the users
/// </summary>
/// <returns>return DataSet</returns>
public static DataSet ST_GetUsers()
{
ST_strSQL = "SELECT * FROM ST_UserInfo";
try
{
return ST_ExecuteSql4Ds(ST_strSQL);
}
catch
{
throw new Exception("获取所有用户信息失败!");
}
}
/// <summary>
/// Get user info
/// </summary>
/// <returns></returns>
public bool ST_GetUserInfo()
{
ST_strSQL = "Select * from ST_UserInfo Where ST_Name='"
+ this.ST_Name + "'";
SqlConnection ST_myCn = new SqlConnection(ST_strConn);
ST_myCn.Open();
SqlCommand ST_myCmd = new SqlCommand(ST_strSQL,ST_myCn);
try
{
ST_myCmd.ExecuteNonQuery();
SqlDataReader reader = ST_myCmd.ExecuteReader();
if(reader.Read())
{
this.ST_ID = reader.GetInt32(0);
this.ST_Mail = reader.GetString(3);
return true;
}
else
{
return false;
}
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
ST_myCmd.Dispose();
ST_myCn.Close();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -