Beispiel #1
0
        private void convertToMelbButton_Click(object sender, EventArgs e)
        {
            DateTime startTime = DateTime.ParseExact(startTimeUtcTextBox.Text, Iso8601ParseFormat, ParseCulture);
            DateTime endTime   = DateTime.ParseExact(endTimeUtcTextBox.Text, Iso8601ParseFormat, ParseCulture);

            SetDates(
                startTimeMelbTextBox,
                ConverterEngine.ConvertUtcToMelbourneTime(startTime),
                endTimeMelbTextBox,
                ConverterEngine.ConvertUtcToMelbourneTime(endTime));
        }
Beispiel #2
0
        private bool ConvertFile(string file, out string errorReason)
        {
            try
            {
                Application.DoEvents();

                string sourcePath = txtSource.Text + file;
                string sourceText = File.ReadAllText(sourcePath);

                FileInfo info     = new FileInfo(sourcePath);
                string   fileName = info.Name;
                fileName = fileName.Remove(fileName.Length - info.Extension.Length, info.Extension.Length);

                sourceText = sourceText.Trim();
                if (string.IsNullOrEmpty(sourceText))
                {
                    errorReason = string.Format("The file {0} is empty !", sourcePath);
                    return(false);
                }

                ConverterEngine engine = new ConverterEngine(LanguageVersion.VB6, sourceText);
                if (cboLanguage.Text == "VB .NET")
                {
                    engine.ResultType = DestinationLanguage.VisualBasic;
                }
                engine.FileName = fileName;
                bool success = engine.Convert();

                if (success)
                {
                    string resultPath = string.Format(@"{0}\{1}.{2}", txtDestination.Text, fileName, engine.ResultFileExtension);
                    string resultText = engine.Result;
                    File.WriteAllText(resultPath, resultText);
                }

                errorReason = engine.GetErrors();
                return(success);
            }
            catch (Exception ex)
            {
                errorReason = string.Format("Cannot convert due to internal error.\n\nDetails: " + ex.Message);
                return(false);
            }
        }
Beispiel #3
0
 private void btnLoad_Click(object sender, EventArgs e)
 {
     try
     {
         openFileSource.Filter = "Basic Files (*.bas)|*.bas|Class Files (*.cls)|*.cls|Form Files (*.frm)|*.frm|All files (*.*)|*.*";
         DialogResult result = openFileSource.ShowDialog();
         if (result == DialogResult.OK)
         {
             string source = File.ReadAllText(openFileSource.FileName, Encoding.Default);
             SourceEditor.Text = ConverterEngine.FilterSource(source);
         }
         SourceEditor.Focus();
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.ToString());
         MessageBox.Show("It's not possible to open the dialog. \n\nDetails: " + ex.Message, "VB Converter", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #4
0
        private void btnConvert_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(SourceEditor.Text))
                {
                    MessageBox.Show("There's no source code to convert !", "VB Converter", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    SourceEditor.Focus();
                }
                else
                {
                    this.Cursor = Cursors.WaitCursor;

                    string          source = SourceEditor.Text;
                    ConverterEngine engine = new ConverterEngine(LanguageVersion.VB6, source);
                    if (cboLanguage.Text == "VB .NET")
                    {
                        engine.ResultType = DestinationLanguage.VisualBasic;
                    }
                    bool   success = engine.Convert();
                    string result  = success ? engine.Result : engine.GetErrors();
                    DestinationEditor.Text = result;
                    DestinationEditor.Focus();

                    if (engine.Errors.Count > 0)
                    {
                        MessageBox.Show("It's not possible to convert the the source code due to compile errors!\n\nCheck the sintax.", "VB Converter", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.ToString());
                MessageBox.Show("It's not possible to convert the source code. \n\nDetails: " + ex.Message, "VB Converter", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
Beispiel #5
0
        public void Execute_MiddleColumnIsTextualDate_MiddleColumnIsDate()
        {
            var args     = new ObjectsResultSetResolverArgs(new[] { new[] { "Alpha", "06/01/2018", "true" }, new[] { "Beta", "17/12/2015", "false" }, new[] { "Gamma", "Before 2014", "false" } });
            var resolver = new ObjectsResultSetResolver(args);
            var rs       = resolver.Execute();

            var factory   = new ConverterFactory();
            var converter = factory.Instantiate("text", "date", new DateTime(2013, 1, 1), "fr-fr");

            Assert.That(converter, Is.Not.Null);
            Assert.That(converter, Is.TypeOf <TextToDateConverter>());

            var engine = new ConverterEngine("#1", converter);

            engine.Execute(rs);

            Assert.That(rs.Columns[1].DataType, Is.EqualTo(typeof(DateTime)));
            Assert.That(rs.Columns.Count, Is.EqualTo(3));
            Assert.That(rs.Rows[0][1], Is.EqualTo(new DateTime(2018, 1, 6)));
            Assert.That(rs.Rows[1][1], Is.EqualTo(new DateTime(2015, 12, 17)));
            Assert.That(rs.Rows[2][1], Is.EqualTo(new DateTime(2013, 1, 1)));
        }
Beispiel #6
0
        public void Execute_MiddleColumnIsText_MiddleColumnIsNumeric()
        {
            var args     = new ObjectsResultSetResolverArgs(new[] { new[] { "Alpha", "100,12", "true" }, new[] { "Beta", "100", "false" }, new[] { "Gamma", "N/A", "false" } });
            var resolver = new ObjectsResultSetResolver(args);
            var rs       = resolver.Execute();

            var factory   = new ConverterFactory();
            var converter = factory.Instantiate("text", "numeric", null, "fr-fr");

            Assert.That(converter, Is.Not.Null);
            Assert.That(converter, Is.TypeOf <TextToNumericConverter>());

            var engine = new ConverterEngine("#1", converter);

            engine.Execute(rs);

            Assert.That(rs.Columns[1].DataType, Is.EqualTo(typeof(decimal)));
            Assert.That(rs.Columns.Count, Is.EqualTo(3));
            Assert.That(rs.Rows[0][1], Is.EqualTo(100.12));
            Assert.That(rs.Rows[1][1], Is.EqualTo(100));
            Assert.That(rs.Rows[2][1], Is.EqualTo(DBNull.Value));
        }
Beispiel #7
0
        public IEnumerable <Alter> InstantiateAlterations(ResultSetSystemXml resultSetXml)
        {
            if (resultSetXml.Alteration == null)
            {
                yield break;
            }

            if (resultSetXml.Alteration.Filters != null)
            {
                foreach (var filterXml in resultSetXml.Alteration.Filters)
                {
                    var expressions = new List <IColumnExpression>();
                    if (filterXml.Expression != null)
                    {
                        expressions.Add(filterXml.Expression);
                    }

                    var factory = new PredicateFilterFactory();
                    if (filterXml.Predication != null)
                    {
                        yield return(factory.Instantiate
                                     (
                                         filterXml.Aliases
                                         , expressions
                                         , filterXml.Predication
                                     ).Apply);
                    }
                    if (filterXml.Combination != null)
                    {
                        yield return(factory.Instantiate
                                     (
                                         filterXml.Aliases
                                         , expressions
                                         , filterXml.Combination.Operator
                                         , filterXml.Combination.Predicates
                                     ).Apply);
                    }
                }
            }

            if (resultSetXml.Alteration.Conversions != null)
            {
                foreach (var conversionXml in resultSetXml.Alteration.Conversions)
                {
                    var factory   = new ConverterFactory();
                    var converter = factory.Instantiate(conversionXml.Converter.From, conversionXml.Converter.To, conversionXml.Converter.DefaultValue, conversionXml.Converter.Culture);
                    var engine    = new ConverterEngine(conversionXml.Column, converter);
                    yield return(engine.Execute);
                }
            }

            if (resultSetXml.Alteration.Transformations != null)
            {
                var provider = new TransformationProvider();
                foreach (var transformationXml in resultSetXml.Alteration.Transformations)
                {
                    provider.Add(transformationXml.ColumnIndex, transformationXml);
                }
                yield return(provider.Transform);
            }
        }