/*Đăng Nhập*/
        public CustomResponse Login(string Email, string Password)
        {
            if (Email == null || Password == null)
            {
                return(new CustomResponse(false, "Dữ Liệu Không Hợp Lệ"));
            }

            if (Email.Length <= 0 || Password.Length <= 0)
            {
                return(new CustomResponse(false, "Dữ Liệu Không Hợp Lệ"));
            }

            try
            {
                User UserResult = GetUser_EmailAsync(Email).Result;

                if (UserResult != null)
                {
                    if (BCryptUtil.VerifyPassword(Password, UserResult.HashPassword))
                    {
                        return(new CustomResponse(_mapper.Map <UserReadDTO>(UserResult), true, "Đăng Nhập Thành Công"));
                    }
                }
            }
            catch (Exception e)
            {
                return(new CustomResponse(false, e.Message));
            }

            return(new CustomResponse(false, "Đăng Nhập Thất Bại"));
        }
        /*Update Password*/
        public async Task <CustomResponse> UpdatePassword(string UserID, string OldPassword, string NewPassword)
        {
            if (UserID == null || UserID.Trim().Length == 0)
            {
                return(new CustomResponse(false, "User ID invalid"));
            }

            if (OldPassword == null || OldPassword.Trim().Length == 0)
            {
                return(new CustomResponse(false, "Old Password invalid"));
            }

            if (NewPassword == null || NewPassword.Trim().Length == 0)
            {
                return(new CustomResponse(false, "New Password invalid"));
            }

            try
            {
                User userWillUpdate = db.Users.Where(u => u.UserID.Equals(new Guid(UserID))).FirstOrDefault();

                if (userWillUpdate != null)
                {
                    if (BCryptUtil.VerifyPassword(OldPassword, userWillUpdate.HashPassword))
                    {
                        userWillUpdate.HashPassword = BCryptUtil.HashPassword(NewPassword);

                        await db.SaveChangesAsync();
                    }
                    else
                    {
                        return(new CustomResponse(false, "Mật Khẩu Không Chính Xác"));
                    }
                }
                else
                {
                    return(new CustomResponse(false, "User Not Exist"));
                }
            }
            catch (Exception e)
            {
                return(new CustomResponse(false, e.Message));
            }

            return(new CustomResponse(true, "Update Mật Khẩu Thành Công"));
        }