コード例 #1
0
ファイル: ModelData.cs プロジェクト: SashaKoragin/WPFLib
 /// <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);
     }
 }
コード例 #2
0
        /// <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);
        }