public static Cis TranslateCis(Cis cis) { if (cis.status == "EMITTED") { cis.status = "Эмитирован. Выпущен"; } if (cis.status == "APPLIED") { cis.status = "Эмитирован. Получен"; } if (cis.status == "INTRODUCED") { cis.status = "В обороте"; } if (cis.status == "WRITTEN_OFF") { cis.status = "Списан"; } if (cis.status == "RETIRED") { cis.status = "Выбыл"; } if (cis.emissionType == "REMAINS") { cis.emissionType = "Маркировка остатков"; } if (cis.emissionType == "PRODUCTION") { cis.emissionType = "Произведено в РФ"; } if (cis.emissionType == "IMPORT") { cis.emissionType = "Импорт"; } if (cis.emissionType == "REMARK") { cis.emissionType = "Перемаркировка"; } if (cis.emissionType == "COMMISSION") { cis.emissionType = "Принят на комиссию"; } return(cis); }
public static string GetStatus(string km, bool refreshtoken) { token = config.AppSettings.Settings["token"].Value; if (token == string.Empty || refreshtoken) { GetToken(); } Cis cis = new Cis(); try { var client = new RestClient($"{config.AppSettings.Settings["url"].Value}v4/facade/identifytools/info?childrenPage=1&childrenLimit=50&cis={HttpUtility.UrlEncode(km, Encoding.UTF8)}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", $"Bearer {token}"); IRestResponse response = client.Execute(request); logger.Info($"Данные по КМ ({km}) успешно получены."); cis = JsonConvert.DeserializeObject <Cis>(response.Content); if (cis.error != null && !refreshtoken) { return(GetStatus(km, true)); } if (cis.status == null) { return(cis.error_message + "!"); } else { cis = TranslateCis(cis); } return($"{cis.status} ({cis.emissionType})"); } catch (Exception ex) { logger.Error($"Ошибка получения данных по КМ ({km})!\n" + ex.Message); return("Ошибка получения статуса!"); } }