public static EntitySearchObject GetSearchEntity(string EntityType, string UniqueKeyQuery) { EntitySearchObject search = new EntitySearchObject(); var typedObject = EntityFactory.GetEmptyTypedObect(EntityType); search.TypedObject = typedObject; if (UniqueKeyQuery != null) { string[] uniqueKeys = UniqueKeyQuery.Split(','); Dictionary <string, string> uqs = new Dictionary <string, string>(); List <string> propertiesToUseInFilter = new List <string>(); foreach (var uqpair in uniqueKeys) { var uq = uqpair.Split('='); uqs.Add(uq[0], uq[1]); } var properties = typedObject.GetType().GetProperties(); foreach (var p in properties) { if (uqs.ContainsKey(p.Name)) { p.SetValue(typedObject, uqs[p.Name]); propertiesToUseInFilter.Add(p.Name); } } search.PropertiesToSearch = propertiesToUseInFilter; } else { search.PropertiesToSearch = new List <string>(); } return(search); }
public List <object> GetEntities(string EntityType, string Query) { EntitySearchObject search = null; try { search = EntityFactory.GetSearchEntity(EntityType, Query); if (_barDatabaseAccess.TableExists(EntityType) == false) { _barDatabaseAccess.CreateEntityStorageMechanism(search.TypedObject); } DataTable results = (DataTable)_barDatabaseAccess.GetEntities(search.TypedObject, search.PropertiesToSearch); List <object> outputObject = results.DataSetToBarBusinessObjectList(search.TypedObject.GetType()); return(outputObject); } catch (Exception ex) { throw new RecordRetrieveException($"Retrieve of Entity Type Failed: Type {EntityType} : Object : " + ObjectToJson(search.TypedObject), ex); } }