//public string AutoSearchAction
        //{
        //    get { return ((GnosisGallerySearchItem)ControlImplementation).AutoSearchAction; }
        //}

        //public string SearchAction
        //{
        //    get { return ((GnosisGallerySearchItem)ControlImplementation).SearchAction; }
        //}

        public GnosisGallerySearchItemController(
            GnosisGallerySearchItem searchItem,
            // IGnosisGalleryItemImplementation searchItemImplementation,
            GnosisInstanceController instanceController,
            GnosisGalleryItemController parent,
            int _index)
            : base(searchItem, instanceController, parent)
        {
            index = _index;
        }
        public void LoadData(GnosisInstance instance, bool expanded)
        {
            //Get the data rows from the instance
            IEnumerable <XElement> dataRows = instanceController.GetDataRows(galleryDatasetItem.Dataset);

            //Find the attribute to use for the caption
            GnosisGallerySearchAttribute captionGalleryAttribute = galleryDatasetItem.GalleryAttributes.Where(a => a.GalleryRole.Equals("Caption")).First();
            string captionAttributeName = instanceController.GetTargetAttributeName(captionGalleryAttribute.Dataset, captionGalleryAttribute.DatasetItem);
            int    order = 1;
            int    index = 0;

            foreach (var row in dataRows)
            {
                GnosisGalleryItem galleryItem = GnosisControlCreator.CreateGnosisGalleryItem(order++, expanded);
                // IGnosisGalleryItemImplementation galleryItemImplementation = GlobalData.Singleton.ImplementationCreator.GetGnosisGalleryItemImplementation();
                GnosisGalleryItemController itemController = new GnosisGalleryItemController(galleryItem, instanceController, parent);
                itemController.Setup();

                galleryItem.Caption = row.Attribute(captionAttributeName).Value;

                foreach (GnosisGallerySearchItem searchItem in galleryDatasetItem.GallerySearchItems)
                {
                    GnosisGallerySearchItem searchItemClone = GnosisControlCreator.CreateGnosisGallerySearchItem(searchItem);
                    // IGnosisGalleryItemImplementation childImplementation = GlobalData.Singleton.ImplementationCreator.GetGnosisGalleryItemImplementation();
                    GnosisGallerySearchItemController childController = new GnosisGallerySearchItemController(searchItemClone, instanceController, itemController, index);
                    childController.Setup();

                    itemController.AddGalleryItemController(childController);
                    // galleryItem.GnosisAddChild(searchItemClone);
                    //galleryItemImplementation.AddGalleryItem(childImplementation);
                }

                foreach (GnosisGalleryDocumentItem docItem in galleryDatasetItem.GalleryDocumentItems)
                {
                    // IGnosisGalleryItemImplementation childImplementation = GlobalData.Singleton.ImplementationCreator.GetGnosisGalleryItemImplementation();
                    GnosisGalleryDocumentItem           docItemClone    = GnosisControlCreator.CreateGnosisGalleryDocumentItem(docItem);
                    GnosisGalleryDocumentItemController childController = new GnosisGalleryDocumentItemController(docItemClone, instanceController, itemController, index);
                    childController.Setup();

                    itemController.AddGalleryItemController(childController);
                    //  galleryItem.GnosisAddChild(docItemClone);
                }

                // itemController.LoadGalleryItems();

                index++;
                parent.AddGalleryItemController(itemController);
                //  ((GnosisGalleryItem)parent.ControlImplementation).GnosisAddChild(itemController.ControlImplementation);
                //   ((IGnosisGalleryImplementation)parent.ControlImplementation).AddGalleryItem(galleryItemImplementation);
            }

            // parent.LoadGalleryItems();
        }
示例#3
0
        public static GnosisGallerySearchItem CreateGnosisGallerySearchItem(GnosisGallerySearchItem searchItem)
        {
            GnosisGallerySearchItem galleryItem = new GnosisGallerySearchItem();

            galleryItem.ID               = GlobalData.Singleton.GetNewControlID();
            galleryItem.GnosisName       = "GallerySearchItem" + galleryItem.ID.ToString();
            galleryItem.Order            = searchItem.Order;
            galleryItem.ControlType      = ControlTypeMapping.GetControlTypeName(typeof(GnosisGallerySearchItem));
            galleryItem.Caption          = searchItem.Caption;
            galleryItem.GnosisExpanded   = searchItem.GnosisExpanded;
            galleryItem.AutoSearchAction = searchItem.AutoSearchAction;
            galleryItem.SearchAction     = searchItem.SearchAction;
            galleryItem.SearchSystemID   = searchItem.SearchSystemID;
            galleryItem.SearchEntityID   = searchItem.SearchEntityID;
            galleryItem.SearchParameters = searchItem.SearchParameters;

            return(galleryItem);
        }