public JsonResult Update(Account us, HttpPostedFileBase avataUpload) { if (!CookiesManage.Logined()) { return(Json(new { status = false, mess = "Chưa đăng nhập" })); } var user = CookiesManage.GetUser(); using (var workScope = new UnitOfWork(new PatientManagementDbContext())) { var account = workScope.Accounts.FirstOrDefault(x => x.UserName.ToLower() == user.UserName.ToLower()); if (account != null) { try { if (avataUpload?.FileName != null) { if (avataUpload.ContentLength >= FileKey.MaxLength) { return(Json(new { status = false, mess = L.T("FileMaxLength") })); } var splitFilename = avataUpload.FileName.Split('.'); if (splitFilename.Length > 1) { var fileExt = splitFilename[splitFilename.Length - 1]; //Check ext if (FileKey.FileExtensionApprove().Any(x => x == fileExt)) { var slugName = StringHelper.ConvertToAlias(account.FullName); var fileName = slugName + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + fileExt; var path = Path.Combine(Server.MapPath("~/FileUploads/images/avatas/"), fileName); avataUpload.SaveAs(path); us.LinkAvatar = "/FileUploads/images/avatas/" + fileName; } else { return(Json(new { status = false, mess = L.T("FileExtensionReject") })); } } else { return(Json(new { status = false, mess = L.T("FileExtensionReject") })); } } us.Password = account.Password; us.UserName = account.UserName; us.Role = RoleKey.Patient; us.Id = account.Id; if (string.IsNullOrEmpty(us.LinkAvatar)) { us.LinkAvatar = us.Gender ? "/Content/images/team/2.png" : "/Content/images/team/3.png"; } account = us; workScope.Accounts.Put(account, account.Id); workScope.Complete(); //Đăng xuất var nameCookie = Request.Cookies[CookiesKey.Client]; if (nameCookie != null) { var myCookie = new HttpCookie(CookiesKey.Client) { Expires = DateTime.Now.AddDays(-1d) }; Response.Cookies.Add(myCookie); } //Login luon if (HttpContext.Request.Url != null) { var host = HttpContext.Request.Url.Authority; var cookieClient = account.UserName + "|" + host.ToLower() + "|" + account.Id; var decodeCookieClient = CryptorEngine.Encrypt(cookieClient, true); var userCookie = new HttpCookie(CookiesKey.Client) { Value = decodeCookieClient, Expires = DateTime.Now.AddDays(30) }; HttpContext.Response.Cookies.Add(userCookie); //RedirectToAction("Account", "Edit"); return(Json(new { status = true, mess = "Cập nhật thành công" })); } else { return(Json(new { status = false, mess = "Cập nhật K thành công" })); } } catch (Exception ex) { return(Json(new { status = false, mess = "Cập nhật không thành công", ex })); } } else { return(Json(new { status = false, mess = "Tài khoản không khả dụng" })); } } }
public JsonResult Update(User us, HttpPostedFileBase avatarUpload) { if (!CookiesManage.Logined()) { return(Json(new { status = false, mess = "Chưa đăng nhập" })); } var user = CookiesManage.GetUser(); using (var unitofwork = new UnitOfWork(new ELearningDBContext())) { var account = unitofwork.Account.FirstOrDefault(x => x.Username.ToLower() == user.Username.ToLower()); if (account != null) { try { if (avatarUpload != null && avatarUpload.FileName != null) { if (avatarUpload.ContentLength >= FileKey.MaxLength) { return(Json(new { status = false, mess = L.T("FileMaxLength") })); } var splitFilename = avatarUpload.FileName.Split('.'); if (splitFilename.Length > 1) { var fileExt = splitFilename[splitFilename.Length - 1]; //Check ext if (FileKey.FileExtensionApprove().Any(x => x == fileExt)) { string slugName = StringHelper.ConvertToAlias(account.FullName); string fileName = slugName + "_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + fileExt; var path = Path.Combine(Server.MapPath("~/FileUploads/images/avatas/"), fileName); avatarUpload.SaveAs(path); us.LinkAvata = "/FileUploads/images/avatas/" + fileName; } else { return(Json(new { status = false, mess = L.T("FileExtensionReject") })); } } else { return(Json(new { status = false, mess = L.T("FileExtensionReject") })); } } us.RoleId = RoleKey.Student; us.Status = true; us.Password = account.Password; us.Username = account.Username; if (string.IsNullOrEmpty(us.LinkAvata)) { us.LinkAvata = us.Gender == GenderKey.Male ? "/Content/images/team/2.png" : "/Content/images/team/3.png"; } unitofwork.Account.Put(us, us.Username); unitofwork.Complete(); //Đăng xuất var nameCookie = Request.Cookies["name_student"]; if (nameCookie != null) { var myCookie = new HttpCookie("name_student") { Expires = DateTime.Now.AddDays(-1d) }; Response.Cookies.Add(myCookie); } //Login luon var cookieClient = us.Username; var decodeCookieClient = CryptorEngine.Encrypt(cookieClient, true); var userCookie = new HttpCookie("name_student") { Value = decodeCookieClient, Expires = DateTime.Now.AddDays(30) }; HttpContext.Response.Cookies.Add(userCookie); return(Json(new { status = true, mess = "Cập nhật thành công" })); } catch (Exception ex) { return(Json(new { status = false, mess = "Cập nhật không thành công", ex })); } } else { return(Json(new { status = false, mess = "Tài khoản không khả dụng" })); } } }