public void TheoDoiTruyen(AddBookMark data) { ResponseInfo response = new ResponseInfo(); try { string token = HttpContext.Current.Request.Cookies["ToKen"].Value.Replace("%3d", "="); string Token = BaoMat.Base64Decode(token); TblToken TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token); int ID_TaiKhoan = TblToken.Id_TaiKhoan; TblTheoDoiTruyen tblTheoDoiTruyen = context.TheoDoiTruyens.FirstOrDefault(x => x.Id_NguoiDoc == ID_TaiKhoan && x.Id_Truyen == data.id_Truyen); if (tblTheoDoiTruyen == null) { context.TheoDoiTruyens.Add(new TblTheoDoiTruyen { Id_NguoiDoc = ID_TaiKhoan, Id_Truyen = data.id_Truyen }); context.SaveChanges(); } } catch (Exception e) { throw e; } }
/// <summary> /// Lấy thông tin tài khoản đang đăng nhập /// Author : HoangNM - 29/03/2019 - create /// </summary> /// <param name="token"> /// token của account đăng nhập. /// </param> /// <returns> /// Thông tin tài khoản /// </returns> public GetAccount GetAccount(string token) { string Token = BaoMat.Base64Decode(token); TblToken TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == Token); GetAccount getAccount = context.TaiKhoans.Where(x => x.Id == TblToken.Id_TaiKhoan && !x.DelFlag).Select(x => new GetAccount { Email = x.Email, GioiTinh = x.ThongTinNguoiDung.GioiTinh, Id_Face = x.Id_Face, Id_google = x.Id_Google, Id_TrangThai = x.Id_TrangThai, TenTrangThai = x.TrangThaiTaiKhoan.TenTrangThai, Id_NhomDich = x.Id_NhomDich, TenNhom = x.NhomDich.TenNhomDich, Username = x.Username, Ten = x.ThongTinNguoiDung.Ten, NgaySinh = x.ThongTinNguoiDung.NgaySinh, NgayHetHan = TblToken.ThoiGianHetHan, Token = token }).FirstOrDefault(); long TongQuyen = (long)context.TaiKhoans.Where(x => x.Id == TblToken.Id_TaiKhoan && !x.DelFlag).FirstOrDefault().PhanQuyen.TongQuyen; getAccount.Permissions = context.Quyens.Where(x => !x.DelFlag && ((long)x.BitQuyen & TongQuyen) != 0).Select(x => new AllPermission { TenQuyen = x.TenQuyen, Id_Quyen = x.Id }).ToList(); return(getAccount); }
/// <summary> /// Xóa token login của user khi user logout /// Author : QuyPN - 28/05/2018 - create /// </summary> /// <returns>true nếu xóa thành công</returns> public bool RemoveToken(string token) { try { token = BaoMat.Base64Decode(token); context.TokenLogin.Where(x => x.Token == token).Delete(); context.TokenLogin.Where(x => x.ThoiGianTonTai < DateTime.Now).Delete(); return(true); } catch (Exception e) { throw e; } }
/// <summary> /// Kích hoạt tài khoản và đưa về trang view thông báo. /// Author : QuyPN - 20/05/2018 - create /// </summary> /// <param name="token">Token đang mã hóa Base64 được gửi đi trong mail</param> /// <param name="username">Tên đăng nhập mà user đăng ký được gửi kèm trong mail</param> /// <returns>Trả về trang thông báo kích hoạt tài khoản thành công hoặc trang lỗi</returns> /// <remarks> /// Method: GET /// RouterName: KichHoatTaiKhoan /// </remarks> public ActionResult AciveAccount(string token, string username) { try { string tokenCookies = Common.GetCookie("tokenAccount"); if (tokenCookies == "" || tokenCookies != BaoMat.Base64Decode(token)) { return(RedirectToAction("Index", "Home")); } ResponseInfo response = new RegisterModel().ActiveAccount(token, username); return(View("ActiveAccount", response)); } catch (Exception e) { return(RedirectToAction("Error", "Error", new { area = "error", error = e.Message })); } }
//Lấy lại mật khẩu public ResponseInfo ChangePassword(ChangePass data) { ResponseInfo result = new ResponseInfo(); try { string Token = BaoMat.Base64Decode(data.tokenReset); TblTokenResset resetPassWord = context.ResetPassWords.FirstOrDefault(x => x.TokenReset == Token && !x.DelFlag); if (resetPassWord == null) { result.Code = 400; var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.ThayDoiMatKhauThatBai); result.TypeMsgError = errorMsg.Type; result.MsgError = errorMsg.Msg; } else if (resetPassWord.ThoiGianHetHan < DateTime.Now) { result.Code = 400; var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.TokenResetHetHan); result.TypeMsgError = errorMsg.Type; result.MsgError = errorMsg.Msg; } else { string Hash_Pass = BaoMat.GetMD5(BaoMat.GetSimpleMD5(data.NewPass), context.TaiKhoans.Where(x => x.Id == resetPassWord.Id_TaiKhoan && !x.DelFlag).FirstOrDefault().salt_Pass); //cập nhật mật khẩu context.TaiKhoans.Where(x => x.Id == resetPassWord.Id_TaiKhoan && !x.DelFlag).Update(y => new TblTaiKhoan { hash_Pass = Hash_Pass }); context.ResetPassWords.Where(x => x.TokenReset == Token).Delete(); context.ResetPassWords.Where(x => x.ThoiGianHetHan < DateTime.Now).Delete(); context.SaveChanges(); var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.ThayDoiMatKhauThanhCong); result.TypeMsgError = errorMsg.Type; result.MsgError = errorMsg.Msg; return(result); } return(result); } catch (Exception e) { throw e; } }
/// <summary> /// Update thông tin cá nhân /// Author : HoangNM - 29/03/2019 - create /// </summary> /// <param name="account"> /// thông tin mà người dùng muốn thay đổi /// </param> /// <returns> /// Thông báo /// </returns> public ResponseInfo UpdateAccount(UpdateAccount account) { DbContextTransaction transaction = context.Database.BeginTransaction(); ResponseInfo response = new ResponseInfo(); try { string token = HttpContext.Current.Request.Cookies["ToKen"].Value.Replace("%3d", "="); token = BaoMat.Base64Decode(token); TblToken TblToken = context.Tokens.FirstOrDefault(x => x.TokenTaiKhoan == token); if (account.New_Passord != "" && string.Compare(account.New_Passord, account.Confirm_Password) == 0) { string Hash_Pass = BaoMat.GetMD5(BaoMat.GetSimpleMD5(account.New_Passord), context.TaiKhoans.Where(x => x.Id == TblToken.TaiKhoan.Id && !x.DelFlag).FirstOrDefault().salt_Pass); //cập nhật mật khẩu context.TaiKhoans.Where(x => x.Id == TblToken.TaiKhoan.Id && !x.DelFlag).Update(y => new TblTaiKhoan { hash_Pass = Hash_Pass }); } context.ThongTinNguoiDungs.Where(x => x.Id == TblToken.TaiKhoan.ThongTinNguoiDung.Id && !x.DelFlag).Update(x => new TblUser { Ten = account.Ten, NgaySinh = account.NgaySinh, GioiTinh = account.GioiTinh }); context.SaveChanges(); response.IsSuccess = true; transaction.Commit(); var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.CapNhatThongTinThanhCong); response.TypeMsgError = errorMsg.Type; response.MsgError = errorMsg.Msg; } catch (Exception e) { response.IsSuccess = false; transaction.Rollback(); throw e; } return(response); }
/// <summary> /// Xóa token login của user khi user logout /// Author : HoangNM - 03/03/2019 - create /// </summary> /// <returns>true nếu xóa thành công</returns> public ResponseInfo RemoveToken(string token) { ResponseInfo result = new ResponseInfo(); try { token = BaoMat.Base64Decode(token); context.Tokens.Where(x => x.TokenTaiKhoan == token).Delete(); context.Tokens.Where(x => x.ThoiGianHetHan < DateTime.Now).Delete(); var errorMsg = new GetErrorMsg().GetMsg((int)MessageEnum.MsgNO.DangXuatThanhCong); result.TypeMsgError = errorMsg.Type; result.MsgError = errorMsg.Msg; return(result); } catch (Exception e) { throw e; } }
/// <summary> /// Kích hoạt tài khoản theo link đã gửi trong mail. /// Author : QuyPN - 20/05/2018 - create /// </summary> /// <param name="token">Token đang mã hóa Base64 được gửi đi trong mail</param> /// <param name="username">Tên đăng nhập mà user đăng ký được gửi kèm trong mail</param> /// <returns>Thông tin của việc kích hoạt tài khoản</returns> public ResponseInfo ActiveAccount(string token, string username) { DbContextTransaction transaction = context.Database.BeginTransaction(); try { ResponseInfo result = new ResponseInfo(); token = BaoMat.Base64Decode(token); TblAccount account = context.Account.FirstOrDefault(x => x.Username == username && x.TokenActive == token && !x.DelFlag); if (account == null) { result.Code = 202; } else { if (account.TimeOfToken.Value < DateTime.Now) { result.Code = 203; } else { account.IsActived = true; account.IsActiveEmail = true; account.TokenActive = ""; account.TimeOfToken = null; context.SaveChanges(); } } transaction.Commit(); return(result); } catch (Exception e) { transaction.Rollback(); throw e; } }