private FusionContext CreateFusionContext(RequestFusionViewModel fusionViewModel) { var connection = dbContext.Connection.Where(con => con.Value.Equals(fusionViewModel.ConnectionString, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); var table = dbContext.Table.Where(t => t.Name.Equals(fusionViewModel.Table, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); var allFields = table?.Field.ToList(); var expectedFields = new List <Field>(); fusionViewModel.Fields.ForEach(f => { allFields.ForEach(field => { if (field.Name.Equals(f.Name, StringComparison.OrdinalIgnoreCase)) { expectedFields.Add(field); } }); }); return(new FusionContext() { Connection = connection, Table = table, Fields = expectedFields }); }
public async Task <dynamic> GetRecords(RequestFusionViewModel fusionViewModel) { var fusionContext = CreateFusionContext(fusionViewModel); FusionUtility fusion = new FusionUtility(fusionContext); var tree = fusion.BuildTree(fusionContext); return(null); }