//將選取的對象加入黑名單
        public string intoblacklist(int memberid, string blackreason)
        {
            var goblacklist = CMemberFactory.fn會員查詢().FirstOrDefault(g => g.fMemberId == memberid);

            if (goblacklist.fIsBanned == true)//判斷是否已經是黑名單 避免重複加入黑名單
            {
                ViewBag.blacklist = "此會員已是黑名單會員";

                return("已是黑名單成員");
            }
            else
            {
                goblacklist.fIsBanned = true;
                CMemberFactory.fn會員更新(goblacklist);
                CBlackListFactory.fn黑名單新增(new CBlackList()
                {
                    fLockDateTime = DateTime.UtcNow.AddHours(08),
                    fMemberId     = memberid,
                    fReason       = blackreason
                });

                CNotice c = new CNotice();
                c.fNoticeDatetime = DateTime.Now;
                c.fNoticeContent  = "此帳號因發言屢次違規已被設為黑名單,期間內無法針對商品進行留言";
                c.fCategoryType   = "管理員";
                c.fLink           = "超連結";
                c.fMemberId       = goblacklist.fMemberId;
                CNoticeFactory.fn通知訂單訊息新增(c);

                return("黑名單更新成功!");
            }
        }
        public string PasswordChange(CMemberEditor m)
        {
            List <CMember> SELECTMember = CMemberFactory.fn會員查詢();
            CMember        member       = Session[CMemberSession.Session_Login_User] as CMember;
            CMember        cMember      = SELECTMember.FirstOrDefault(n => n.fMemberId == member.fMemberId);


            if (m.NewfPassword == null || m.ChackNewfPassword == null)
            {
                ViewBag.Error = "!不可為空,請輸入密碼";
                CMemberEditPassword editPassword = new CMemberEditPassword();
                editPassword.PasswordMassage = ViewBag.Error;
                Session[CMemberSession.Session_Change_Password] = editPassword;
                return(ViewBag.Error);
            }
            else if (m.NewfPassword != m.ChackNewfPassword)
            {
                ViewBag.Error = "!與上方密碼不相符";
                CMemberEditPassword editPassword = new CMemberEditPassword();
                editPassword.PasswordMassage = ViewBag.Error;
                Session[CMemberSession.Session_Change_Password] = editPassword;
                return(ViewBag.Error);
            }
            else if (m.NewfPassword.Length < 5 || m.NewfPassword.Length > 15)
            {
                ViewBag.Error = "!密碼請符合,5字元-15字元之間";
                CMemberEditPassword editPassword = new CMemberEditPassword();
                editPassword.PasswordMassage = ViewBag.Error;
                Session[CMemberSession.Session_Change_Password] = editPassword;
                return(ViewBag.Error);
            }
            else if (cMember.fPassword == m.NewfPassword)
            {
                ViewBag.Error = "!新密碼與舊密碼相符";
                CMemberEditPassword editPassword = new CMemberEditPassword();
                editPassword.PasswordMassage = ViewBag.Error;
                Session[CMemberSession.Session_Change_Password] = editPassword;
                return(ViewBag.Error);
            }
            else
            {
                ViewBag.PasswordTrue = "修改成功";
                cMember.fPassword    = m.ChackNewfPassword;
                CMemberFactory.fn會員更新(cMember);
                Session[CMemberSession.Session_Login_User] = cMember;
                return(ViewBag.PasswordTrue);
            }
        }
        public ActionResult MemberImage(CMemberEditor m)
        {
            CMember        member       = Session[CMemberSession.Session_Login_User] as CMember;
            List <CMember> SELECTMember = CMemberFactory.fn會員查詢();
            CMember        cMember      = SELECTMember.FirstOrDefault(n => n.fMemberId == member.fMemberId);

            if (m.MemberImage != null)
            {
                //string photoName = Guid.NewGuid().ToString();
                //photoName += Path.GetExtension(m.MemberImage.FileName);
                ////m.MemberImage.SaveAs(Environment.GetEnvironmentVariable("HOME") +
                ////           "\\site\\wwwroot\\Image\\MemberImage" + photoName);
                ////var A = Environment.GetEnvironmentVariable("HOME") +
                ////           "\\site\\wwwroot\\Image\\MemberImage"+ photoName;
                //var A = Server.MapPath(@"~/Image/MemberImage/" + photoName);
                //m.MemberImage.SaveAs(Server.MapPath("~/Image/MemberImage/" + photoName));
                //var CLIENT_ID = "b6ff140d7b00eef";
                //var CLIENT_SECRET = "5008867fee0b01b1a3e9ccbc0d82ccee76290f7d";


                ////建立ImgurClient(其中的"CLIENT_ID", "CLIENT_SECRET"要換成你自己的)
                //var client = new ApiClient(CLIENT_ID, CLIENT_SECRET);
                //var httpClient = new HttpClient();
                //var endpoint = new ImageEndpoint(client, httpClient);
                ////var ImgPath = Environment.GetEnvironmentVariable("HOME") +
                ////           "\\site\\wwwroot\\Image\\MemberImage"+ photoName;
                //var ImgPath = Server.MapPath(@"~/Image/MemberImage/" + photoName);
                //IImage image;
                ////取得圖片檔案FileStream
                //using (var fs = new FileStream(ImgPath, FileMode.Open))
                //{
                //    image = endpoint.UploadImageAsync(fs).GetAwaiter().GetResult();
                //}
                cMember.fPhoto = "../Image/MemberImage/MemberPreset.jpg";
                //System.IO.File.Delete(ImgPath);



                //cMember.fPhoto = "../Image/MemberImage/" + photoName;
                CMemberFactory.fn會員更新(cMember);
                Session[CMemberSession.Session_Login_User] = cMember;
                return(View("../Member/MemberSetup", "_Layout"));
            }
            else
            {
                return(View("../Member/MemberSetup", "_Layout"));
            }
        }
        public ActionResult Login(CMember m, CMemberBrowse browse)
        {
            List <CMember> SELECTMember = CMemberFactory.fn會員查詢();
            CMember        member       = SELECTMember.FirstOrDefault(n => n.fAccount == m.fAccount);
            string         code         = Request.Form["code"].ToString();

            if (member == null)
            {
                ViewBag.LoginMessage = "!沒有該使用者帳戶";
                return(View());
            }
            if (!member.fPassword.Equals(m.fPassword))
            {
                ViewBag.LoginMessage = "!密碼不符";

                return(View());
            }
            if (code != TempData["code"].ToString())
            {
                ViewBag.code         = code;
                ViewBag.LoginMessage = "!驗證碼錯誤";
                return(View());
            }
            if (m.Remember_Check != null)
            {
                CMemberBrowseFactory.fn會員瀏覽紀錄新增(member);
                member.fLastLoginDateTime = DateTime.UtcNow.AddHours(08);
                CMemberFactory.fn會員更新(member);
                ViewBag.code = code;
                Session[CMemberSession.Session_Login_User]     = member;
                Session[CMemberSession.Session_Login_Remember] = member;
                return(View("../Home/MyHome"));
            }
            else
            {
                CMemberBrowseFactory.fn會員瀏覽紀錄新增(member);
                member.fLastLoginDateTime = DateTime.UtcNow.AddHours(08);
                CMemberFactory.fn會員更新(member);
                ViewBag.code   = code;
                ViewBag.Ans    = TempData["code"];
                ViewBag.Result = "驗證正確";
                Session[CMemberSession.Session_Login_User]     = member;
                Session[CMemberSession.Session_Login_Remember] = null;
                return(RedirectToAction("../Home/MyHome"));
            }
        }
        public ActionResult PasswordSetup(CMemberEditor m, string id)
        {
            List <CMember> SELECTMember = CMemberFactory.fn會員查詢();
            CMember        cMember      = SELECTMember.FirstOrDefault(n => n.fThePasswordURL == id);

            if (cMember != null && m.ChackNewfPassword == m.NewfPassword)
            {
                cMember.fPassword = m.ChackNewfPassword;
                CMemberFactory.fn會員更新(cMember);
                id = "";
                return(RedirectToAction("../Member/Login"));
            }
            else
            {
                ViewBag.Error = "!與上方密碼不相符";
                return(View("../Member/PasswordSetup", "_Layout"));
            }
        }
        //將選取的對象解除黑名單
        public string unlockBlacklist(int bannid, int memberid)
        {
            CAdmin            admin     = Session[CAdminSession.Session_Login_User] as CAdmin;
            List <CBlackList> blacklist = new List <CBlackList>();
            var unlock = CBlackListFactory.fn黑名單查詢().FirstOrDefault(m => m.fBannedId == bannid);
            var member = CMemberFactory.fn會員查詢().FirstOrDefault(n => n.fMemberId == memberid);

            member.fIsBanned = false;
            CMemberFactory.fn會員更新(member);
            CBlackListFactory.fn黑名單刪除(unlock);

            CNotice c = new CNotice();

            c.fNoticeDatetime = DateTime.UtcNow.AddHours(08);
            c.fNoticeContent  = "此帳號已從黑名單解鎖";
            c.fCategoryType   = "管理員";
            c.fLink           = "超連結";
            c.fMemberId       = member.fMemberId;
            CNoticeFactory.fn通知訂單訊息新增(c);

            return("解鎖成功!");
        }
Exemple #7
0
        //登入後主畫面-------------------------------------------------------------------------------\\
        public ActionResult MyHome(string name, string id, CNotice c)
        {
            CMember member = Session[CMemberSession.Session_Login_User] as CMember;

            //創造一組亂數字串不重複的訂單編號
            var str     = "123456789ABCDEFGHIJKLMNPQRSTUVWXYZabcdefhijklmnorstuvwxz";
            var next    = new Random();
            var builder = new StringBuilder();

            for (var i = 0; i < 10; i++)
            {
                builder.Append(str[next.Next(0, str.Length)]);
            }

            //MerchantID(不可變動),MerchantTradeNo(亂數訂單編號),MerchantTradeDate(抓取當前日期時間)
            int    MerchantID        = 2000132;
            var    MerchantTradeNo   = builder;
            string MerchantTradeDate = DateTime.UtcNow.AddHours(08).ToString("yyyy/MM/dd hh:mm:ss");
            /*tring ReturnUrl = "https://localhost:44300/Home/MyHome?id=" + MerchantTradeNo;*/
            string ReturnUrl   = "https://noteledge.azurewebsites.net/Home/MyHome?id=" + MerchantTradeNo;
            string ProductName = "Notedge尊爵鑽石豪華VIP頂級會員";
            int    Amount      = 99;
            //把需要的資料作串接
            string Url = "HashKey=5294y06JbISpM5x9&ChoosePayment=ALL&ChooseSubPayment=&ClientBackURL=" + ReturnUrl + "&EncryptType=1&ItemName="
                         + ProductName
                         + "&MerchantID="
                         + MerchantID
                         + "&MerchantTradeDate="
                         + MerchantTradeDate
                         + "&MerchantTradeNo="
                         + MerchantTradeNo
                         + "&PaymentType=aio&ReturnURL=" + ReturnUrl + "&StoreID=&TotalAmount=" + Amount + "&TradeDesc=建立全金流測試訂單&HashIV=v77hoKGq4kWxNNIS";
            //串接好的資料轉成Encoded
            var Encoded = System.Web.HttpUtility.UrlEncode(Url);
            //Encoded 轉成 小寫 encoded
            var encoded = Encoded.ToLower();
            //呼叫sha256_hash(encoded)轉換成SHA256 在轉換大寫
            string SHA256 = sha256_hash(encoded).ToUpper();

            //把資料傳到前端
            ViewBag.MerchantID        = MerchantID;
            ViewBag.MerchantTradeNo   = MerchantTradeNo;
            ViewBag.MerchantTradeDate = MerchantTradeDate;
            ViewBag.SHA256            = SHA256;
            ViewBag.Url         = ReturnUrl;
            ViewBag.ProductName = ProductName;
            ViewBag.Amount      = Amount;


            if (id != null)
            {
                List <CMember> SelecteMember = CMemberFactory.fn會員查詢();
                CMember        cMember       = SelecteMember.FirstOrDefault(n => n.fMemberId == member.fMemberId);
                cMember.fIsVIP      = true;
                cMember.fMoneyPoint = cMember.fMoneyPoint + 500;
                CMemberFactory.fn會員更新(cMember);
                //成為VIP新增通知----------------------------------------------------------------------\\
                c.fNoticeDatetime = DateTime.UtcNow.AddHours(08);
                c.fNoticeContent  = cMember.fFirstName + cMember.fLastName + "您已成為Notedge尊爵鑽石豪華VIP頂級會員";
                c.fCategoryType   = "系統";
                c.fLink           = "連結";
                c.fMemberId       = member.fMemberId;
                CNoticeFactory.fn通知訊息新增(member, c);
                Session[CMemberSession.Session_Login_User] = cMember;

                if (Session[CMemberSession.Session_Login_User] == null && name == null)
                {
                    Session[CMemberSession.Session_Login_User] = null;
                    return(RedirectToAction("../Home/Index"));
                }
                else
                {
                    ViewBag.name = name;
                    return(View("../Home/MyHome", "_Layout"));
                }
            }
            if (Session[CMemberSession.Session_Login_User] == null && name == null)
            {
                Session[CMemberSession.Session_Login_User] = null;
                return(RedirectToAction("../Home/Index"));
            }
            else
            {
                if (name == null)
                {
                    var            SelectNoticess = CNoticeFactory.fn通知訊息查詢(member).Where(n => n.fCategoryType == "銷售" || n.fCategoryType == "評價留言").OrderByDescending(n => n.fNoticeDatetime);
                    var            SelectChats    = CChatFactory.fn聊聊查詢(member).Where(n => n.fMemberTo == member.fMemberId).OrderByDescending(n => n.fSubmitDateTime);
                    int            MCounts        = SelectChats.Count();
                    int            SCounts        = SelectNoticess.Count();
                    CMemberMessage memberMessage  = new CMemberMessage();

                    if (Session[CMemberSession.Session_Message_Count] == null)
                    {
                        memberMessage.MessageBell = MCounts;
                        Session[CMemberSession.Session_Message_Count] = memberMessage;
                    }
                    if (Session[CMemberSession.Session_sale_Count] == null)
                    {
                        memberMessage.SaleBell = SCounts;
                        Session[CMemberSession.Session_sale_Count] = memberMessage;
                    }
                    return(View("../Home/MyHome", "_Layout"));
                }
                else
                {
                    ViewBag.name = name;
                    return(View("../Home/MyHome", "_Layout"));
                }
            }
        }
        public string MemberSetup(CMemberEditor m)
        {
            var     data   = "";
            CMember member = Session[CMemberSession.Session_Login_User] as CMember;

            if (m.fPhoto == null && m.NewfPassword == null)
            {
                List <CMember> SELECTMember = CMemberFactory.fn會員查詢();
                CMember        cMember      = SELECTMember.FirstOrDefault(n => n.fMemberId == member.fMemberId);
                if (cMember != null)
                {
                    if (m.MemberImage != null)
                    {
                        string photoName = Guid.NewGuid().ToString();
                        photoName += Path.GetExtension(m.MemberImage.FileName);
                        var A = Server.MapPath(@"~/Image/MemberImage/" + photoName);
                        m.MemberImage.SaveAs(Server.MapPath("../Image/MemberImage/" + photoName));


                        var CLIENT_ID     = "b6ff140d7b00eef";
                        var CLIENT_SECRET = "5008867fee0b01b1a3e9ccbc0d82ccee76290f7d";

                        //建立ImgurClient(其中的"CLIENT_ID", "CLIENT_SECRET"要換成你自己的)
                        var    client     = new ApiClient(CLIENT_ID, CLIENT_SECRET);
                        var    httpClient = new HttpClient();
                        var    endpoint   = new ImageEndpoint(client, httpClient);
                        var    ImgPath    = Server.MapPath(@"~/Image/MemberImage/" + photoName);
                        IImage image;
                        //取得圖片檔案FileStream
                        using (var fs = new FileStream(ImgPath, FileMode.Open))
                        {
                            image = endpoint.UploadImageAsync(fs).GetAwaiter().GetResult();
                        }
                        cMember.fPhoto = image.Link;
                        System.IO.File.Delete(ImgPath);
                        //顯示圖檔位置
                        Response.Write("Image uploaded. Image Url: " + image.Link);

                        m.MemberImage.SaveAs(A);
                        cMember.fAccount     = m.fAccount;
                        cMember.fPassword    = m.fPassword;
                        cMember.fFirstName   = m.fFirstName;
                        cMember.fLastName    = m.fLastName;
                        cMember.fTheNickName = m.fTheNickName;
                        cMember.fGender      = m.fGender;
                        cMember.fBirthDay    = m.fBirthDay;
                        cMember.fTheAddress  = m.fTheAddress;
                        cMember.fMobilePhone = m.fMobilePhone;
                        CMemberFactory.fn會員更新(cMember);
                        Session[CMemberSession.Session_Login_User] = cMember;
                        data = "修改成功";
                        return(data);
                    }
                    else
                    {
                        cMember.fAccount     = m.fAccount;
                        cMember.fPassword    = m.fPassword;
                        cMember.fFirstName   = m.fFirstName;
                        cMember.fLastName    = m.fLastName;
                        cMember.fTheNickName = m.fTheNickName;
                        cMember.fGender      = m.fGender;
                        cMember.fBirthDay    = m.fBirthDay;
                        cMember.fTheAddress  = m.fTheAddress;
                        cMember.fMobilePhone = m.fMobilePhone;
                        CMemberFactory.fn會員更新(cMember);
                        Session[CMemberSession.Session_Login_User] = cMember;
                        data = "修改成功";
                        return(data);
                    }
                }
                else
                {
                    data = "修改失敗";
                    return(data);
                }
            }
            data = "修改失敗";
            return(data);
        }