using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
using Bean;
using MySql.Data.MySqlClient;
using System.Text;
using System.Security.Cryptography;
namespace DataBasesWeb
{
/// <summary>
/// DataBasesWebServices 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
// [System.Web.Script.Services.ScriptService]
public class DataBasesWebServices : System.Web.Services.WebService
{
public static ErrorLog errorlog = new ErrorLog(@"LogText.cs");
public static string mySqlCon
{
get { return ConfigurationManager.ConnectionStrings["MySqlCon"].ConnectionString; }
}
private static string checkStr = ConfigurationManager.AppSettings["checkString"];
[WebMethod(Description = "登陆" , EnableSession = true)]
public UserDetail UserLogin(UserState userState)
{
UserDetail userDetail = getUser(userState.UserName);
string checkString = string.Concat(userState.UserName, userState.PassWord, checkStr, userState.TimeStamp);
StringBuilder OutString = new StringBuilder();
checkString = Md5Encrypt(checkString);
if (userState.CheckString == checkString)
{
userDetail.Code = "1001";
string selectState = "UPDATA userinfo SET state = 1 WHERE userName='"+userDetail.UserName+"'";
MySqlDBHelper.ExecuteNonQuery(selectState,null);
}
else
userDetail.Code = "4006";
return userDetail;
}
private static UserDetail getUser(string userName)
{
string sql = string.Concat("SELECT * FROM userinfo WHERE userName='", userName, "'");
UserDetail userDetail = null;
string code = string.Empty;
MySqlDataReader mydr = MySqlDBHelper.GetDataReader(sql, null);
try
{
while (mydr.Read())
{
userDetail = new UserDetail();
userDetail.UserID = mydr["UserId"].ToString();
userDetail.UserName = mydr["UserName"].ToString();
userDetail.Password = mydr["PassWord"].ToString();
userDetail.RoleID = Convert.ToInt32(mydr["RoleId"]);
userDetail.Phone = mydr["Phone"].ToString();
userDetail.Habit = mydr["Habit"].ToString();
userDetail.Gender = mydr["Gender"].ToString();
userDetail.Email = mydr["Email"].ToString();
userDetail.Address = mydr["Address"].ToString();
userDetail.LastLoginTime = mydr["LastLoginTime"].ToString();
userDetail.Province = mydr["Province"].ToString();
userDetail.Registed = mydr["Registed"].ToString();
userDetail.State =Convert.ToInt32(mydr["State"]);
}
mydr.Close();
}
catch (Exception ex)
{
System.Diagnostics.Trace.WriteLine(System.DateTime.Now.ToString()
+ ": " + errorlog.ToString()
+ "= " + " ERROR: " + ex.Message);
code = "4004";
}
return userDetail;
}
[WebMethod(Description = "登出", EnableSession = true)]
public string UserLoginOut(UserState userDetail)
{
UserDetail userD = getUser(userDetail.UserName);
string code = null;
try
{
if (userD.State == 1)
{
string selectinfo = "UPDATE userInfo SET state = 0 WHERE userName ='" + userDetail.UserName + "'";
int result = MySqlDBHelper.ExecuteNonQuery(selectinfo, null);
}
}
catch (Exception ex)
{
System.Diagnostics.Trace.WriteLine(System.DateTime.Now.ToString()
+ ": " + errorlog.ToString()
+ "= " + " ERROR: " + ex.Message);
return null;
}
return code;
}
[WebMethod(Description = "注册", EnableSession = true)]
public string UserRegister(UserState userState)
{
string code = string.Empty;
MySqlConnection myCon = new MySqlConnection(mySqlCon);
string sql = string.Concat("SELECT * FROM userinfo WHERE userName='", userState.UserName, "'");
try
{
MySqlDataReader mydr = MySqlDBHelper.GetDataReader(sql, null);
if (mydr.HasRows)
code = "4005";
mydr.Close();
}
catch (Exception ex)
{
System.Diagnostics.Trace.WriteLine(System.DateTime.Now.ToString()
+ ": " + errorlog.ToString()
+ "= " + " ERROR: " + ex.Message);
code = "4006";
}
if (code == "4005")
return code;
StringBuilder insertString = new StringBuilder();
string insertSql = "INSERT INTO userInfo(UserId,UserName,PassWord)VALUE(@Userid,@UserName,@PassWord)";
MySqlParameter[] msp = new MySqlParameter[]{
new MySqlParameter("@Userid",Guid.NewGuid().ToString()),
new MySqlParameter ("@UserName",userState.UserName),
new MySqlParameter ("@PassWord",userState.PassWord),
};
int val = MySqlDBHelper.ExecuteNonQuery(insertSql, msp);
if (val == 1)
code = "1002";
else
code = "4006";
return code;
}
[WebMethod(Description = "详细注册", EnableSession = true)]
public string UserRegisterInfo(UserDetail userDetail)
{
UserDetail URegister = getUser(userDetail.UserName);
string code = string.Empty;
string UpdateUserInfo = "UPDATE userinfo SETGender=@Gender,Email=@Email,Address=@Address,Habit=@Habit,Phone=@Phone WHERE userName ='" + userDetail.UserName + "'";
//string SelectUserInfo = "SELECT * FROM userInfo WHERE userName = '"+ userDetail.UserName+"'";
MySqlParameter[] para = new MySqlParameter[]{
new MySqlParameter ("@Gender",userDetail.Gender),
new MySqlParameter ("@Email",userDetail.Email),
new MySqlParameter ("@Address",userDetail.Address),
new MySqlParameter ("@Habit",userDetail.Habit),
new MySqlParameter ("@Phone",userDetail.Phone)
};
int vl = MySqlDBHelper.ExecuteNonQuery(UpdateUserInfo, para);
if (vl == 1)
code = "1004";
else
code = "5001";
return code;
}
}
}