Exemplo n.º 1
0
        public static ViewModelContainer Create(IModelChildContainer container, IModelSubject subject, ViewModelInstance parentInstance, ref int nextInstanceID)
        {
            ViewModelContainer viewContainer = new ViewModelContainer()
            {
                ContainerID = container.ContainerID, ParentContainerID = container.ParentContainerID, DisplayText = container.DisplayText, IsRepeating = container.IsRepeating
            };

            foreach (IModelInstance instance in container.Instances.Where(it => it.ParentInstanceID == parentInstance.InstanceID))
            {
                ViewModelInstance viewInstance = ViewModelInstance.Create(container, subject, instance, parentInstance, ref nextInstanceID);

                viewContainer.Instances.Add(viewInstance);
            }

            if (container.IsRepeating || !viewContainer.Instances.Any())
            {
                ViewModelInstance viewInstance = ViewModelInstance.Create(container, subject, null, parentInstance, ref nextInstanceID);

                viewContainer.Instances.Add(viewInstance);
            }

            return(viewContainer);
        }
Exemplo n.º 2
0
        public static ViewModelRootContainer Create(IModelRootContainer container, IModelSubject subject)
        {
            ViewModelRootContainer viewContainer = new ViewModelRootContainer()
            {
                ContainerID = container.ContainerID, DisplayText = container.DisplayText, IsRepeating = container.IsRepeating
            };
            int nextInstanceID = -1;

            foreach (IModelInstance instance in container.Instances)
            {
                ViewModelInstance viewInstance = ViewModelInstance.Create(container, subject, instance, null, ref nextInstanceID);

                viewContainer.Instances.Add(viewInstance);
            }

            if (container.IsRepeating || !viewContainer.Instances.Any())
            {
                ViewModelInstance viewInstance = ViewModelInstance.Create(container, subject, null, null, ref nextInstanceID);

                viewContainer.Instances.Add(viewInstance);
            }

            return(viewContainer);
        }