public List <TableDetailsServiceModel> GetTablesDetails(IdNameServiceModel tableFilters)
 {
     try
     {
         if (string.IsNullOrWhiteSpace(tableFilters.Name))
         {
             //return error;
         }
         var tableDetails = GetTablesFieldsDetails(tableFilters.Id, tableFilters.Name);
         tableDetails.ForEach(v =>
         {
             var refTableColumn = new List <string>();
             if (!string.IsNullOrWhiteSpace(v.RelationShipTableName) && !string.IsNullOrEmpty(v.RelationShipTableName))
             {
                 refTableColumn = GetPrimaryKeyTableColumns(new IdNameServiceModel()
                 {
                     Id = tableFilters.Id, Name = v.RelationShipTableName
                 });
                 v.ReferenceTableColumns = refTableColumn;
             }
         });
         return(tableDetails);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
        public List <string> GetPrimaryKeyTableColumns(IdNameServiceModel columnFilter)
        {
            try
            {
                if (columnFilter == null)
                {
                    //return exception
                }
                if (columnFilter.Id == default(int))
                {
                    //return exception
                }
                DatabaseConnection dataBaseDetails;
                List <string>      columnName = new List <string>();
                List <TableDetailsServiceModel> tableDetails = new List <TableDetailsServiceModel>();
                using (var dataBaseConnectionRepo = new RepositoryPattern <DatabaseConnection>())
                {
                    dataBaseDetails = dataBaseConnectionRepo.SelectByID(columnFilter.Id);
                }
                if (dataBaseDetails == null)
                {
                    //return null;
                }
                var connectionString = "server= " + dataBaseDetails.ServerInstanceName + ";Initial Catalog=" + dataBaseDetails.DatabaseName + " ;uid=" + dataBaseDetails.UserName + ";pwd=" + dataBaseDetails.Password + ";";
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    string query = string.Empty;
                    query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + columnFilter.Name + "' ORDER BY ORDINAL_POSITION ";
                    using (SqlCommand cmd = new SqlCommand(query, conn))
                    {
                        using (IDataReader dr = cmd.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                columnName.Add(dr[0].ToString());
                            }
                        }
                    }
                    conn.Close();
                }

                return(columnName);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
 public HttpResponseMessage GetPrimaryKeyTableColumnsName(IdNameServiceModel columnFilter)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _tableConfigurationService.GetPrimaryKeyTableColumns(columnFilter)));
 }
 public HttpResponseMessage GetDetailstableAndFieldsById(IdNameServiceModel ids)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _tableConfigurationService.GetDetailstableAndFieldsById(ids.Id)));
 }
 public HttpResponseMessage GetTablesDetails(IdNameServiceModel tableFilter)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _tableConfigurationService.GetTablesDetails(tableFilter)));
 }