/// <summary> /// Async Create request to Rosreestr. /// </summary> /// <param name="coi">Pull this object from CheckAddress/CheckNumbers methods</param> /// <param name="requestType">RequestType enum. General info about object or Right List of object</param> /// <param name="priority">Priority from 0 to 100. Lazy=0, Greedy=100</param> /// <returns>RequestTicket object</returns> public async Task <RequestTicket> CreateRequestAsyncTask(CadastralObjectInfo coi, RequestType requestType, int priority = 80, CancellationToken cancellationToken = new CancellationToken()) { var client = new RestClient(_baseUrl); var request = new RestRequest("Requests/Create?api-key={apikey}" + _params, Method.POST); request.AddHeader("content-type", "application/x-www-form-urlencoded"); request.AddUrlSegment("apikey", _token); if (coi == null) { throw new NullReferenceException("Передаваемый объект CadastralObjectInfo не определен. Получить корректный объект можно через методы CheckAddress/CheckNumbers"); } request.AddParameter("Id", coi.Id); request.AddParameter("OrderId", coi.OrderId); request.AddParameter("Number", coi.Number); request.AddParameter("Comment", coi.Comment); request.AddParameter("Priority", priority); request.AddParameter("RequestType", requestType); request.AddParameter("ObjectType", coi.ObjectType); request.AddParameter("Region", coi.Region); var response = await client.ExecuteTaskAsync(request, cancellationToken); if (response.StatusCode == HttpStatusCode.OK) { var data = JObject.Parse(response.Content); if ((bool)data["Result"]) { return(JsonConvert.DeserializeObject <RequestTicket>(response.Content)); } return(null); } return(null); }
/// <summary> /// Create request to Rosreestr. Core functionallity /// </summary> /// <param name="coi">Pull this object from CheckAddress/CheckNumbers methods</param> /// <param name="requestType">RequestType enum. General info about object or Right List of object</param> /// <returns>JSON string</returns> public string CreateRequestAsJson(CadastralObjectInfo coi, RequestType requestType) { var client = new RestClient(_baseUrl); var request = new RestRequest("Requests/Create?api-key={apikey}" + _params, Method.POST); request.AddHeader("content-type", "application/x-www-form-urlencoded"); request.AddUrlSegment("apikey", _token); if (coi == null) { throw new NullReferenceException("Передаваемый объект CadastralObjectInfo не определен. Получить корректный объект можно через методы CheckAddress/CheckNumbers"); } request.AddParameter("Id", coi.Id); request.AddParameter("OrderId", coi.OrderId); request.AddParameter("Number", coi.Number); request.AddParameter("Comment", coi.Comment); request.AddParameter("Priority", 80); //TODO: ОТкуда взять?! request.AddParameter("RequestType", requestType); request.AddParameter("ObjectType", coi.ObjectType); //Пока не актуальна request.AddParameter("Region", coi.Region); var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { return(response.Content); } return(null); }
public void TestCreateRequest_GetRequestTicket() { var client = new Client(apikey, "", "https://test-api.kadnet.ru/v2/"); //var client = new Client(apikey); var coi = new CadastralObjectInfo() { Id = Guid.NewGuid(), OrderId = Guid.Parse("c067ed89-607f-4cd0-8b53-43658dc0688d"), Number = "66:41:0501054:2335", Comment = "Екатеринбург, ул. Авиационная, д. 59, кв. 11", ObjectType = "Помещение", Region = "66" }; var ticket = client.CreateRequestAsyncTask(coi, RequestType.EgrnObject).Result; Assert.That(ticket.Result, Is.True); }