public ViewResult Index(InputViewModel inputViewModel)
        {
            var resultsViewModel = new ResultsViewModel();

            try
            {
                string prettySql;
                var tsqlScript = ConvertSqlStringToTSqlScript.Convert(inputViewModel.Sql, out prettySql);
                var fetchXml = ConvertTSqlScriptToFetchXml.Convert(tsqlScript);
                var validationMessage = ValidateFetchXml.Validate(fetchXml.ToString());

                resultsViewModel = new ResultsViewModel
                                       {
                                           Sql = prettySql,
                                           FetchXml = fetchXml.ToString(),
                                           ErrorMessage = null,
                                           ValidationMessage = validationMessage
                                       };
            }
            catch (Exception ex)
            {

                resultsViewModel = new ResultsViewModel
                                       {
                                           Sql = inputViewModel.Sql,
                                           ErrorMessage = ex.Message
                                       };
            }

            return View("Results", resultsViewModel);
        }
 public ViewResult Index()
 {
     var inputViewModel = new InputViewModel
                              {
                                  Sql = @"select contact.Name, contact.createddate AS testalias, contact.createdby, address.street, address.city, anothertable.test from contact inner join address on contact.contactid = address.contactid left join anothertable on address.addressid = anothertable.addressid where contact.createddate >= '1/1/2011' and address.city is not null and anotherTable.Territory in ('A', 'B', 'C') and contact.date between '1/1/2011' and '2/1/2011' order by contact.name desc"
                              };
     return View("Index", inputViewModel);
 }