public void ExportData(CustomDataSourceTypes dataSourceType, XmlNode exportData)
        {
            //var plugingSettings = _pluginSettings.AllAvailablePluginSettings().FirstOrDefault(pl => pl.PluginType == dataSourceType);
            //if (plugingSettings == null)
            //{
            //    return ;
            //}

            //foreach (var plugin in CustomerDataPlugins)
            //{
            //    if (((string)plugin.Metadata[CurrentServiceInformation.NameForPluginMetadata]).Equals(Enum.GetName(typeof(CustomDataSourceTypes), dataSourceType)))
            //    {
            //        plugin.Value.ExportDataToCustomerSource(plugingSettings,exportData);
            //        break;
            //    }
            //}
        }
        public ICustomerDataConnector GetCustomerDataConnector(CustomDataSourceTypes dataSourceType)
        {
            ICustomerDataConnector connector = null;
            var plugingSettings = _pluginSettings.AllAvailablePluginSettings().FirstOrDefault(pl => pl.PluginType == dataSourceType);

            if (plugingSettings == null)
            {
                return(connector);
            }

            foreach (var plugin in CustomerDataPlugins)
            {
                if (((string)plugin.Metadata[CurrentServiceInformation.NameForPluginMetadata]).Equals(Enum.GetName(typeof(CustomDataSourceTypes), dataSourceType)))
                {
                    connector = plugin.Value.GetPrepearedDataConnector(plugingSettings);//
                    break;
                }
            }
            return(connector);
        }
        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);
        }
예제 #4
0
        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);
            }
        }