Пример #1
0
        public ActionResult facebookJsLogin(string resid, string resemail, string resname)
        {
            Dictionary<string, object> dic = new Dictionary<string, object>();
            Session["Account"] = resid; //取得用戶ID
            Session["uname"] = resname; //取得用戶名稱
            Session["resAccount"] = "Facebook";//取得用戶來源
            Member m = new Member();
            MemberData md = new MemberData();
            if (Session["Account"] != null)
            {
                var memberData = md.Get().ToList().Where(a => a.uAccount == Session["Account"].ToString()).SingleOrDefault();
                if (memberData == null)
                {
                    m.uAccount = Session["Account"].ToString();
                    m.uName = resname;
                    m.wdate = DateTime.Now;
                    m.udate = DateTime.Now;
                    m.uPassWord = "******";
                    m.uphone = "";
                    m.memberID = DateTime.Now.ToString("yyyyMMdd") + (md.Get().Count + 1).ToString().PadLeft(3, '0');
                    m.isdel = 0;
                    m.sort = 5000;
                    m.FacebookId = resid;
                    m.GoogleId = "";
                    m.uemail = resemail ?? "";
                    md.Create(m);

                    dic.Add("Msg", "已成為會員");
                }
                else
                {
                    if (memberData.uemail == "" || memberData.uemail == null)
                    {
                        m.num = memberData.num;
                        m.uemail = resemail;
                        md.UpdateEmail(m);
                    }
                    dic.Add("Msg", "");
                }

            }

            dic.Add("success", true);
            return Json(dic);
        }
Пример #2
0
        public ActionResult signin(string login_account, string login_password)
        {
            Member m = new Member();
            MemberData md = new MemberData();
            var memberdatacount = md.Get().ToList().Where(a => a.uAccount == login_account && a.uPassWord == PassWordSecurity.Sha384Encode(PassWordSecurity.Sha256Encode(login_password))).Count();
            var memberdata = md.Get().ToList().Where(a => a.uAccount == login_account && a.uPassWord == PassWordSecurity.Sha384Encode(PassWordSecurity.Sha256Encode(login_password))).SingleOrDefault();
            if (memberdatacount > 0)
            {
                TempData["isForgetPwd"] = false;
                Session["resAccount"] = "natr";
                Session["Account"] = memberdata.uAccount;
                Session["uname"] = memberdata.uName;

                return RedirectToAction("Index", "Home");
            }
            else
            {
                TempData["isForgetPwd"] = true;
                return RedirectToAction("Index", "login");
            }
        }
Пример #3
0
        public ActionResult ToUpdateMemberData(int num, string password = "", string new_password = "", string tel = "", string name = "", string Email = "")
        {
            Dictionary<string, object> dic = new Dictionary<string, object>();
            Member m = new Member();
            MemberData md = new MemberData();
            var datacount = md.Get().ToList().Where(a => a.num == num).Count();
            var data = md.Get().ToList().Where(a => a.num == num).FirstOrDefault();
            if (datacount > 0)
            {
                if (password != "")
                {
                    if (data.uPassWord != PassWordSecurity.Sha384Encode(PassWordSecurity.Sha256Encode(password)))
                    {
                        TempData["msg"] = "舊密碼錯誤";
                    }
                    else
                    {
                        m.num = num;
                        m.uPassWord = PassWordSecurity.Sha384Encode(PassWordSecurity.Sha256Encode(new_password));
                        m.uphone = tel;
                        m.uName = name;
                        m.uemail = Email;
                        m.udate = DateTime.Now;
                        md.Update(m);
                        TempData["msg"] = "更新成功";
                    }

                }
                else
                {
                    m.num = num;
                    m.uPassWord = data.uPassWord;
                    m.uphone = tel;
                    m.uName = name;
                    if (Email != "")
                    {
                        m.uemail = Email;
                    }
                    else
                    {
                        m.uemail = data.uemail;
                    }

                    m.udate = DateTime.Now;
                    md.Update(m);
                    TempData["msg"] = "更新成功";
                }

            }
            else
            {
                TempData["msg"] = "不正常管道錯誤";
            }

            return RedirectToAction("Index", "Member");
        }
Пример #4
0
        public ActionResult SendCheckPwdMail(string uname, string loginAccount, string code)
        {
            Dictionary<string, object> dic = new Dictionary<string, object>();
            MemberData md = new MemberData();
            Member m = new Member();
            var data = md.Get().ToList().Where(a => a.uName == uname && a.uemail == loginAccount && (a.FacebookId == "" && a.GoogleId == "")).SingleOrDefault();
            if (data != null)
            {

                m.num = data.num;
                var newPwd = RendomNum.GetRandomString(10);
                m.uPassWord = PassWordSecurity.Sha384Encode(PassWordSecurity.Sha256Encode(newPwd));
                md.UpdatePassword(m);

                dic.Add("success", true);
                dic.Add("msg", "以寄到您的信箱,請自行前往確認");
                SendMailToEveryOne.SendMail(loginAccount, "*****@*****.**", "Funmtb忘記密碼通知", "Funmtb忘記密碼通知", "因個資關係,再麻煩親愛的客戶自行到官網去更改密碼,您的新密碼是:" + newPwd, false);
            }
            else
            {
                dic.Add("success", false);
                dic.Add("msg", "發生錯誤");
            }

            return Json(dic);
        }
Пример #5
0
        public ActionResult register(string name, string account, string password, string tel)
        {
            Member m = new Member();
            MemberData md = new MemberData();
            var count = md.Get().ToList().Count;

            m.uName = name;
            m.uAccount = account;
            m.uPassWord = PassWordSecurity.Sha384Encode(PassWordSecurity.Sha256Encode(password));
            m.uphone = tel;
            m.isdel = 0;
            m.memberID = DateTime.Now.ToString("yyyyMMdd") + (count + 1).ToString().PadLeft(3, '0');
            m.wdate = DateTime.Now;
            m.udate = DateTime.Now;
            m.sort = 5000;
            m.GoogleId = "";
            m.FacebookId = "";
            m.uemail = account;
            md.Create(m);
            Session["resAccount"] = "natr";
            Session["Account"] = account;
            return RedirectToAction("Index", "Member");
        }
        public void SendEmailToGuest(OrderComplete orderlist, Member memberdata)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<p>" + orderlist.buyers + "您好:</p>");
            sb.Append("<p>已經收到您的訂購單,感謝您的訂購!</p>");
            sb.Append("<p>感謝您向 FUNN 訂購商品,以下為您的訂購清單,您可以至<strong>「<a href='http://funnmtb.com.tw/Member/Orderlist?mem=2'>訂單查詢</a>」</strong>了解最新訂單處理進度。</p>");
            sb.Append("<p><strong><span style='font-size:18px;'>商店資訊:</span></strong></p>");
            sb.Append("<table border='0' cellpadding='1' cellspacing='1' width='100%'>");
            sb.Append("<tbody>");
            sb.Append("<tr>");
            sb.Append("<th scope='col' width='20%'>訂單編號</th>");
            sb.Append("<th scope='col' style='text-align: left;' width='80%'>" + orderlist.orderId + "</th>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>訂購人</th>");
            sb.Append("<td>" + orderlist.buyemail + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>聯絡電話</th>");
            sb.Append("<td>" + orderlist.buyers_tel + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>取貨人</th>");
            sb.Append("<td>" + orderlist.consignee + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>取貨人電話</th>");
            sb.Append("<td>" + orderlist.consignee_tel + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>取貨人手機</th>");
            sb.Append("<td>" + orderlist.consignee_phone + "<</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>取貨人地址</th>");
            sb.Append("<td>" + (orderlist.city + orderlist.area + orderlist.address) + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>發票格式</th>");
            sb.Append("<td>" + orderlist.pay_invoice + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>統一編號</th>");
            sb.Append("<td>" + orderlist.number + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>抬頭</th>");
            sb.Append("<td>" + orderlist.invoice_title + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>下單時間</th>");
            sb.Append("<td>" + orderlist.wdate + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>運送方式</th>");
            sb.Append("<td>" + orderlist.transport + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>付款方式</th>");
            sb.Append("<td>" + orderlist.pay_mode + "</td>");
            sb.Append("</tr>");
            sb.Append("<tr>");
            sb.Append("<th scope='row'>備註</th>");
            sb.Append("<td>" + orderlist.demo + "</td>");
            sb.Append("</tr>");
            sb.Append("</tbody>");
            sb.Append("</table>");
            sb.Append("<p><strong><span style='font-size:18px;'>訂購資訊:</span></strong></p>");
            sb.Append("<table border='0'cellpadding='1' cellspacing='1' style='width:100%;'>");
            sb.Append("<tbody>");
            sb.Append("<tr>");
            sb.Append("<td style='text-align: center;'>產品名稱</td>");
            sb.Append("<td style='text-align: center;'>數量</td>");
            sb.Append("<td style='text-align: center;'>小計</td>");
            sb.Append("</tr>");

            var jsonstr = JsonConvert.DeserializeObject<List<productlistforCart>>(orderlist.productJson);
            var jsonProSize = "";
            var jsonProColor = "";
            if (jsonstr != null)
            {
                foreach (var j in jsonstr)
                {
                    var procolor = pcd.Get().ToList().Where(a => a.num == j.pcolor);
                    var prosize = psd.Get().ToList().Where(a => a.num == j.psize);
                    if (prosize != null)
                    {
                        var prosized = prosize.SingleOrDefault();
                        jsonProSize = prosized.size;
                    }
                    if (procolor != null)
                    {
                        var procolord = procolor.SingleOrDefault();
                        jsonProColor = procolord.color;
                    }
                    sb.Append("<tr>");
                    sb.Append("<td style='text-align: center;'>" + j.pname + "-" + jsonProSize + "-" + jsonProColor + "</td>");
                    sb.Append("<td style='text-align: center;'>" + j.qty + "</td>");
                    sb.Append("<td style='text-align: center;'>$" + j.price + "</td>");
                    sb.Append("</tr>");
                }
            }

            sb.Append("<tr>");
            sb.Append("<td colspan='3' style='text-align: center;'>總計:$" + orderlist.Total + "元</td>");
            sb.Append("</tr>");
            sb.Append("</tbody>");
            sb.Append("</table>");
            //sb.Append("<p><strong><span style='font-size:18px;'>繳費資訊:</span></strong></p>");
            //sb.Append("<table border='0' cellpadding='1' cellspacing='1' style='width:100%;'>");
            //sb.Append("<tbody>");
            //sb.Append("<tr>");
            //sb.Append("<td colspan='2' style='text-align: center;'>繳費資訊</td>");
            //sb.Append("</tr>");
            //sb.Append("<tr>");
            //sb.Append("<td style='text-align: center;'>應付金額</td>");
            //sb.Append("<td style='text-align: center;'>$" + orderlist.Total + "元</td>");
            //sb.Append("</tr>");
            //sb.Append("<tr>");
            //sb.Append("<td style='text-align: center;'>付款方式</td>");
            //sb.Append("<td style='text-align: center;'>" + orderlist.pay_mode + "</td>");
            //sb.Append("</tr>");
            //sb.Append("<tr>");
            //sb.Append("<td style='text-align: center;'>銀行代碼</td>");
            //sb.Append("<td style='text-align: center;'>808</td>");
            //sb.Append("</tr>");
            //sb.Append("<tr>");
            //sb.Append("<td style='text-align: center;'>ATM繳費帳號</td>");
            //sb.Append("<td style='text-align: center;'>123456789987654321</td>");
            //sb.Append("</tr>");
            //sb.Append("<tr>");
            //sb.Append("<td style='text-align: center;'>繳費截止時間</td>");
            //sb.Append("<td style='text-align: center;'>2016/01/01 23:59:59</td>");
            //sb.Append("</tr>");
            //sb.Append("</tbody>");
            //sb.Append("</table>");
            sb.Append("<p><strong><span style='font-size:18px;'>特別資訊:</span></strong></p>");
            sb.Append("<p>若您仍有訂單相關問題,請洽FUNN客服中心 星期一至星期五09:00-17:30 中午休息時間12:00-13:00</p>");
            sb.Append("<p>Customer service | (04)2271-6160 |&nbsp;<a href='mailto:[email protected]' target='_blank'>[email protected]</a>&nbsp;或是臉書台灣官網詢問<a href='https://www.facebook.com/funn.tw/' target='_blank'>https://www.facebook.com/funn.tw/</a></p>");
            sb.Append("<p><strong>【注意事項】</strong></p>");
            sb.Append("<p>虛擬帳號有效期限至您訂購當日算起三天內,逾期失效無法轉入,訂單將自動取消。若超過期限,請線上重新訂購。</p>");
            sb.Append("<p><strong>【商品】</strong></p>");
            sb.Append("<p>商品將於您付款完成後的3-5個工作天左右送達您指定定址。</p>");
            sb.Append("<p><strong>【防詐騙提醒】</strong></p>");
            sb.Append("<p>若您接獲任何電話要您依照指示操作ATM,提供剩額、變更付款方式或更改分期設定等,請不要依電話指示操作,建議您直接與本公司客服中心聯繫確認,謝謝您!</p>");

            SendMailToEveryOne.SendMail(orderlist.buyemail ?? orderlist.memberAccount, "*****@*****.**", "funnmtb-訂單", "funnmtb-訂單", sb.ToString(), false);
            SendMailToEveryOne.SendMail("*****@*****.**", orderlist.buyemail ?? orderlist.memberAccount, "funnmtb-訂單", "funnmtb-訂單", sb.ToString(), false);
        }
 public JsonResult member(string MyChecked)
 {
     Member n = new Member();
     MemberData nd = new MemberData();
     var array = MyChecked.Split(',');
     if (MyChecked != "" && MyChecked != null)
     {
         for (var i = 0; i < array.Length; i++)
         {
             //var Original = nd.Get().ToList().Where(a => a.num.ToString() == array[i]).SingleOrDefault();
             //var DelPath = System.IO.Path.Combine(Server.MapPath("~/upload/News/"), Original.pic1);
             //System.IO.File.Delete(DelPath);
             //if (Original.jsonimg != "no_img.jpg")
             //{
             //    var jsonstr = JsonConvert.DeserializeObject<List<jsonSer>>(Original.jsonimg);
             //    var DelJsonPath = Server.MapPath("~/upload/photograhy/");
             //    foreach (var j in jsonstr)
             //    {
             //        var DelJsonPathing = System.IO.Path.Combine(DelJsonPath, j.content);
             //        System.IO.File.Delete(DelJsonPathing);
             //    }
             //}
             //n.isdel = 1;
             //n.udate = DateTime.Now;
             n.num = Convert.ToInt32(array[i]);
             nd.Delete(n);
         }
     }
     return Json("");
 }
        public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
        {
            var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
            if (loginInfo == null)
            {
                return RedirectToAction("Index", "login");
            }
            //若使用者已經有登入資料,請使用此外部登入提供者登入使用者
            if (loginInfo != null)
            {
                var id = new ClaimsIdentity(loginInfo.ExternalIdentity.Claims,
                                            DefaultAuthenticationTypes.ApplicationCookie);

                Session["Account"] = id.GetUserId();
                Session["uname"] = loginInfo.DefaultUserName; //取得用戶名稱
                Session["resAccount"] = loginInfo.Login.LoginProvider;//取得用戶來源

                //var resourceAccount = loginInfo.Login.LoginProvider; 
                //TODO: 驗證邏輯,註冊會員邏輯    
                Member m = new Member();
                MemberData md = new MemberData();
                if (Session["Account"] != null)
                {
                    var memberData = md.Get().ToList().Where(a => a.uAccount == Session["Account"].ToString()).SingleOrDefault();
                    if (memberData == null)
                    {
                        m.uAccount = Session["Account"].ToString();
                        m.uName = loginInfo.DefaultUserName;
                        m.wdate = DateTime.Now;
                        m.udate = DateTime.Now;
                        m.uPassWord = "******";
                        m.uphone = "";
                        m.memberID = DateTime.Now.ToString("yyyyMMdd") + (md.Get().Count + 1).ToString().PadLeft(3, '0');
                        m.isdel = 0;
                        m.sort = 5000;
                        switch (loginInfo.Login.LoginProvider)
                        {
                            case "Facebook":
                                m.FacebookId = id.GetUserId();
                                m.GoogleId = "";
                                m.uemail = loginInfo.Email ?? "";
                                break;
                            case "Google":
                                m.FacebookId = "";
                                m.GoogleId = id.GetUserId();
                                m.uemail = loginInfo.Email;
                                break;
                            default:
                                m.FacebookId = "";
                                m.GoogleId = "";
                                m.uemail = "";
                                break;
                        }


                        md.Create(m);
                        TempData["Congu"] = "已成為會員";
                    }

                }

                //End: 加上你的驗證邏輯,或是註冊會員邏輯
                AuthenticationManager.SignIn(id);

                return RedirectToLocal(returnUrl);
            }
            else
            {
                return RedirectToAction("Index", "login");
            }


            // 若使用者已經有登入資料,請使用此外部登入提供者登入使用者
            //var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
            //switch (result)
            //{
            //    case SignInStatus.Success:
            //        return RedirectToLocal(returnUrl);
            //    case SignInStatus.LockedOut:
            //        return View("Lockout");
            //    case SignInStatus.RequiresVerification:
            //        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false });
            //    case SignInStatus.Failure:
            //    default:
            //        // 若使用者沒有帳戶,請提示使用者建立帳戶
            //        ViewBag.ReturnUrl = returnUrl;
            //        ViewBag.LoginProvider = loginInfo.Login.LoginProvider;
            //        return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email });
            //}
        }