Exemple #1
0
        protected static DataContext CreateUpdateContext(DomainModel.Spi.DomainModel model, DomainModel.Spi.DomainObject domainObject, object data)
        {
            var context = new DataContext();

            var dataContextItem = GetModelObjectPropValue(data, domainObject, DataAccessOpType.U, true);

            context.Add(domainObject.ID, new List <DataContextItem>()
            {
                dataContextItem
            });

            if (domainObject.ChildDomainObjects.Count > 0)
            {
                foreach (var childModelObject in domainObject.ChildDomainObjects)
                {
                    var objectList = ObjectPropertyValueUtils.GetCollectionPropValue(childModelObject.PropertyName, data);
                    var items      = new List <DataContextItem>(objectList.Count());
                    foreach (var obj in objectList)
                    {
                        items.Add(GetModelObjectPropValue(obj, childModelObject, DataAccessOpType.U, true));
                        LoopGetModelObjectPropValue(childModelObject, context, obj, DataAccessOpType.U, true);
                    }

                    context.Add(childModelObject.ID, items);
                }
            }

            return(context);
        }
Exemple #2
0
        private static void LoopGetModelObjectPropValue(DomainModel.Spi.DomainObject domainObject, DataContext context, object data, DataAccessOpType opType, bool isUseDbNull)
        {
            if (domainObject.ChildDomainObjects.Count > 0)
            {
                foreach (var childModelObject in domainObject.ChildDomainObjects)
                {
                    var objectList = ObjectPropertyValueUtils.GetCollectionPropValue(childModelObject.PropertyName, data);
                    var items      = new List <DataContextItem>(objectList.Count());
                    foreach (var obj in objectList)
                    {
                        items.Add(GetModelObjectPropValue(obj, childModelObject, opType, isUseDbNull));
                    }

                    context.Add(childModelObject.ID, items);
                }
            }
        }