using System;
using System.Threading.Tasks;
using 報到系統客戶端.Models;
namespace 報到系統客戶端.Services
{
///
/// 登入服務客戶端
/// 呼叫後端 Services/LoginService.asmx
///
public class LoginService
{
private const string SERVICE_PATH = "/Services/LoginService.asmx";
///
/// 登入
///
/// 使用者名稱
/// 密碼
/// 是否記住密碼
/// 登入結果
public static BaseResponse Login(string username, string password, bool rememberMe = false)
{
var parameters = new
{
username = username,
password = password,
rememberMe = rememberMe
};
return ApiService.Instance.Post(SERVICE_PATH, "Login", parameters);
}
///
/// 登入(非同步版本)
///
public static async Task LoginAsync(string username, string password, bool rememberMe = false)
{
var parameters = new
{
username = username,
password = password,
rememberMe = rememberMe
};
return await ApiService.Instance.PostAsync(SERVICE_PATH, "Login", parameters);
}
///
/// 登出
///
/// 登出結果
public static BaseResponse Logout()
{
return ApiService.Instance.Post(SERVICE_PATH, "Logout", null);
}
///
/// 登出(非同步版本)
///
//public static async Task LogoutAsync()
//{
// return await ApiService.Instance.PostAsync(SERVICE_PATH, "Logout", null);
//}
///
/// 檢查 Session(當作心跳使用)
///
/// 檢查結果
public static BaseResponse CheckSession()
{
return ApiService.Instance.Post(SERVICE_PATH, "CheckSession", null);
}
///
/// 檢查 Session(非同步版本)
///
//public static async Task CheckSessionAsync()
//{
// return await ApiService.Instance.PostAsync(SERVICE_PATH, "CheckSession", null);
//}
///
/// 清除 Session
///
public static void ClearSession()
{
ApiService.Instance.ClearSession();
}
///
/// 測試是否能連線
///
///
public static bool Ping()
{
var pingResult = ApiService.Instance.Post(SERVICE_PATH, "Ping", null);
return pingResult != null;
}
}
}