Exemplo n.º 1
0
        private void ConnectButton_Click(object sender, RoutedEventArgs e)
        {
            Endpoint lockInfo;

            try
            {
                var paramsList = EndpointURL.Text.Replace("k1://", "").Replace("/", "").Split(':').ToList();
                lockInfo = Backend.GetLockInfo(Guid.Parse(paramsList.Last()));
                SshWrapper w = new SshWrapper(lockInfo);
                this.Hide();
                string result = w.Connect();
                this.Show();
            }
            catch (Exception ex)
            {
                StatusLabel.Content = String.Format("Error: {0}", ex.Message);
            }
        }
Exemplo n.º 2
0
 public MainWindow()
 {
     InitializeComponent();
     EndpointURL.IsEnabled   = false;
     ConnectButton.IsEnabled = false;
     StatusLabel.Content     = "Hello";
     RegistryTool.SetUrlHandler();
     if (Environment.GetCommandLineArgs().Count() > 1)
     {
         var paramsList = Environment.GetCommandLineArgs().Last().Replace("k1://", "").Replace("/", "").Split(':').ToList();
         if (paramsList.First() == "lock")
         {
             Endpoint lockInfo;
             try
             {
                 StatusLabel.Content = String.Format("Connecting");
                 lockInfo            = Backend.GetLockInfo(Guid.Parse(paramsList.Last()));
                 SshWrapper w      = new SshWrapper(lockInfo);
                 string     result = w.Connect();
                 StatusLabel.Content = String.Format("Connected" + Environment.NewLine + result);
             } catch (Exception ex)
             {
                 StatusLabel.Content = String.Format("Error: {0}", ex.Message);
             }
         }
         else
         {
             StatusLabel.Content += "No endpoint id";
         }
     }
     else
     {
         StatusLabel.Content     = "No link" + Environment.NewLine + "Enter link in field below";
         EndpointURL.IsEnabled   = true;
         ConnectButton.IsEnabled = true;
     };
 }
        public bool ExecuteTask(ScheduledTask task)
        {
            message = "";
            var dataSourceOption = task.DataSourceDictionary;

            if (dataSourceOption == null || !dataSourceOption.Any())
            {
                message = string.Format("No data Source Options was configured for Job: {0}", task.JobName);
                // log.Info(message);
                return(false);
            }

            foreach (var datasource in dataSourceOption)
            {
                var TypeOfDataSource           = (DataSourceType)Convert.ToInt16(HelperMethods.DictionaryLookUp(datasource, "TypeOfDataSource"));
                var securityTypeForDataSource  = (AccessSecurityType)Convert.ToInt16(HelperMethods.DictionaryLookUp(datasource, "SecurityTypeForDataSource"));
                var relativeOrAbsoluteFilePath = string.IsNullOrEmpty((string)HelperMethods.DictionaryLookUp(datasource, "RelativeOrAbsoluteFilePath")) ? "R" : (string)HelperMethods.DictionaryLookUp(datasource, "RelativeOrAbsoluteFilePath");


                if (TypeOfDataSource == DataSourceType.Database)
                {
                    string connectionString = (string)HelperMethods.DictionaryLookUp(datasource, "ValueForDataConnectionType");
                    string queryFile        = null;

                    if (relativeOrAbsoluteFilePath.ToUpper().Equals("R"))
                    {
                        queryFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                                                 (string)HelperMethods.DictionaryLookUp(datasource, "ValueForDataRetrievalMethod"));
                    }
                    else
                    {
                        queryFile = (string)HelperMethods.DictionaryLookUp(datasource, "ValueForDataRetrievalMethod");
                    }
                    if (!File.Exists(queryFile))
                    {
                        message = string.Format("Unable to load query files: {0} for Job: {1}", queryFile, task.JobName);
                        return(false);
                    }
                    //Get Values for Data Source Property

                    if (datasource.ContainsKey("RequirePreOrPostProcessExecution") && (datasource["RequirePreOrPostProcessExecution"].Equals("1") || datasource["RequirePreOrPostProcessExecution"].Equals("2") || datasource["RequirePreOrPostProcessExecution"].Equals("3")))
                    {
                        if (datasource.ContainsKey("ProcessExecution"))
                        {
                            var executionProcess = datasource["ProcessExecution"];
                            var processes        = (List <Dictionary <string, object> >)executionProcess;
                            if (executionProcess != null)
                            {
                                Dictionary <string, object> preProcess =
                                    processes.FirstOrDefault(a => a.ContainsKey("Type") && a.ContainsValue("1"));
                                if (preProcess.Any())
                                {
                                    ExternalProcessExecution(preProcess);
                                }
                            }
                        }
                    }

                    string query = System.IO.File.ReadAllText(queryFile);
                    var    dbProviderForDatabaseDataSource = (DataSourceDbProvider)Convert.ToInt16(HelperMethods.DictionaryLookUp(datasource, "DbProviderForDatabaseDataSource"));

                    if (securityTypeForDataSource == AccessSecurityType.Ssl)
                    {
                        SshWrapper.Connect(null);
                    }
                    log.Info(string.Format("Job Query Retrieved for Job: {0}", task.JobName));

                    DataTable sourceData = null;
                    try
                    {
                        sourceData = DataDbAccess.GetSourceData(dbProviderForDatabaseDataSource, connectionString, query);
                    }
                    catch (Exception exp)
                    {
                        log.Error(exp);
                    }

                    log.Info(string.Format("Record(s) Retrieved: {0} for Job: {1}", sourceData == null ? 0 : sourceData.Rows.Count, task.JobName));

                    if (securityTypeForDataSource == AccessSecurityType.Ssl)
                    {
                        SshWrapper.Disconnect();
                    }

                    if (sourceData == null || sourceData.Rows.Count < 1)
                    {
                        message = string.Format("No data was retrieved from Source: {0}", task.JobName);
                        // return false;
                    }
                    if (!datasource.ContainsKey("OutputFileFormat"))
                    {
                        message = string.Format("No Output File Format Defined for Job: {0}", task.JobName);
                        return(false);
                    }
                    var fileName = CreateDataFile((Dictionary <string, object>)datasource["OutputFileFormat"], relativeOrAbsoluteFilePath, sourceData);
                    if (fileName == null)
                    {
                        message = string.Format("Unable to Create data File for Job: {0}", task.JobName);
                        return(false);
                    }
                    log.Info(string.Format("Output File created at : {0} for Job: {1} ", fileName, task.JobName));
                    bool status = DeliveryMethodHelper.ProcessDeliveryMethod(task.DataDeliveryDictionary, fileName);
                    if (!status)
                    {
                        // message = string.Format("Unable to Delivery data using Delivery Option: {0} for Job: {1} ",
                        // task.DataDeliveryOptions.DeliveryMethod, task.JobName);
                        //return false;
                    }
                }
                else
                {
                    message = string.Format("No Operation has been defined for Type of Data Source: {0} for Job: {1}",
                                            TypeOfDataSource, task.JobName);
                    // log.Info(message);
                }
            }
            return(true);
        }