public bool Process()
        {
            DatasetService datasetService = new DatasetService(ConnectionString);
            DataTable      dataTable      = datasetService.GetDataSetAndDSFieldDefinitionList();

            DataTable datasetItemsDT = new DataTable();
            bool      result         = false;

            var DatasetIDs = dataTable.AsEnumerable().Select(s => s.Field <int>("DatasetId")).Distinct().ToList();

            if (DatasetIDs.Any())
            {
                foreach (var dSId in DatasetIDs)
                {
                    try
                    {
                        var subDataTable = dataTable.AsEnumerable().Where(x => x.Field <int>("DatasetId") == dSId);
                        var datasetName  = subDataTable.Where(x => x.Field <int>("DatasetId") == dSId).Select(x => x["DSDescription"]).FirstOrDefault().ToString();

                        var datasetFieldDefinitions = subDataTable.AsEnumerable().Where(x => x.Field <int>("DatasetId") == dSId).Select(x => new { DFFieldName = x["DFFieldName"], DFDescription = x["DFDescription"] }).ToList();

                        var fieldNames       = datasetFieldDefinitions.Select(x => x.DFFieldName).ToList();
                        var descriptionNames = datasetFieldDefinitions.Select(x => x.DFDescription).ToList();
                        int count            = datasetFieldDefinitions.Count();

                        string dynamicQuery = string.Empty;
                        int    i            = 0;
                        while (count > i)
                        {
                            dynamicQuery += " DI." + fieldNames[i] + " as " + descriptionNames[i] + ",";
                            i++;
                        }
                        dynamicQuery = dynamicQuery.Substring(0, dynamicQuery.Length - 1);

                        datasetItemsDT = datasetService.GetDatasetItemByDatasetId(dynamicQuery, dSId);

                        result = datasetService.GenerateFile(datasetItemsDT, datasetName);

                        Console.WriteLine("Excel file created for Dataset = {0} with dataSetId = {1}", datasetName, dSId);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }
            return(result);
        }