public static bool TimeToCheck(Ix4RequestProps ix4Property) { bool result = false; switch (ix4Property) { case Ix4RequestProps.Articles: if (_articlesLastUpdate == 0 || GetTimeStamp() - _articlesLastUpdate > 86400) { result = true; } break; case Ix4RequestProps.Deliveries: if (_deliveriesLastUpdate == 0 || (GetTimeStamp() - _deliveriesLastUpdate) > 7200) { result = true; } break; case Ix4RequestProps.Orders: if (_ordersLastUpdate == 0 || (GetTimeStamp() - _ordersLastUpdate) > 1800) { result = true; } break; default: break; } return(result); }
public LICSRequest[] GetRequestsWithArticles(IPluginSettings pluginSettings, Ix4RequestProps ix4Property) { List <LICSRequest> requests = new List <LICSRequest>(); LICSRequest request = new LICSRequest(); switch (ix4Property) { case Ix4RequestProps.Articles: request.ArticleImport = GetRequestArticles(pluginSettings); break; case Ix4RequestProps.Deliveries: request.DeliveryImport = GetRequestDeliveries(pluginSettings); break; case Ix4RequestProps.Orders: request.OrderImport = GetRequestOrders(pluginSettings); break; default: break; } requests.Add(request); return(requests.ToArray()); }
private bool HasItemsForSending(LICSRequest[] requests, Ix4RequestProps ix4Property) { bool result = false; if (requests != null) { switch (ix4Property) { case Ix4RequestProps.Articles: foreach (LICSRequest request in requests) { _loger.Log(string.Format("Count of available {0} = {1}", ix4Property, request.OrderImport.Length)); if (request.ArticleImport.Length > 0) { result = true; break; } } break; case Ix4RequestProps.Orders: foreach (LICSRequest request in requests) { _loger.Log(string.Format("Count of available {0} = {1}", ix4Property, request.OrderImport.Length)); if (request.OrderImport.Length > 0) { result = true; break; } } break; case Ix4RequestProps.Deliveries: foreach (LICSRequest request in requests) { _loger.Log(string.Format("Count of available {0} = {1}", ix4Property, request.OrderImport.Length)); if (request.DeliveryImport.Length > 0) { result = true; break; } } break; default: break; } } return(result); }
private void InitSettings(Ix4RequestProps itemName) { switch (itemName) { case Ix4RequestProps.Articles: BaseSettings = XmlConfigurationManager.Instance.GetCustomerInformation().ImportDataSettings.ArticleSettings; break; case Ix4RequestProps.Orders: BaseSettings = XmlConfigurationManager.Instance.GetCustomerInformation().ImportDataSettings.OrderSettings; break; case Ix4RequestProps.Deliveries: BaseSettings = XmlConfigurationManager.Instance.GetCustomerInformation().ImportDataSettings.DeliverySettings; break; } }
public static void SetLastUpdateTimeProperty(Ix4RequestProps ix4Property) { switch (ix4Property) { case Ix4RequestProps.Articles: _articlesLastUpdate = GetTimeStamp(); break; case Ix4RequestProps.Deliveries: _deliveriesLastUpdate = GetTimeStamp(); break; case Ix4RequestProps.Orders: _ordersLastUpdate = GetTimeStamp(); break; default: break; } }
private void CheckPreparedRequest(CustomDataSourceTypes dataSourceType, Ix4RequestProps ix4Property) { try { // if (UpdateTimeWatcher.TimeToCheck(ix4Property)) { _loger.Log(string.Format("Start Check {0} using {1} plugin", ix4Property.ToString(), dataSourceType.ToString())); LICSRequest[] requests = _dataCompositor.GetPreparedRequests(dataSourceType, ix4Property); if (requests != null && HasItemsForSending(requests, ix4Property)) { foreach (var item in requests) { //_loger.Log(string.Format("Count of available {0} = {1}", ix4Property, item.OrderImport.Length)); //_loger.Log("LicsReques orders = " + item.SerializeObjectToString<LICSRequest>()); item.ClientId = _customerInfo.ClientID; //_loger.Log("client id = " + _customerInfo.ClientID); foreach (var order in item.OrderImport) { order.ClientNo = _customerInfo.ClientID; } bool res = SendLicsRequestToIx4(item, string.Format("{0}File.xml", ix4Property.ToString())); _loger.Log(string.Format("{0} result: {1}", ix4Property, res)); if (res) { UpdateTimeWatcher.SetLastUpdateTimeProperty(ix4Property); } } } _loger.Log(string.Format("Finish Check {0} using {1} plugin", ix4Property.ToString(), dataSourceType.ToString())); System.Threading.Thread.Sleep(30000); } } catch (Exception ex) { _loger.Log(ex); } }
public LICSRequest[] GetRequestsWithArticles(IPluginSettings pluginSettings, Ix4RequestProps ix4Property) { List <LICSRequest> requests = new List <LICSRequest>(); XmlPluginSettings xmlSettings = pluginSettings as XmlPluginSettings; if (xmlSettings == null) { return(requests.ToArray()); } if (pluginSettings.CheckArticles) { LICSRequest request = new LICSRequest(); switch (ix4Property) { case Ix4RequestProps.Articles: request.ArticleImport = GetRequestArticles(pluginSettings); requests.Add(request); break; case Ix4RequestProps.Orders: //request.ArticleImport = GetRequestArticles(pluginSettings); //request.OrderImport = GetRequestOrders(pluginSettings); //requests.Add(request); { // string[] xmlSourceFiles = Directory.GetFiles("C:\\Ilya\\TestXmlFolder\\XmlSource");// _customerInfo.PluginSettings.XmlSettings.SourceFolder); // ICustomerDataConnector xmlDataConnector = CustomerDataComposition.Instance.GetDataConnector(CustomDataSourceTypes.Xml); string[] xmlSourceFiles = Directory.GetFiles(xmlSettings.XmlArticleSourceFolder, "*.xml"); if (xmlSourceFiles.Length > 0) { foreach (string file in xmlSourceFiles) { // _streamWriterFile.WriteLine(string.Format("Filename: {0}", file)); LICSRequest req = GetCustomerDataFromXml(file); // CustomerDataComposition.Instance.GetCustomerDataFromXml(file);// xmlDataConnector.GetCustomerDataFromXml(file); requests.Add(req); } } } break; case Ix4RequestProps.Deliveries: // LICSRequestDelivery[] deliveries = GetRequestDeliveries(pluginSettings); // List<LICSRequestDelivery> deliveryList = new List<LICSRequestDelivery>(); // if(deliveries.Length>_deliveriesLimit) // { // int i = 0; // foreach(var deliv in deliveries) // { // if(i<=_deliveriesLimit) // { // deliveryList.Add(deliv); // i++; // } // else // { // i = 0; // request.DeliveryImport = deliveryList.ToArray(); // requests.Add(request); // deliveryList = new List<LICSRequestDelivery>(); // } // } // } // request.ArticleImport = GetRequestArticles(pluginSettings); //// request.OrderImport = GetRequestOrders(pluginSettings); // requests.Add(request); break; default: break; } } return(requests.ToArray()); }
public LICSRequest[] GetRequestsWithArticles(IPluginSettings pluginSettings, Ix4RequestProps ix4Property) { List <LICSRequest> requests = new List <LICSRequest>(); return(requests.ToArray()); }
public LICSRequest[] GetPreparedRequests(CustomDataSourceTypes dataSourceType, Ix4RequestProps ix4Property) { LICSRequest[] requests = new LICSRequest[] { }; var plugingSettings = _pluginSettings.AllAvailablePluginSettings().FirstOrDefault(pl => pl.PluginType == dataSourceType); if (plugingSettings == null) { return(requests); } foreach (var plugin in CustomerDataPlugins) { if (((string)plugin.Metadata[CurrentServiceInformation.NameForPluginMetadata]).Equals(Enum.GetName(typeof(CustomDataSourceTypes), dataSourceType))) { requests = plugin.Value.GetRequestsWithArticles(plugingSettings, ix4Property); break; } } return(requests); }