public override void Get(string Subsidiary) { string MainURL = ConfigurationManager.AppSettings[Subsidiary + "Foodics.ResetURL"] + "modifier_options?include=tax_group"; string NextPage = MainURL; do { var client = new RestClient(NextPage); client.Timeout = -1; var request = new RestRequest(Method.GET); request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; }; request.AddHeader("Authorization", "Bearer " + ConfigurationManager.AppSettings[Subsidiary + "Foodics.Token"]); var response = client.Execute <Dictionary <string, List <FoodicsModifierOptions> > >(request); if (response.StatusCode == HttpStatusCode.OK && response.Data != null) { string content = response.Content; var Jobj = JObject.Parse(content); var nodes = Jobj.Descendants() .OfType <JProperty>() .Where(p => p.Name == "next") .Select(p => p.Parent) .ToList(); if (nodes.Count > 0) { FoodicsLinks objLinks = new FoodicsLinks(); try { objLinks = JsonConvert.DeserializeObject <FoodicsLinks>(JsonConvert.SerializeObject(nodes[0])); NextPage = objLinks.next; if (!string.IsNullOrEmpty(NextPage)) { int startIndex = NextPage.LastIndexOf("?") + 1; int endIndex = NextPage.Length - startIndex; string page = NextPage.Substring(startIndex, endIndex); NextPage = MainURL + "&" + page; } } catch (Exception ex) { LogDAO.Integration_Exception(LogIntegrationType.Error, this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name, "Error " + ex.Message); } } foreach (var item in response.Data) { if (item.Key == "data") { if (item.Value.Count > 0) { Generate_Save_NetSuiteLst(item.Value, Subsidiary); } } } } else { return; } } while (!string.IsNullOrEmpty(NextPage)); }
public override void Get(string Subsidiary) { int Subsidiary_Id = Utility.ConvertToInt(ConfigurationManager.AppSettings[Subsidiary + "Netsuite.Subsidiary_Id"]); object fromDateObj = new GenericeDAO <Invoice>().GetLatestModifiedDate(Subsidiary_Id, "Date"); //DateTime fromDateObj = Utility.ConvertToDateTime(ConfigurationManager.AppSettings["InvoiceDate"]); DateTime fromDate = new DateTime(); if (fromDateObj == null) { fromDate = DateTime.Now; } else { fromDate = (DateTime)fromDateObj; } fromDate = new DateTime(fromDate.Year, fromDate.Month, fromDate.Day).AddDays(-3); while (fromDate <= DateTime.Now) //while (fromDate <= new DateTime(2021, 12, 20)) { string MainURL = ConfigurationManager.AppSettings[Subsidiary + "Foodics.ResetURL"] + "orders?include=original_order,charges.charge,customer,branch,creator,discount,combos.combo_size.combo,combos.products,products.product,products.discount,products.options,products.options.modifier_option,payments.payment_method&filter[status]=4&filter[status]=5" + "&filter[business_date]=" + fromDate.ToString("yyyy-MM-dd"); //string MainURL = ConfigurationManager.AppSettings[Subsidiary + "Foodics.ResetURL"] + "orders?include=original_order,charges.charge,customer,branch,creator,discount,combos.combo_size.combo,combos.products,products.product,products.discount,products.options,products.options.modifier_option,payments.payment_method&filter[status]=4&filter[status]=5" + "&filter[id]=b52def5c-2aef-4028-8a2f-b76b0ef48729"; //string MainURL = ConfigurationManager.AppSettings[Subsidiary + "Foodics.ResetURL"] + "orders?include=original_order,charges.charge,customer,branch,creator,discount,combos.combo_size.combo,combos.products,products.product,products.discount,products.options,products.options.modifier_option,payments.payment_method&filter[status]=4&filter[status]=5" + "&filter[updated_after]=" + fromDate.ToString("yyyy-MM-dd"); string NextPage = MainURL; do { var client = new RestClient(NextPage); //client.Timeout = -1; client.Timeout = 200000; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer " + ConfigurationManager.AppSettings[Subsidiary + "Foodics.Token"]); var response = client.Execute <Dictionary <string, List <FoodicsOrder> > >(request); if (response.StatusCode == HttpStatusCode.OK && response.Data != null) { string content = response.Content; var Jobj = JObject.Parse(content); var nodes = Jobj.Descendants() .OfType <JProperty>() .Where(p => p.Name == "next") .Select(p => p.Parent) .ToList(); if (nodes.Count > 0) { FoodicsLinks objLinks = new FoodicsLinks(); try { objLinks = JsonConvert.DeserializeObject <FoodicsLinks>(JsonConvert.SerializeObject(nodes[0])); NextPage = objLinks.next; if (!string.IsNullOrEmpty(NextPage)) { int startIndex = NextPage.LastIndexOf("?") + 1; int endIndex = NextPage.Length - startIndex; string page = NextPage.Substring(startIndex, endIndex); NextPage = MainURL + "&" + page; } LogDAO.Integration_Exception(LogIntegrationType.Error, this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name, "From Date " + fromDate.ToString("yyyy-MM-dd") + " Page:" + NextPage); } catch (Exception ex) { LogDAO.Integration_Exception(LogIntegrationType.Error, this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name, "Error " + ex.Message + " - Page index:" + NextPage); } } foreach (var item in response.Data) { if (item.Key == "data") { if (item.Value.Count > 0) { Generate_Save_NetSuiteLst(item.Value, Subsidiary_Id); } } } } } while (!string.IsNullOrEmpty(NextPage)); fromDate = fromDate.AddDays(1); } }
public override void Get(string Subsidiary) { int Subsidiary_Id = Utility.ConvertToInt(ConfigurationManager.AppSettings[Subsidiary + "Netsuite.Subsidiary_Id"]); object fromDateObj = new GenericeDAO <Customer>().GetLatestModifiedDate(Subsidiary_Id, "Foodics_UpdateDate"); DateTime fromDate = new DateTime(); if (fromDateObj == null) { fromDate = DateTime.Now.AddDays(-30); } else { fromDate = (DateTime)fromDateObj; } string MainURL = ConfigurationManager.AppSettings[Subsidiary + "Foodics.ResetURL"] + "customers?filter[updated_after]=" + fromDate.ToString("yyyy-MM-dd"); string NextPage = MainURL; do { var client = new RestClient(NextPage); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer " + ConfigurationManager.AppSettings[Subsidiary + "Foodics.Token"]); var response = client.Execute <Dictionary <string, List <FoodicsCustomer> > >(request); if (response.StatusCode == HttpStatusCode.OK && response.Data != null) { string content = response.Content; var Jobj = JObject.Parse(content); var nodes = Jobj.Descendants() .OfType <JProperty>() .Where(p => p.Name == "next") .Select(p => p.Parent) .ToList(); if (nodes.Count > 0) { FoodicsLinks objLinks = new FoodicsLinks(); try { objLinks = JsonConvert.DeserializeObject <FoodicsLinks>(JsonConvert.SerializeObject(nodes[0])); NextPage = objLinks.next; if (!string.IsNullOrEmpty(NextPage)) { int startIndex = NextPage.LastIndexOf("?") + 1; int endIndex = NextPage.Length - startIndex; string page = NextPage.Substring(startIndex, endIndex); NextPage = MainURL + "&" + page; } LogDAO.Integration_Exception(LogIntegrationType.Error, this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name, "From Date " + fromDate.ToString("yyyy-MM-dd") + " Page:" + NextPage); } catch (Exception ex) { LogDAO.Integration_Exception(LogIntegrationType.Error, this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name, "Error " + ex.Message); } } foreach (var item in response.Data) { if (item.Key == "data") { if (item.Value.Count > 0) { Generate_Save_NetSuiteLst(item.Value, Subsidiary_Id); } } } } } while (!string.IsNullOrEmpty(NextPage)); }