public static void DangKy(AccountModel dangky)
        {
            dbFirstStepDataContext db = new dbFirstStepDataContext();
            Security ser = new Security();
            string passHex = ser.GetHashPassword(dangky.Pass);
            string mailHex = ser.GetHashPassword(dangky.Email);
            EntityUser ban = new EntityUser();
            ban.TrangThai = 0;
            ban.HasCode = mailHex;
            ban.HoTen = dangky.HoTen;
            ban.Email = dangky.Email;
            ban.Pass = passHex;
            string[] mang = HttpContext.Current.Request.Url.AbsoluteUri.ToString().Split('/');
            string url = mang[0] + "//" + mang[2];
            ban.Avatar = url+"/Content/Images/Avatar/ava0.jpg";
            ban.VanityURL = mailHex;//

            db.EntityUsers.InsertOnSubmit(ban);
            db.SubmitChanges();
        }
        public ActionResult SuaThongTin(AccountModel Mtnew)
        {
            try
            {
                //if (ModelState.IsValid)
                //{
                dbFirstStepDataContext db = new dbFirstStepDataContext();
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    HttpPostedFileBase hpf = Request.Files[i];
                    if (hpf.FileName != "")
                    {
                        var ava = db.EntityUsers.Where(p => p.Email == Request.Cookies["ftusername"].Value).First();

                        if (ava.Avatar != null && ava.Avatar.IndexOf("ava0.jpg") == -1)
                        {
                            string[] link = ava.Avatar.Split('/');
                            string fileToDelete = Path.Combine(Server.MapPath("~/Content/Images/Avatar"), link[link.Count() - 1]); // file hinh cu
                            System.IO.File.Delete(fileToDelete);
                        }

                        ImageHelper imgHelper = new ImageHelper();
                        string encodestring = imgHelper.encodeImageFile(hpf);
                        string[] mang = Request.Url.AbsoluteUri.ToString().Split('/');
                        string url = mang[0] + "//" + mang[2];
                        ava.Avatar = url + "/Content/Images/Avatar/" + encodestring;
                        imgHelper.ResizeStream(180, hpf.InputStream, Path.Combine(AppDomain.CurrentDomain.BaseDirectory + "Content\\Images\\Avatar\\", encodestring));
                        //  ava.Avatar = "http://localhost:41372/Content/Images/Avatar/" + encodestring;
                        db.SubmitChanges();
                        //var path = Path.Combine(Server.MapPath("~/Content/Images/Avatar"), encodestring);
                        //hpf.SaveAs(path);
                        Response.Cookies["ftavatar"].Value = ava.Avatar;

                        //ImageHelper imgHelper = new ImageHelper();
                        //string encodestring = imgHelper.encodeImageFile(hpf);
                        //ava.Avatar = "/Content/Images/Avatar/" + encodestring;
                        //db.SubmitChanges();
                        //if (encodestring == "!")
                        //    return RedirectToAction("Error", "Home", new { errorMsg = "Can't upload Images" });
                        //var path = Path.Combine(Server.MapPath("~/Content/Images/Avatar"), encodestring);
                        //hpf.SaveAs(path);
                        //Response.Cookies["ftavatar"].Value = ava.Avatar;
                    }
                }

                var query = from p in db.EntityUsers
                            where p.Email == Request.Cookies["ftusername"].Value
                            select p;
                if (query.Count() == 0)
                {
                    return RedirectToAction("Logout", "Account");
                }
                else
                {
                    query.First().HoTen = Mtnew.HoTen;
                    query.First().GioiThieu = Mtnew.GioiThieu;
                    query.First().DiaDiem = Mtnew.DiaDiem;
                    query.First().Website = Mtnew.Website;
                    string[] mang = Mtnew.Profile.Split('/');
                    string kt = mang[mang.Count() - 1].ToString().Replace("user/", "");
                    kt = Utilities.Encode(kt);
                    if (db.EntityUsers.Any(g => g.VanityURL == kt) == false)
                        query.First().VanityURL = kt;

                    db.SubmitChanges();
                    return RedirectToAction("SuaThongTin", "Account");
                    //  View(Mtnew);
                }
                //}
            }
            catch
            {
                return RedirectToAction("Index", "Error", new { errorMsg = "Lỗi SQL hosting / server" });
            }

            //string[] mang1 = Request.Url.AbsoluteUri.ToString().Split('/');
            //string url1 = mang1[0] + "//" + mang1[2];
            //ViewBag.Link = url1 + "/user/";

            //return View(Mtnew);
        }
 // sua thong tin ca nhan
 public ActionResult SuaThongTin()
 {
     if(Request.Cookies["ftusername"] != null)
     {
         AccountModel sua = new AccountModel();
         dbFirstStepDataContext db = new dbFirstStepDataContext();
         var item = db.EntityUsers.Where(p => p.Email == Request.Cookies["ftusername"].Value).First();
         sua.HoTen = item.HoTen;
         sua.GioiThieu = item.GioiThieu;
         sua.Avatar = item.Avatar;
         sua.DiaDiem = item.DiaDiem;
         sua.Website = item.Website;
         string[] mang = Request.Url.AbsoluteUri.ToString().Split('/');
         string url = mang[0] + "//" + mang[2];
         ViewBag.Link = url + "/user/";
         sua.Profile = url + "/user/"+item.VanityURL;
         return View(sua);
     }
     else
     {
         return RedirectToAction("Login", "Account", new { trolai = "tuy-chinh-khac/thong-tin-ca-nhan" });
     }
 }
        public ActionResult QuenMatKhau(AccountModel Mtnew)
        {
            try
             {
                 if (ModelState.IsValid)
                 {
                     dbFirstStepDataContext db = new dbFirstStepDataContext();
                     var query = from p in db.EntityUsers
                                 where p.Email == Mtnew.Email
                                 select p;
                     if (query.Count() == 0)
                     {
                         return RedirectToAction("DaGuiEmailQuenMK", "Account");
                     }
                     else
                     {
                         //string Pass = GenerateRandomText();
                         string Pass = GeneratePassword(4, 1, 3);
                         Security ser = new Security();
                         string Passhex = ser.GetHashPassword(Pass);
                         query.First().Pass = Passhex;
                         db.SubmitChanges();
                         string HoTen = query.First().HoTen;
                         string Email = Mtnew.Email;
                         string HasCode = Pass;
                         MailHelper.SendMail_Laylaimatkhau(HoTen, Email, HasCode);
                         return RedirectToAction("DaGuiEmailQuenMK", "Account");
                     }
                 }
             }
             catch
             {

                 return RedirectToAction("Index", "Error", new { errorMsg = "Lỗi SQL hosting / server" });
             }
             return View(Mtnew);
        }
 public ActionResult QuenMatKhau()
 {
     AccountModel tnew = new AccountModel();
     return View(tnew);
 }
        public ActionResult DoiMatKhau(AccountModel Mtnew)
        {
            try
            {
                dbFirstStepDataContext db = new dbFirstStepDataContext();

                var query = from p in db.EntityUsers
                                where p.Email == Mtnew.Email
                                select p;

                if (query.Count() == 0)
                {
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    ViewBag.history = getAccount(query.First());
                    ViewBag.User = query.First();
                    if (ModelState.IsValid)
                    {
                        Security ser = new Security();
                        string Passhex = ser.GetHashPassword(Mtnew.Pass);
                        query.First().Pass = Passhex;
                        db.SubmitChanges();
                        createnew_LoginHistory("Đã đổi mật khẩu", query.First().Id);
                        //Logout();
                        //return RedirectToAction("Login", "Account");
                    }
                }

                //if (ModelState.IsValid)
                //{
                //    var query = from p in db.EntityUsers
                //                where p.Email == Mtnew.Email
                //                select p;
                //    if (query.Count() == 0)
                //    {
                //        return RedirectToAction("Index", "Home");
                //    }
                //    else
                //    {
                //        Security ser = new Security();
                //        string Passhex = ser.GetHashPassword(Mtnew.Pass);
                //        query.First().Pass = Passhex;
                //        db.SubmitChanges();
                //        createnew_LoginHistory("Đã đổi mật khẩu", query.First().Id);
                //        Logout();
                //        return RedirectToAction("Login", "Account");
                //    }
                //}
            }
            catch
            {

                return RedirectToAction("Index", "Error", new { errorMsg = "Lỗi SQL hosting / server" });
            }
            return View(Mtnew);
        }
 public ActionResult DoiMatKhau()
 {
     int idlogin = 0;
        if (Request.Cookies["ftid"] != null)
        {
        idlogin = Convert.ToInt16(Request.Cookies["ftid"].Value);
        EntityUser user = db.EntityUsers.Where(g => g.Id == idlogin).FirstOrDefault();
        ViewBag.history = getAccount(user);
        ViewBag.User = user;
        AccountModel tnew = new AccountModel();
        return View(tnew);
        }
        else
        {
        return RedirectToAction("Login", "Account", new { trolai = "tuy-chinh-khac/tai-khoan"});
        }
 }
        public ActionResult DangKy(AccountModel Mtnew)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    dbFirstStepDataContext db = new dbFirstStepDataContext();
                    var query = from p in db.EntityUsers
                                where p.Email == Mtnew.Email
                                select p;
                    if (query.Count() > 0)
                    {
                        return RedirectToAction("TrungEmail", "Account");
                    }
                    else
                    {
                        #region "Add new user"
                        Security ser = new Security();
                        string passHex = ser.GetHashPassword(Mtnew.Pass);
                        string mailHex = ser.GetHashPassword(Mtnew.Email);
                        EntityUser ban = new EntityUser();
                        ban.TrangThai = 0;
                        ban.HasCode = mailHex;
                        ban.HoTen = Mtnew.HoTen;
                        ban.Email = Mtnew.Email;
                        ban.Pass = passHex;
                        string[] mang = Request.Url.AbsoluteUri.ToString().Split('/');
                        string url = mang[0] + "//" + mang[2];
                        ban.Avatar = url + "/Content/Images/Avatar/ava0.jpg";
                        ban.VanityURL = mailHex;//
                        #endregion

                        string HoTen = Mtnew.HoTen;
                        string Email = Mtnew.Email;
                        //GuiMailDangKy(HoTen,Email,HasCode);
                        MailHelper.SendMail_DangKy(HoTen, Email, url + "/account/kichhoat?HasCode=" + ban.HasCode);
                        db.EntityUsers.InsertOnSubmit(ban);
                        db.SubmitChanges();
                        return RedirectToAction("DangKyThanhCong", "Account");
                    }
                }
            }
            catch
            {
            }
            return View(Mtnew);
        }
 public ActionResult DangKy()
 {
     AccountModel tnew = new AccountModel();
     return View(tnew);
 }