Пример #1
0
        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;
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
 /// <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 }));
     }
 }
Пример #5
0
        //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;
            }
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        /// <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;
            }
        }