Пример #1
0
        private static void UpdateFieldDocument(RevisoObjectType docType)
        {
            JObject response = new JObject();

            if ((response = GetDocumentList(docType)) != null)
            {
                _jsonDocumentStringList = "";
                RevisoCollection docList = JsonConvert.DeserializeObject <RevisoCollection>(response.ToString());
                int docId = -1;
                foreach (JObject jObject in docList.Collection)
                {
                    JToken jToken = jObject.SelectToken("id");
                    if (Int32.TryParse(jToken.ToString(), out docId))
                    {
                        //if (docId.ToString() == "3728") continue;
                        if ((response = GetDocument(docId, docType)) != null)
                        {
                            if (UpdateDocument(docId, docType, response) != null)
                            {
                                Console.WriteLine($"{docType} {docId} correttamente aggiornato.");
                            }
                            else
                            {
                                Console.WriteLine($"Errore durante l'update di {docType} {docId}.");
                                return;
                            }
                        }
                        else
                        {
                            Console.WriteLine($"Errore durante la get di {docType} {docId}.");
                            return;
                        }
                    }
                    else
                    {
                        Console.WriteLine($"Errore durante il calcolo dell'id di {docType}: \r\n{jObject}");
                        return;
                    }
                }
            }
            else
            {
                Console.WriteLine($"Errore durante la get della lista {docType}.");
                return;
            }
        }
Пример #2
0
/// <summary>
///
/// </summary>
/// <param name="docId"></param>
/// <param name="docType"></param>
/// <returns></returns>
        private static JObject GetDocument(int docId, RevisoObjectType docType)
        {
            Console.WriteLine($"\r\nRecupero {docType} '{docId}' in corso...");
            JObject doc = null;

            switch (docType)
            {
            case RevisoObjectType.ORDINE:
                doc = RevisoGetObject(docId, RevisoObjectType.ORDINE);
                break;

            case RevisoObjectType.PREVENTIVO:
                doc = RevisoGetObject(docId, RevisoObjectType.PREVENTIVO);
                break;

            default:
                break;
            }

            RevisoResponseError responseError = JsonConvert.DeserializeObject <RevisoResponseError>(doc.ToString());

            if (doc != null)
            {
                try
                {
                    if (!string.IsNullOrEmpty(responseError.errorCode))
                    {
                        Console.WriteLine($"\r\nERRORE GET {docType}:\r\n{responseError}");
                        return(null);
                    }
                    _jsonDocumentStringList += $"|||BEFORE:::{doc}";
                    return(doc);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"ERRORE: {ex?.Message}");
                }
            }
            return(null);
        }
Пример #3
0
        /*
         * private static void UpdateOrderList(JObject response)
         * {
         *
         *  string jsonString = orderList.ToString();
         *  jsonString = jsonString.Replace("\"V22\"", "\"V022\"");
         *
         *  RevisoCollection orderCollection = JsonConvert.DeserializeObject<RevisoCollection>(orderList.ToString());
         *
         *  int orderId = -1;
         *
         *  foreach (JObject jObject in orderCollection.Collection)
         *  {
         *      JToken jToken = jObject.SelectToken("id");
         *      if (Int32.TryParse(jToken.ToString(), out orderId))
         *      {
         *          UpdateOrder(orderId);
         *      }
         *  }
         * }
         */

        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        private static JObject GetDocumentList(RevisoObjectType docType)
        {
            Console.WriteLine($"\r\nRecupero lista {docType} in corso...");
            JObject docList = null;

            switch (docType)
            {
            case RevisoObjectType.ORDINE:
                docList = RevisoGetObjects(RevisoObjectType.ORDINE);
                break;

            case RevisoObjectType.PREVENTIVO:
                docList = RevisoGetObjects(RevisoObjectType.PREVENTIVO);
                break;

            default:
                break;
            }

            RevisoResponseError responseError = JsonConvert.DeserializeObject <RevisoResponseError>(docList.ToString());

            if (docList != null)
            {
                try
                {
                    if (!string.IsNullOrEmpty(responseError.errorCode))
                    {
                        Console.WriteLine($"\r\nERRORE GET ALL:\r\n{responseError}");
                        return(null);
                    }

                    return(docList);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"ERRORE: {ex?.Message}");
                }
            }
            return(null);
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="docId"></param>
        /// <param name="docType"></param>
        /// <param name="jObjectOld"></param>
        /// <returns></returns>
        private static JObject UpdateDocument(int docId, RevisoObjectType docType, JObject jObjectOld)
        {
            Console.WriteLine($"\r\nAggiornamento {docType} '{docId}' in corso...");

            string jsonString = jObjectOld.ToString();

            jsonString = jsonString.Replace("\"vatCode\": \"V22\"", "\"vatCode\": \"V022\"");
            jsonString = jsonString.Replace("\"https://rest.reviso.com/vat-accounts/V22\"", "\"https://rest.reviso.com/vat-accounts/V022\"");
            jsonString = jsonString.Replace('\'', ' ').Replace('&', 'e').Replace('€', 'E');

            JObject jObjectNew = JsonConvert.DeserializeObject <JObject>(jsonString);

            _jsonDocumentStringList += $"|||AFTER:::{jObjectNew}";

            byte[] bytes      = Encoding.UTF8.GetBytes(jObjectNew.ToString());
            int    lenghtBody = bytes.Length;

            JObject             doc           = RevisoUpdateObject(jsonString, bytes, lenghtBody, docId, docType);
            RevisoResponseError responseError = JsonConvert.DeserializeObject <RevisoResponseError>(doc.ToString());

            if (doc != null)
            {
                try
                {
                    if (!string.IsNullOrEmpty(responseError.errorCode))
                    {
                        Console.WriteLine($"\r\nERRORE GET {docType}:\r\n{responseError}");
                        return(null);
                    }

                    return(doc);
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"ERRORE: {ex?.Message}");
                }
            }
            return(null);
        }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="updatestring"></param>
        /// <param name="bytes"></param>
        /// <param name="lenght"></param>
        /// <param name="existOnReviso"></param>
        /// <returns></returns>
        private static JObject RevisoUpdateObject(string updatestring, byte[] bytes, int lenght, int id, RevisoObjectType revisoObjectType)
        {
            var client = new HttpClient();

            HttpWebRequest request = null;

            switch (revisoObjectType)
            {
            case RevisoObjectType.ORDINE:
                request = (HttpWebRequest)WebRequest.Create($"https://rest.reviso.com/orders/{id}");
                break;

            case RevisoObjectType.PREVENTIVO:
                request = (HttpWebRequest)WebRequest.Create($"https://rest.reviso.com/quotations/{id}");
                break;

            default:
                return(null);
            }

            request.Method = "PUT";

            request.Headers["X-AppSecretToken"]      = _appSecretToken;
            request.Headers["X-AgreementGrantToken"] = _agreementGrantToken;
            request.ContentType   = "application/json";
            request.ContentLength = lenght;

            HttpStatusCode code;

            try
            {
                Stream newStream = request.GetRequestStream();
                newStream.Write(bytes, 0, bytes.Length);
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    code = response.StatusCode;
                    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>(reader.ReadToEnd());
                        return(jsonObj);
                    }
                }
            }
            catch (WebException webEx)
            {
                using (HttpWebResponse response = (HttpWebResponse)webEx.Response)
                {
                    if (response == null)
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>("{\"message\":\"" + webEx.Message + "\"}");
                        return(jsonObj);
                    }
                    code = response.StatusCode;
                    if (code != HttpStatusCode.BadRequest && code != HttpStatusCode.NotFound)
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>("{\"message\":\"" + webEx.Message + "\"}");
                        return(jsonObj);
                    }
                    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>(reader.ReadToEnd());
                        return(jsonObj);
                    }
                }
            }
        }
Пример #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="revisoObjectType"></param>
        /// <returns></returns>
        private static JObject RevisoGetObjects(RevisoObjectType revisoObjectType)
        {
            var client = new HttpClient();

            HttpWebRequest request = null;

            switch (revisoObjectType)
            {
            case RevisoObjectType.ORDINE:
                request = (HttpWebRequest)WebRequest.Create("https://rest.reviso.com/orders?filter=isArchived$eq:false$and:isSent$eq:false&pagesize=10000");
                break;

            case RevisoObjectType.PREVENTIVO:
                request = (HttpWebRequest)WebRequest.Create("https://rest.reviso.com/quotations?filter=isArchived$eq:false&pagesize=10000");
                break;

            default:
                return(null);
            }

            request.Headers["X-AppSecretToken"]      = _appSecretToken;
            request.Headers["X-AgreementGrantToken"] = _agreementGrantToken;
            request.ContentType = "application/json";

            HttpStatusCode code;

            try
            {
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    code = response.StatusCode;
                    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>(reader.ReadToEnd());
                        return(jsonObj);
                    }
                }
            }
            catch (WebException webEx)
            {
                using (HttpWebResponse response = (HttpWebResponse)webEx.Response)
                {
                    if (response == null)
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>("{\"message\":\"" + webEx.Message + "\"}");
                        return(jsonObj);
                    }
                    code = response.StatusCode;
                    if (code != HttpStatusCode.BadRequest)
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>("{\"message\":\"" + webEx.Message + "\"}");
                        return(jsonObj);
                    }
                    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                    {
                        var jsonObj = JsonConvert.DeserializeObject <JObject>(reader.ReadToEnd());
                        return(jsonObj);
                    }
                }
            }
        }