public System.Collections.IList GetEntityData(IDynamicEditForm form, Type entity)
        {
            var db     = GetDbContext(form);
            var result = db.Get(entity).ToDynamicList <object>();

            return(result);
        }
        public System.Collections.IList GetEntityData(IDynamicEditForm form, Type entity)
        {
            using var db = GetDbContext(form);
            var data = db.FindSet(entity).ToDynamicList <object>();

            return(data);
        }
        private DbContext GetDbContext(IDynamicEditForm form)
        {
            var type    = form.GetDbContextType();
            var context = Activator.CreateInstance(type) as DbContext;

            return(context);
        }
        public object UpdateItem(IDynamicEditForm form, object item)
        {
            var db = GetDbContext(form);

            db.Update(item);
            return(item);
        }
 public void DeleteItem(IDynamicEditForm form, object item)
 {
     using (var db = GetDbContext(form))
     {
         db.Remove(item);
         db.SaveChanges();
     }
 }
示例#6
0
        public void SetParameters(IDynamicEditForm form, FormParameter[] formParameters, Func <Task> dataChanged)
        {
            FormParameters = formParameters;
            int id = (int)formParameters[0].Value;
            var serviceParameters = formParameters.Skip(1).Select(p => p.Value).ToArray();

            SetParameters(form, id, serviceParameters, dataChanged);
        }
        // CRUD
        public object GetItem(IDynamicEditForm form, int id)
        {
            // ToDo: check is form overrides GetItem operation
            Type entity = form.GetEntityType();
            var  db     = GetDbContext(form);
            var  item   = db.Find(entity, id);

            return(item);
        }
 public object UpdateItem(IDynamicEditForm form, object item)
 {
     using (var db = GetDbContext(form))
     {
         db.Update(item);
         db.SaveChanges();
         return(item);
     }
 }
示例#9
0
        public object UpdateItem(IDynamicEditForm form, object item)
        {
            var type = form.GetDbContextType();

            if (type.IsSubclassOf(typeof(DbContext)))
            {
                return(_entityProvider.UpdateItem(form, item));
            }

            return(_storeProvider.UpdateItem(form, item));
        }
示例#10
0
        public IEnumerable <DataField> GetFormFields(IDynamicEditForm form)
        {
            var type = form.GetDbContextType();

            if (type.IsSubclassOf(typeof(DbContext)))
            {
                return(_entityProvider.GetFormFields(form));
            }

            return(_storeProvider.GetFormFields(form));
        }
        public IEnumerable <DataField> GetFormFields(IDynamicEditForm form)
        {
            var fieldSet = form.GetFields();
            var db       = GetDbContext(form);
            var pk       = db.FindPrimaryKey(form.GetEntityType()).First();
            var pkField  = fieldSet.Single(f => f.BindingProperty == pk.Name);

            pkField.PrimaryKey = true;
            pkField.PrimaryKeyGeneratedType = PrimaryKeyGeneratedTypes.OnAdd;
            return(fieldSet);
        }
        private DataContextBase GetDbContext(IDynamicEditForm form)
        {
            if (_db != null)
            {
                return(_db);
            }

            var type = form.GetDbContextType();

            _db = Activator.CreateInstance(type) as DataContextBase;
            return(_db);
        }
示例#13
0
        public void DeleteItem(IDynamicEditForm form, object item)
        {
            var type = form.GetDbContextType();

            if (type.IsSubclassOf(typeof(DbContext)))
            {
                _entityProvider.DeleteItem(form, item);
                return;
            }

            _storeProvider.DeleteItem(form, item);
            return;
        }
 public void SetParameters(IDynamicEditForm form, int id, object[] serviceParameters, Func <Task> dataChanged)
 {
     _dataChanged       = dataChanged;
     _form              = form;
     _id                = id;
     _serviceParameters = serviceParameters;
     _dataProvider.SetParameters(_serviceParameters);
     NavigateFormatParameters = _id.GetFormatParameters(_serviceParameters);
     Fields            = GetFields();
     ModelItem         = GetItem();
     Buttons           = _form.GetButtons();
     ButtonNavigations = _form.GetButtonNavigations();
 }
        public IEnumerable <DataField> GetFormFields(IDynamicEditForm form)
        {
            var fieldSet = form.GetFields();

            using (var db = GetDbContext(form))
            {
                var pk      = db.FindSinglePrimaryKeyProperty(form.GetEntityType());
                var pkField = fieldSet.Single(f => f.BindingProperty == pk.Name);
                pkField.PrimaryKey = true;
                pkField.PrimaryKeyGeneratedType = (PrimaryKeyGeneratedTypes)pk.ValueGenerated;
            }

            return(fieldSet);
        }
        public object InsertItem(IDynamicEditForm form, object item)
        {
            var db = GetDbContext(form);

            db.Insert(item);

            // after save action
            var args = new DataOperationArgs {
                DataContext = db, OperationEvent = DataOperationEvents.AfterInsert, Parameters = _serviceParameters
            };

            form.AfterInsert(item, args);

            return(item);
        }
示例#17
0
        public IList GetEntityData(IDynamicEditForm form, Type entity)
        {
            if (entity.IsEnum)
            {
                var result = Enum.GetValues(entity);
                return(result);
            }

            var type = form.GetDbContextType();

            if (type.IsSubclassOf(typeof(DbContext)))
            {
                return(_entityProvider.GetEntityData(form, entity));
            }

            return(_storeProvider.GetEntityData(form, entity));
        }
        public void DeleteItem(IDynamicEditForm form, object item)
        {
            var db = GetDbContext(form);

            db.Delete(item);
        }