Пример #1
0
        public string Login()
        {
            string username = ConfigurationManager.AppSettings["username"].ToString();
            string password = ConfigurationManager.AppSettings["password"].ToString();
            NameValueCollection collection = new NameValueCollection();

            collection["account"] = username;
            collection["passwd"]  = password;
            collection["session"] = Session;
            collection["format"]  = "sid";
            Query = new Query();
            Query.SetPath("webapi/auth.cgi");
            Query.BuildQueryWithParameters("SYNO.API.Auth", "4", "login", collection);
            NetworkRequest = new NetworkGetRequest(Query.GetUri());
            string jsonResponse = NetworkRequest.SendGetRequest();

            if (NetworkRequest.GetResponseStatusCode())
            {
                AuthenticationAPINetworkResponse networkResponse = APIResult.RetrieveResultsOfBasicAPINetworkResponse(jsonResponse);
                var entry = networkResponse.Data.Where(a => a.Key == "sid").ToList();
                if (entry.Count > 0)
                {
                    return(entry.First().Value);
                }
            }
            return(String.Empty);
        }
        public static AuthenticationAPINetworkResponse RetrieveResultsOfBasicAPINetworkResponse(string response)
        {
            AuthenticationAPINetworkResponse NetworkResponse = JsonConvert.DeserializeObject <AuthenticationAPINetworkResponse>(response);

            return(NetworkResponse);
        }