public string MemberSave(QMember b)
        {
            int    id   = (Session[CDictionary.SK_Logined_Member] as Member).MemberID;
            Member prod = db.Member.FirstOrDefault(t => t.MemberID == id);

            //if (ModelState.IsValid == false)
            //{
            //    return "修改失敗";
            //}
            if (prod != null)
            {
                prod.Name           = b.Name;
                prod.NickName       = b.NickName;
                prod.Address        = b.Address == null?null:b.Address;
                prod.BirthDate      = b.BirthDate == null ? null : b.BirthDate;
                prod.IDentityNumber = b.IDentityNumber == null ? null : b.IDentityNumber;
                prod.Passport       = b.Passport == null ? null : b.Passport;
                prod.Phone          = b.Phone == null ? null : b.Phone;

                prod.Sex = b.Sex;//== null ? null : b.Sex;
                db.SaveChanges();
                return("修改成功");
            }
            return("修改失敗");
        }
        public string Forget1(QMember formData)
        {
            var mem = db.Member.Where(x => x.Email == formData.Email).FirstOrDefault();

            if (mem == null)
            {
                return("無此帳號");
            }
            else
            {
                //取得信箱驗證碼
                //======================================
                string RegisterCheckCode = mailService.GetValidateCode();
                //取得寫好的驗證範本內容
                string TempMail = System.IO.File.ReadAllText(
                    Server.MapPath("~/Views/Shared/ForgetEmail.html"));
                //宣告驗證Email驗證用的Url
                UriBuilder ValidateUrl = new UriBuilder(Request.Url)
                {
                    Path = Url.Action("PasswordValidate", "Login",
                                      new { UserName = formData.Email, RegisterCheckCode = RegisterCheckCode })
                };
                //藉由Service將使用者資料填入驗證信範本中
                string MailBody = mailService.GetRegisterMailBody(TempMail,
                                                                  formData.Email, ValidateUrl.ToString().Replace("%3F", "?"));
                //呼叫Service寄出驗證信
                mailService.SendRegisterMail(MailBody, formData.Email);
            }

            return("成功");//RedirectToAction("Login", "Login");
        }
        //todo 12/13
        public string MemberPassSave(QMember b)
        {
            int    id       = (Session[CDictionary.SK_Logined_Member] as Member).MemberID;
            string password = (Session[CDictionary.SK_Logined_Member] as Member).Password;
            Member prod     = db.Member.FirstOrDefault(t => t.MemberID == id && t.Password == b.Password);

            if (prod != null && b.NPassword != null)
            {
                prod.Password = b.NPassword;
                db.SaveChanges();
                password = "";
                return("密碼修改成功,下次請用新密碼登入");
            }
            password = "";
            if (prod == null && b.NPassword == null)
            {
                return("請輸入密碼,修改失敗");
            }
            return("原密碼輸入錯誤,修改失敗");
        }
        public ActionResult Register(QMember formData)
        {
            //若模型沒有通過驗證則顯示目前的View
            if (ModelState.IsValid == false)
            {
                ViewBag.Message = "請確認是否欄位輸入正確";
                return(View());
            }
            else if (formData.agreeterm == false)
            {
                ViewBag.Message = "請勾選";
                return(View());
            }
            else if (formData.Password == null)
            {
                ViewBag.Message = "請輸入密碼";
                return(View());
            }

            // 依帳號取得會員並指定給member
            var member = db.Member
                         .Where(m => m.Email == formData.Email)
                         .FirstOrDefault();

            //取得信箱驗證碼
            //======================================
            string RegisterCheckCode = mailService.GetValidateCode();

            //若member為null,表示會員未註冊
            //======================================
            if (member == null)
            {
                Member m = new Member();
                m.Email             = formData.Email;
                m.Password          = formData.Password;
                m.Name              = "Guest";
                m.NickName          = "Guest";
                m.MemberRoleId      = 1;
                m.Point             = 0;
                m.RegisterCheckCode = RegisterCheckCode;
                db.Member.Add(m);
                db.SaveChanges();
                //取得寫好的驗證範本內容
                string TempMail = System.IO.File.ReadAllText(
                    Server.MapPath("~/Views/Shared/RegisterEmailTemplate.html"));
                //宣告驗證Email驗證用的Url
                UriBuilder ValidateUrl = new UriBuilder(Request.Url)
                {
                    Path = Url.Action("EmailValidate", "Login",
                                      new { UserName = formData.Email, RegisterCheckCode = RegisterCheckCode })
                };
                //藉由Service將使用者資料填入驗證信範本中
                string MailBody = mailService.GetRegisterMailBody(TempMail,
                                                                  formData.Email, ValidateUrl.ToString().Replace("%3F", "?"));
                //呼叫Service寄出驗證信
                mailService.SendRegisterMail(MailBody, formData.Email);



                return(RedirectToAction("Login"));
            }
            ViewBag.Message = "此帳號己有人使用,註冊失敗";
            return(View());
        }