Пример #1
0
        // 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("&quot;", "\"");
                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));
        }
Пример #2
0
        // 更改快取時間
        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));
        }
Пример #3
0
        // 取得新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));
        }
Пример #4
0
        // 取得現有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));
        }