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)); }
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); } }
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); } }
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; } }
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))); }
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)); }
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); } }