using System; using System.Collections.Generic; using System.Linq; using Comindware.Data.Entity; using Comindware.TeamNetwork.Api.Data.UserCommands; using Comindware.TeamNetwork.Api.Data; using RestSharp; using Newtonsoft.Json.Linq; class Script{ public static UserCommandResult Main(UserCommandContext userCommandContext, Comindware.Entities entities) { var contextObjectId = userCommandContext.ObjectIds[0]; var sucssesFlag = true; string text = "Выполнено"; IRestResponse response = new RestResponse(); string url_Source = "https://api-fns.ru/api/multinfo"; var client = new RestClient(url_Source); var request = new RestSharp.RestRequest("", Method.GET); request.AddHeader("RestRequest", "application/json"); request.AddHeader("Accept", "application/json"); long money = 0; Dictionary data = new Dictionary(); var Properties = new[] {"INN"};//ИНН для поиска try{ var data2 = Api.TeamNetwork.ObjectService.GetPropertyValues(new[]{userCommandContext.ObjectIds[0]}, new[] {"INN"});//берем ИНН для поиска Dictionary data_Dictionary = new Dictionary {{"id", data2.FirstOrDefault().Key}}; foreach (string Property in Properties){ object _Value = null; if (data2.FirstOrDefault().Value.TryGetValue(Property, out object obj) && obj != null){_Value = obj;}data_Dictionary.Add(Property, _Value);} request.AddParameter("req", data_Dictionary["INN"].ToString()); request.AddParameter("key", "123");//Api key try{ response = client.Execute(request); if((int)response.StatusCode == 200 && response.Content.Length>15){ JObject jObject = JObject.Parse(response.Content); var mass = jObject["items"][0].ToString().Split('{'); mass = mass[1].Split(':'); mass = mass[0].Split('"'); string gg= mass[1]; if (gg == "ЮЛ"){ try{money = (long)jObject["items"][0]["ЮЛ"]["Финансы"]["Выручка"] *1000;}catch{} try{data.Add("NaimenovanieYuL", jObject["items"][0]["ЮЛ"]["НаимСокрЮЛ"].ToString());}catch{} try{data.Add("Kolichestvosotrudnikov", (int)jObject["items"][0]["ЮЛ"]["ОткрСведения"]["КолРаб"] ); }catch{} try{data.Add("Godovoydokhod", money);}catch{} try{data.Add("FIOrukovoditelya", jObject["items"][0]["ЮЛ"]["Руководитель"]["ФИОПолн"].ToString()); }catch{} try{data.Add("OGRN", jObject["items"][0]["ЮЛ"]["ОГРН"].ToString());}catch{} try{data.Add("KPP", jObject["items"][0]["ЮЛ"]["КПП"].ToString());}catch{} try {data.Add("Yuridicheskiyadres", jObject["items"][0]["ЮЛ"]["Адрес"]["АдресПолн"].ToString()); }catch{} try{data.Add("OKVED", jObject["items"][0]["ЮЛ"]["ОснВидДеят"]["Код"].ToString());}catch{} try{data.Add("Viddeyatelnosti", jObject["items"][0]["ЮЛ"]["ОснВидДеят"]["Текст"].ToString());}catch{} Api.TeamNetwork.ObjectService.EditWithAlias("Clients", contextObjectId, data);} else if(gg == "ИП"){ try{data.Add("Naimenovanie", jObject["items"][0]["ИП"]["НаимПолнЮЛ"].ToString());}catch{} try{data.Add("FIOrukovoditelya", jObject["items"][0]["ИП"]["ФИОПолн"].ToString());}catch{} try{data.Add("OGRN", jObject["items"][0]["ИП"]["ОГРНИП"].ToString());}catch{} try{data.Add("Yuridicheskiyadres", jObject["items"][0]["ИП"]["Адрес"]["АдресПолн"].ToString()); }catch{} try{data.Add("OKVED", jObject["items"][0]["ИП"]["ОснВидДеят"]["Код"].ToString());}catch{} try{data.Add("Viddeyatelnosti", jObject["items"][0]["ИП"]["ОснВидДеят"]["Текст"].ToString()); }catch{} Api.TeamNetwork.ObjectService.EditWithAlias("Clients", contextObjectId, data);} } else if( response.Content.Length<15){ text = "Нет компании по такому ИНН"; sucssesFlag = false;} else//ошибка{text = "Ошибка";} } catch(Exception e){ text = "Проблема с ответом "+ e.Message; sucssesFlag = false;} } catch{ text = "Нет Инн"; sucssesFlag = false;} var result = new UserCommandResult{ Success = sucssesFlag, Commited = true, ResultType = UserCommandResultType.Notificate, Messages = new[]{ new UserCommandMessage{ Severity = SeverityLevel.Normal, Text = text}} }; return result; } }