221 lines
6.2 KiB
C#
221 lines
6.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Data.SqlClient;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using System.Runtime.Serialization.Json;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using System.Web.Services.Protocols;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
using System.Web.SessionState;
|
|
using System.Drawing;
|
|
using System.Drawing.Imaging;
|
|
using System.IO;
|
|
using System.Runtime.Serialization;
|
|
|
|
/// <summary>
|
|
/// userdata 的摘要描述
|
|
/// </summary>
|
|
public class userdata
|
|
{
|
|
autoBindDataTable userSQL;
|
|
|
|
DataRow userRow;
|
|
public string user_uid = "";
|
|
public string user_id = "";
|
|
public string user_name = "";
|
|
public string user_email = "";
|
|
public string user_onjob = "N";
|
|
public string user_type = "Y";
|
|
public string user_perm = "N";
|
|
public string user_pic = "";
|
|
//public string user_picurl = "";
|
|
private string _user_pwd = "";
|
|
private int user_pic_version = 1;
|
|
private string _baseurl = HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath.TrimEnd('/');
|
|
[IgnoreDataMember] private Image _picImage;
|
|
|
|
public string update_result = "";
|
|
public string user_lastlogin = "";
|
|
private Boolean imageChange = false;
|
|
private Boolean pwdChange = false;
|
|
|
|
public userdata()
|
|
{
|
|
//
|
|
// TODO: 在這裡新增建構函式邏輯
|
|
//
|
|
string userStr = string.Format("select * from users where user_sn = -1");
|
|
userSQL = new autoBindDataTable(userStr);
|
|
userRow = userSQL.newRow;
|
|
userSQL.dataRows.Add(userRow);
|
|
user_uid = globalClass.CreateRandomCode(16);
|
|
userRow["user_uid"] = user_uid;
|
|
|
|
|
|
}
|
|
|
|
public userdata(DataRow userRow)
|
|
{
|
|
|
|
user_uid = userRow["user_uid"].ToString();
|
|
user_id = userRow["user_id"].ToString();
|
|
user_name = userRow["user_name"].ToString();
|
|
user_email = userRow["user_email"].ToString();
|
|
user_type = userRow["user_type"].ToString();
|
|
user_perm = userRow["user_perm"].ToString();
|
|
_user_pwd = userRow["user_pwd"].ToString();
|
|
user_pic = userRow["user_pic"].ToString();
|
|
user_onjob = userRow["user_onjob"].ToString();
|
|
user_pic_version = int.Parse(userRow["user_pic_version"].ToString());
|
|
user_lastlogin = ((DateTime)userRow["user_lastlogindate"]).ToString("yyyy/MM/dd HH:mm:ss");
|
|
}
|
|
|
|
public userdata(string uid)
|
|
{
|
|
string userStr = string.Format("select * from users where user_uid = '{0}'", uid);
|
|
userSQL = new autoBindDataTable(userStr);
|
|
|
|
if (userSQL.dataRows.Count == 0)
|
|
{
|
|
throw new Exception("無此 uid 使用者! uid = " + uid);
|
|
}
|
|
|
|
userRow = userSQL.dataRows[0];
|
|
user_uid = userRow["user_uid"].ToString();
|
|
user_id = userRow["user_id"].ToString();
|
|
user_name = userRow["user_name"].ToString();
|
|
user_email = userRow["user_email"].ToString();
|
|
user_type = userRow["user_type"].ToString();
|
|
user_perm = userRow["user_perm"].ToString();
|
|
_user_pwd = userRow["user_pwd"].ToString();
|
|
user_pic = userRow["user_pic"].ToString();
|
|
user_onjob = userRow["user_onjob"].ToString();
|
|
user_pic_version = int.Parse(userRow["user_pic_version"].ToString());
|
|
user_lastlogin = ((DateTime)userRow["user_lastlogindate"]).ToString("yyyy/MM/dd HH:mm:ss");
|
|
|
|
//if (user_pic == "")
|
|
//{
|
|
// user_picurl = _baseurl + "/uploads/images/avatars/unknown-profile.jpg";
|
|
//}
|
|
//else {
|
|
// user_picurl = _baseurl + user_pic + "?v=" + user_pic_version.ToString();
|
|
//}
|
|
|
|
_picImage = globalClass.DownloadImageFromUrl(user_picurl);
|
|
}
|
|
|
|
|
|
public string user_picurl
|
|
{
|
|
set
|
|
{
|
|
|
|
}
|
|
get
|
|
{
|
|
if (user_pic == "")
|
|
{
|
|
return _baseurl + "/BackEnd/assets/images/avatars/unknown-profile.jpg";
|
|
}
|
|
else
|
|
{
|
|
return _baseurl + user_pic + "?v=" + user_pic_version.ToString();
|
|
}
|
|
}
|
|
}
|
|
|
|
public Boolean updateData()
|
|
{
|
|
Boolean result = false;
|
|
|
|
update_result = "更新失敗!";
|
|
|
|
if (imageChange)
|
|
{
|
|
user_pic = string.Format("/BackEnd/uploads/images/avatars/{0}.png", user_uid);
|
|
|
|
string path = System.Web.HttpContext.Current.Server.MapPath("~/");
|
|
_picImage.Save(path + user_pic.Replace("/", "\\"), ImageFormat.Png);
|
|
}
|
|
|
|
userRow["user_name"] = user_name;
|
|
userRow["user_email"] = user_email;
|
|
userRow["user_id"] = user_id;
|
|
userRow["user_type"] = user_type;
|
|
userRow["user_perm"] = user_perm;
|
|
userRow["user_pic"] = user_pic;
|
|
userRow["user_pic_version"] = user_pic_version;
|
|
userRow["user_onjob"] = user_onjob;
|
|
|
|
if (pwdChange)
|
|
{
|
|
userRow["user_pwd"] = _user_pwd;
|
|
}
|
|
|
|
try
|
|
{
|
|
userSQL.updateDataTable();
|
|
update_result = "儲存成功";
|
|
result = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
update_result = "儲存失敗 - " + ex.Message;
|
|
result = false;
|
|
}
|
|
|
|
|
|
return result;
|
|
}
|
|
|
|
public string perm_string
|
|
{
|
|
set { }
|
|
get {
|
|
string output = "一般用戶";
|
|
|
|
switch (user_perm)
|
|
{
|
|
case "A":
|
|
output = "系統管理員";
|
|
break;
|
|
case "P":
|
|
output = "專案管理員";
|
|
break;
|
|
case "N":
|
|
output = "一般用戶";
|
|
break;
|
|
}
|
|
|
|
return output;
|
|
}
|
|
}
|
|
|
|
[IgnoreDataMember]
|
|
public string user_pwd
|
|
{
|
|
get { return _user_pwd; }
|
|
set
|
|
{
|
|
pwdChange = true;
|
|
_user_pwd = value;
|
|
}
|
|
}
|
|
|
|
[IgnoreDataMember]
|
|
public Image pic_image
|
|
{
|
|
get { return _picImage; }
|
|
set
|
|
{
|
|
imageChange = true;
|
|
user_pic_version += 1;
|
|
_picImage = value;
|
|
}
|
|
}
|
|
} |