Пример #1
0
        public DataVIewer(SCHElement element)
        {
            InitializeComponent();
            fastColoredTextBox1.Text = "";
            this.element             = element;

            if (element.Data.ActionType == ActionType.CSharpCode)
            {
                var refs = element.Data.GetCSharpRefs(new FileInfo(Application.ExecutablePath).DirectoryName + "Lib\\");
                if (refs != null && refs.Length != 0)
                {
                    fastColoredTextBox1.Text  = "//==REFFERENES==\n";
                    fastColoredTextBox1.Text += "//" + string.Join("\n//", refs);
                    fastColoredTextBox1.Text += "\n\n";
                }
                fastColoredTextBox1.Text += element.Data.GetCSharpCode();
                button_output.Visible     = true;
            }
            else
            {
                button_output.Visible    = false;
                fastColoredTextBox1.Text = element.Data.GetCMDScript();
            }
            fastColoredTextBox1.ReadOnly = true;

            textBoxWidth        = Width - fastColoredTextBox1.Width - fastColoredTextBox1.Left + 10;
            textBoxHeight       = Height - fastColoredTextBox1.Height - fastColoredTextBox1.Top + button_close.Height - 30;
            buttonBotOffset     = button_close.Height * 2 + 10;
            buttonLeftOffset    = button_close.Width + 20;
            buttonOutTopOffset  = button_close.Height * 2 + 10;
            buttonOutLeftOffset = buttonLeftOffset + 5 + button_output.Width;
            DataVIewer_SizeChanged(null, null);
        }
Пример #2
0
        private void UIInfo(SCHElement element)
        {
            groupBox_info.Enabled = true;
            label_m_name.Text     = string.Format("Name: {0}", element.Metadata.Name);
            label_m_descr.Text    = string.Format("Description: {0}", element.Metadata.Description);
            label_m_autor.Text    = string.Format("Autor: {0}", element.Metadata.Autor);
            label_m_crdate.Text   = string.Format("CreationDate: {0}", element.Metadata.CreationDate.ToString());

            label_d_acttype.Text  = string.Format("Action Type: {0}", element.Data.ActionType);
            label_d_comdtype.Text = string.Format("Command Type: {0}", element.Data.CommandType);
            if (element.Data.CommandType == CommandType.OneTime)
            {
                label_d_reptype.Visible    = false;
                tabControl_d.SelectedIndex = 0;
                label_d_onetimedate.Text   = string.Format("One Time Date: {0}", element.Data.OneTimeDate);
            }
            else
            {
                label_d_reptype.Visible = true;
                label_d_reptype.Text    = string.Format("Repeatable Type: {0}", element.Data.RepeatableType);
                if (element.Data.RepeatableType == RepeatableType.Monotonous)
                {
                    label_d_rm_startTime.Text  = string.Format("Start time: {0}", element.Data.MonotonousStartTime);
                    label_d_rm_period.Text     = string.Format("Period: {0}", element.Data.MonotonousPeriod);
                    label_d_rm_count.Text      = string.Format("Count: {0}", element.Data.MonotonousRepeatCount);
                    tabControl_d.SelectedIndex = 1;
                }
                else
                {
                    listBox_d_rs.Items.Clear();
                    listBox_d_rs.Items.AddRange(element.Data.SpecificDates.Select(p => p.ToString()).ToArray());
                    tabControl_d.SelectedIndex = 2;
                }
            }
        }
Пример #3
0
 private void RunElement(SCHElement element)
 {
     try
     {
         element.Run();
     } catch (Exception e)
     {
         Parameters.OnErrorAction?.Invoke(e, "Unable to run() element");
     }
 }
Пример #4
0
 public bool SendElement(SCHElement element)
 {
     try
     {
         byte[] bytes = element.ToBytes();
         pipeClient.Write(bytes, 0, bytes.Length);
         return(true);
     }
     catch (Exception e)
     {
         ExMsg = e.Message;
         return(false);
     }
 }
Пример #5
0
        static void Main(string[] args)
        {
            Logger logger = new Logger("AddTasks", "AddTasks");

            logger.V("Staring app");
            logger.I("Values " + string.Join(" ", args));

            SCHElement element = null;

            try
            {
                element = ShellParser.Parse(args, SCHEnvironment.LibDir);
                logger.I("Parse has been ended");
            } catch (Exception e)
            {
                logger.E("Parsing error");
                logger.E(e.ToString());

                Error(e.ToString());
                return;
            }

            using (SchedulerClient client = new SchedulerClient())
            {
                if (!client.Connect())
                {
                    Error("Unable to connect to server!");

                    logger.E("Unable to connect to server!");
                    logger.E(client.ExMsg);

                    Error(client.ExMsg);
                    return;
                }

                if (!client.SendElement(element))
                {
                    logger.E("Unable to send data");
                    logger.E(client.ExMsg);

                    Error("Unable to send data!");
                    Error(client.ExMsg);
                    return;
                }
                logger.I("OK!");
            }
        }
Пример #6
0
        public static SCHElement Parse(string[] args, string libDir)
        {
            var        data    = ParseData(args);
            SCHElement element = new SCHElement();

            element.Metadata.Name         = data.Name;
            element.Metadata.Autor        = data.Autor ?? "";
            element.Metadata.Description  = data.Descr ?? "";
            element.Metadata.CreationDate = DateTime.Now;
            element.Data.ActionType       = data.AT;
            element.Data.CommandType      = data.CT;
            element.Data.RepeatableType   = data.RT;
            if (data.AT == ActionType.CMDScript)
            {
                element.Data.SetCMDScript(File.ReadAllText(data.FileName));
            }
            else
            {
                element.Data.SetCSharpSource(data.Refs,
                                             File.ReadAllText(data.FileName),
                                             libDir);
            }
            if (data.CT == CommandType.OneTime)
            {
                element.Data.OneTimeDate = data.OTD;
            }
            else
            {
                if (data.RT == RepeatableType.Monotonous)
                {
                    element.Data.MonotonousPeriod      = (uint)data.MP;
                    element.Data.MonotonousRepeatCount = (ushort)data.MRC;
                    element.Data.MonotonousStartTime   = data.MST;
                }
                else
                {
                    element.Data.SpecificDates = data.SD;
                }
            }
            return(element);
        }