Ejemplo n.º 1
0
        public async Task ReadBusinessObject(BusinessBase obj)
        {
            var set = GetType()
                      .GetMethod("Set")
                      .MakeGenericMethod(obj.ModelType)
                      .Invoke(this, null);
            var keys = obj.Keys;
            var task = (Task)set
                       .GetType()
                       .GetMethod("FindAsync", new[] { typeof(object[]) })
                       .Invoke(set, new[] { keys });

            await task.ConfigureAwait(false);

            var found = task.GetType().GetProperty("Result").GetValue(task);

            if (found != null)
            {
                obj.FromModelObject(found);
            }
        }
Ejemplo n.º 2
0
        public async Task ReadBusinessCollection(BusinessCollectionBase col)
        {
            string sql   = col.SQLQuery;
            object param = col.SQLParameters;

            var result = await(Task <IEnumerable <object> >) GetType()
                         .GetMethod("QueryAsync")
                         .MakeGenericMethod(col.ActiveObject.ModelType)
                         .Invoke(this, new object[] { sql, param });

            col.Clear();

            foreach (var item in result)
            {
                BusinessBase obj = col.CreateNew();

                obj.FromModelObject(item);
                obj.IsModified = false;
                obj.IsNew      = false;

                col.Add(obj);
            }
        }