D:\0_Rueije\GCP_20180314\GCP201803Web\BT20180402\Models\GCPModelFunction\cls_t_member.cs
using System; using System.Linq; using System.Web; using BT20180402.Models.GCP; using BT20180402.Models.GCPViewModel; using clsWebLibrary; namespace BT20180402.Models.GCPModelFunction { public class cls_t_member { private clsMessage _cMsg = new clsMessage(); private GCPDbContext _db = new GCPDbContext(); public t_member_profile GetMemberProfile() { t_member_profile ret = new t_member_profile(); if(HttpContext.Current.Session == null) return ret; t_member member = (t_member)HttpContext.Current.Session["member_profile"]; ret = new t_member_profile() { member_email = member.member_email, member_name = member.member_name, member_gender = member.member_gender, member_birthday = member.member_birthday }; return ret; } /// ≪summary> /// 是否已經登入系統 /// ≪/summary> /// ≪returns>≪/returns> public bool IsLogin() { bool ret = false; if(HttpContext.Current.Session != null) ret = HttpContext.Current.Session["member_profile"] != null; return ret; } //TODO:待測 public bool IsExitsts(string member_id) { bool ret = false; try { t_member m = _db.t_member.Where(r => r.member_id == member_id).SingleOrDefault(); if(m != null) if(member_id != null) ret = true; } catch(Exception ex) { _cMsg.TextDataWrite(this.ToString() + Environment.NewLine + ex.ToString()); } return ret; } /// ≪summary> /// 取得會員資料 /// ≪/summary> /// ≪param name="member_email">≪/param> /// ≪returns>≪/returns> public t_member GetMemberInfoByEmail(string member_email) { t_member ret = new t_member(); try { ret = _db.t_member.Where(r => r.member_email == member_email).SingleOrDefault(); } catch(Exception ex) { _cMsg.TextDataWrite(this.ToString() + Environment.NewLine + ex.ToString()); } return ret; } public t_member GetMemberInfoById(string member_id) { t_member ret = new t_member(); try { ret = _db.t_member.Where(r => r.member_id == member_id).SingleOrDefault(); } catch(Exception ex) { _cMsg.TextDataWrite(this.ToString() + Environment.NewLine + ex.ToString()); } return ret; } /// ≪summary> /// 檢查會員信箱及密碼是否存在 /// ≪/summary> /// ≪param name="vm">≪/param> /// ≪param name="member">≪/param> /// ≪returns>≪/returns> public bool MemberLoginCheck(t_member_login vm, ref t_member member) { bool ret = false; if(!string.IsNullOrEmpty(vm.member_email)) if(!string.IsNullOrEmpty(vm.member_password)) { member = GetMemberInfoByEmail(vm.member_email); if(member != null) if(member.is_using == "Y") if((new msEncode()).deCodeByRnd(member.member_password).Equals(vm.member_password)) { HttpContext.Current.Session["member_profile"] = member; ret = true; } else _cMsg.TextLogWrite("密碼解密時發生錯誤![" + vm.member_email + "]"); else _cMsg.TextLogWrite("帳戶未啟用![" + vm.member_email + "]"); else _cMsg.TextLogWrite("沒有找到會員資料!["+vm.member_email+"]"); } else _cMsg.TextLogWrite("未填寫密碼![" + vm.member_email + "]"); else _cMsg.TextLogWrite("未填寫帳號!"); return ret; } public bool Insert(t_member_register vm) { bool ret = false; try { t_member m = new t_member() { member_email = vm.member_email, member_password = (new msEncode()).enCodeByRnd(vm.member_password), create_date = DateTime.Now }; _db.t_member.Add(m); _db.SaveChanges(); ret = true; } catch(Exception ex) { _cMsg.TextLogWrite(ex.ToString()); } return ret; } public bool Update(t_member_profile vm) { bool ret = false; try { t_member m = GetMemberInfoByEmail(vm.member_email); m.member_email = vm.member_email; m.member_name = vm.member_name; m.member_gender = vm.member_gender; m.member_birthday = vm.member_birthday; m.update_date = vm.update_date; m.updater = vm.updater; _db.Entry(m).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); ret = true; } catch(Exception ex) { _cMsg.TextLogWrite(ex.ToString()); } return ret; } public bool AccountActivation(string member_id) { bool ret = false; try { t_member m = GetMemberInfoById(member_id); if(m != null) { if(m.is_using != "Y") { m.open_date = DateTime.Now; m.is_using = "Y"; _db.Entry(m).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); } ret = true; } } catch(Exception ex) { _cMsg.TextLogWrite(ex.ToString()); } return ret; } } }