示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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);
        }