/// <summary> /// Отправка запроса на сервер /// </summary> /// <param name="serviceAddress">Сервисный адрес</param> /// <param name="requestType">Тип объекта класса</param> /// <returns></returns> public string ResultPost(string serviceAddress, object requestType) { try { var json = new SerializeJson(); var js = json.JsonLibrary(requestType); var body = Encoding.UTF8.GetBytes(js); var request = (HttpWebRequest)WebRequest.Create(serviceAddress); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = body.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(body, 0, body.Length); stream.Close(); } var response = (HttpWebResponse)request.GetResponse(); response.Close(); if (response.StatusCode == HttpStatusCode.Gone) { var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "POST", HttpStatusCode.Gone.ToString(), "Возникла фатальная ошибка 410!"); } if (response.StatusCode == HttpStatusCode.OK) { var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "POST", HttpStatusCode.OK.ToString(), "Все хорошо!"); return("ОК!"); } if (response.StatusCode == HttpStatusCode.BadRequest) { var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "POST", HttpStatusCode.BadRequest.ToString(), "Данные не проходят проверку!"); return("ОК!"); } return(null); } catch (Exception e) { //Лог ошибки var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "POST", "Ошибка", e.ToString()); return(null); } }
/// <summary> /// Прием запроса сервера /// </summary> /// <param name="serviceGetOrPost">Сервисный адресс</param> /// <param name="idTemplate">Id Шаблонов</param> /// <returns></returns> public List <AisPoco.Ifns51.ToAis.SrvToLoad> ResultGet(string serviceGetOrPost, string idTemplate) { var json = new SerializeJson(); var request = (HttpWebRequest)WebRequest.Create($"{serviceGetOrPost}?idTemplate={idTemplate}"); request.Method = "GET"; request.ContentType = "application/json"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.Gone) { var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "GET", HttpStatusCode.Gone.ToString(), "Возникла фатальная ошибка 410!"); //Фатальная ошибка выход MessageBox.Show("Возникла фатальная ошибка 410!"); } if (response.StatusCode == HttpStatusCode.ServiceUnavailable) { //Повторить через 10 минут сервер выключен var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "GET", HttpStatusCode.ServiceUnavailable.ToString(), "Сервис выключен повторите через 10 минут 503!"); MessageBox.Show("Сервис выключен повторите через 10 минут 503!"); } if (response.StatusCode == HttpStatusCode.NoContent) { //Все обработано не чего отдавать var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "GET", HttpStatusCode.NoContent.ToString(), "Все данные отработаны новых поступлений нет!"); MessageBox.Show("Все данные отработаны новых поступлений нет!"); } if (response.StatusCode == HttpStatusCode.OK) { //Все хорошо var log = new SqlPreCheckLog(); log.AddTaxJournal(Environment.UserName, "GET", HttpStatusCode.OK.ToString(), "Все хорошо!"); string resultServer; using (StreamReader rdr = new StreamReader(response.GetResponseStream())) { resultServer = rdr.ReadToEnd(); } return((List <AisPoco.Ifns51.ToAis.SrvToLoad>)json.JsonDeserializeObjectListClass <AisPoco.Ifns51.ToAis.SrvToLoad>(resultServer)); } return(null); }