Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
        }