示例#1
0
        /// <summary>
        /// 서버 통신
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns> 서버 통신의 결과값 </returns>
        public async Task <T> RestRequest <T>(string jsondata, QueryParam[] queryParams, Method method, string reosurces)     //<t>는 받아오는 자료형에 따라서 변환해줌
        {
            var restClient = new RestClient(ServerSetting.ServerUri);
            var request    = new RestRequest(reosurces, method);

            if (!string.IsNullOrEmpty(Settings.Default.token))
            {
                request.AddHeader("Authorization", Settings.Default.token);
            }
            else if (!string.IsNullOrEmpty(TokenModel.Get().token))
            {
                request.AddHeader("Authorization", TokenModel.Get().token);
            }

            if (jsondata != null)
            {
                request.AddHeader("Content-Type", "application/json");
                request.AddParameter("application/json", jsondata, ParameterType.RequestBody);
            }

            if (queryParams != null)
            {
                foreach (QueryParam queryParam in queryParams)
                {
                    request.AddQueryParameter(queryParam.Key, queryParam.Value);
                }
            }

            var response = await restClient.ExecuteAsync <T>(request);       // await = 위의 비동기 작업이 끝날때 까지 기다려줌

            var result = JsonConvert.DeserializeObject <T>(response.Content);

            return(result);
        }
        public async Task Login(string Id, string Password)
        {
            JObject jobj = new JObject();

            jobj.Add("userId", Id);
            jobj.Add("password", Password);
            var loginResult = await restmanager.RestRequest <LoginModel>(jobj.ToString(), null, Method.POST, "/signIn");

            TokenModel.Get().token = loginResult.token;
            if (loginResult.result == "1")
            {
                MessageBox.Show("로그인을 성공했습니다.", "SUCCESS");
                LoginCheck.isValidAccess = true;
                if (Settings.Default.isALChecked == true)
                {
                    Settings.Default.token = TokenModel.Get().token;
                    Settings.Default.Save();
                }
            }
            else
            {
                MessageBox.Show("아이디 혹은 비밀번호가 틀렸습니다.", "ERROR");
            }
        }