Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }