// API子帳號列表 public IActionResult ApiUser(string query) { var services = HttpContext.RequestServices.GetServices <IB2dAccountRepository>(); var acctRepos = services.First(o => o.GetType() == typeof(B2dApiAccountRepository)); var aesUserData = User.Identities.SelectMany(i => i.Claims.Where(c => c.Type == ClaimTypes.UserData).Select(c => c.Value)).FirstOrDefault(); var UserData = JsonConvert.DeserializeObject <B2dApiAccount>(AesCryptHelper.aesDecryptBase64(aesUserData, Website.Instance.AesCryptKey)); QueryParamsModel queryParams = null; if (!string.IsNullOrEmpty(query)) { query = System.Web.HttpUtility.UrlDecode(query).Replace(""", "\""); queryParams = JsonConvert.DeserializeObject <QueryParamsModel>(query); } else { queryParams = acctRepos.GetQueryParamModel(UserData.COMPANY_XID, string.Empty, string.Empty, PAGE_SIZE, 1); } ViewData["QUERY_PARAMS"] = queryParams; ViewData["QUERY_PARAMS_JSON"] = JsonConvert.SerializeObject(queryParams); ViewData["CACHETIME"] = B2dApiAccountRepository.GetCache(UserData.COMPANY_XID); var skip = (queryParams.Paging.current_page - 1) * queryParams.Paging.page_size; var _accounts = acctRepos.GetAccounts(UserData.COMPANY_XID, queryParams.Filter, skip, queryParams.Paging.page_size, queryParams.Sorting); return(View(_accounts)); }
// 更改快取時間 public IActionResult Update_CacheTime(Int64 time) { Dictionary <string, string> jsonData = new Dictionary <string, string>(); var aesUserData = User.Identities.SelectMany(i => i.Claims.Where(c => c.Type == ClaimTypes.UserData).Select(c => c.Value)).FirstOrDefault(); var UserData = JsonConvert.DeserializeObject <B2dAccount>(AesCryptHelper.aesDecryptBase64(aesUserData, Website.Instance.AesCryptKey)); B2dApiAccountRepository.UpdateCacheTime(time, UserData.COMPANY_XID); jsonData.Add("status", "OK"); return(Json(jsonData)); }
// 取得新token public IActionResult New_ApiAccount_Token(Int64 xid) { Dictionary <string, string> jsonData = new Dictionary <string, string>(); var account = B2dApiAccountRepository.GetApiAccount(xid); var token = B2dApiAccountRepository.GetNewToken(account.EMAIL, account.PASSWORD); if (token.access_token != null) { jsonData.Add("token", token.access_token); jsonData.Add("status", "OK"); } else { jsonData.Add("status", "FAIL"); jsonData.Add("msg", token.error_description); } return(Json(jsonData)); }
// 取得現有token public IActionResult ApiAccount_GetToken(Int64 xid) { Dictionary <string, string> jsonData = new Dictionary <string, string>(); var token = B2dApiAccountRepository.GetToken(xid); if (token != "") { jsonData.Add("token", token); jsonData.Add("status", "OK"); } else { jsonData.Add("status", "FAIL"); jsonData.Add("msg", "請重新取得Token"); } return(Json(jsonData)); }