public IEnumerable <QueryableTable> GetQueryableTables() { List <QueryableTable> returnObject = new List <QueryableTable>(); foreach (var table in _context.Model.GetEntityTypes()) { var currentTableName = table.Name.ToLower().Split('.').Last(); if (_queryableTables.Any(q => currentTableName == q)) { //we have a table not in our ignore list. var newTable = new QueryableTable(); newTable.TableName = currentTableName; newTable.Columns = new List <QueryableColumn>(); foreach (var column in table.GetProperties()) { var newColumn = new QueryableColumn() { ColumnName = column.Name, DataType = column.PropertyInfo.PropertyType.FullName }; newTable.Columns.Add(newColumn); } returnObject.Add(newTable); } } return(returnObject); }
public static void DeleteOldLogEntities() { // Get a reference to the table storage, example just uses the development storage dynamic storage = new QueryableStorage <DynEntity>("UseDevelopmentStorage=true"); // Get a reference to the table named "LogTable" QueryableTable <DynEntity> logTable = storage.LogTable; var query = logTable.Where("Timestamp > @0", DateTime.UtcNow.AddDays(-1)); // Delete all returned log entities foreach (var entity in query) { logTable.Delete(entity.PartitionKey, entity.RowKey); } }
private List <Object> getSelectedObjectList(IQueryable <Account> returnData, QueryableTable AccountFilter, QueryableTable FacilityFilter, QueryableTable PatientFilter, QueryableTable InsuranceFilter) { List <Object> returnDataList = new List <object>(); foreach (var item in returnData.Distinct()) { var newExportRow = new List <KeyValuePair <string, object> >(); if (AccountFilter != null) { foreach (var column in AccountFilter.Columns.Where(c => c.IncludeInQuery)) { //add a single column value to our export row. var exportValue = item.GetType().GetProperty(column.ColumnName).GetValue(item); newExportRow.Add(new KeyValuePair <string, object>(column.ColumnName, exportValue)); } } if (FacilityFilter != null) { foreach (var column in FacilityFilter.Columns.Where(c => c.IncludeInQuery)) { if (item.Facility != null) { //add a single column value to our export row. var exportValue = item.Facility.GetType().GetProperty(column.ColumnName).GetValue(item.Facility); newExportRow.Add(new KeyValuePair <string, object>(column.ColumnName, exportValue)); } else { //we don't have a facility for this account (bad data) but lets add a placeholder value anyways. otherwise our return dataset will be missing columns. newExportRow.Add(new KeyValuePair <string, object>(column.ColumnName, "")); } } } if (PatientFilter != null) { foreach (var column in PatientFilter.Columns.Where(c => c.IncludeInQuery)) { if (item.Patient != null) { //add a single column value to our export row. var exportValue = item.Patient.GetType().GetProperty(column.ColumnName).GetValue(item.Patient); newExportRow.Add(new KeyValuePair <string, object>(column.ColumnName, exportValue)); } else { //we don't have a Patient for this account (bad data) but lets add a placeholder value anyways. otherwise our return dataset will be missing columns. newExportRow.Add(new KeyValuePair <string, object>(column.ColumnName, "")); } } } if (InsuranceFilter != null && InsuranceFilter.Columns.Where(c => c.IncludeInQuery).Count() > 0) { var InsuranceRows = new List <Object>(); foreach (var InsuranceItem in item.AccountInsurance) { var tempRow = newExportRow; foreach (var column in InsuranceFilter.Columns.Where(c => c.IncludeInQuery)) { //add a single column value to our export row. var exportValue = InsuranceItem.Insurance.GetType().GetProperty(column.ColumnName).GetValue(InsuranceItem.Insurance); tempRow.Add(new KeyValuePair <string, object>(column.ColumnName, exportValue)); } InsuranceRows.Add(tempRow); newExportRow = tempRow; } returnDataList.AddRange(InsuranceRows); } else { returnDataList.Add(newExportRow); } } return(returnDataList); }