//Updates view object from model object
 protected void Update(ModelViewData modelViewData, PolyAssetData polyAssetData)
 {
     modelViewData.ID               = polyAssetData.polyAsset.name;
     modelViewData.name             = polyAssetData.polyAsset.displayName;
     modelViewData.authorName       = polyAssetData.polyAsset.authorName;
     modelViewData.thumbnailTexture = polyAssetData.polyAsset.thumbnailTexture;
 }
        public IActionResult Search(string searchText)
        {
            if (string.IsNullOrEmpty(searchText))
            {
                return(View());
            }

            var buildings = _buildingService.SearchBuilding(searchText);
            var locks     = new List <LockViewModel>();

            if (buildings.Count() == 0)
            {
                locks = _lockService.SearchLocksByText(searchText);
            }

            var groups = _groupService.SearchGroup(searchText);
            var media  = new List <MediaViewModel>();

            if (groups.Count() == 0)
            {
                media = _mediaService.SearchMediaByText(searchText);
            }

            var result = new ModelViewData
            {
                BuildingList = buildings,
                GroupList    = groups,
                LockList     = locks,
                MediaList    = media,
                SearchText   = searchText
            };

            return(View("Views/Home/Index.cshtml", result));
        }
        protected void OnPolyThumbnailsFetched(List <PolyAsset> assets)
        {
            if (assets == null)
            {
                return;
            }

            List <ModelViewData> modelViewDataList = new List <ModelViewData> ();

            for (int i = 0; i < assets.Count; i++)
            {
                PolyAssetData polyAssetData = new PolyAssetData(assets [i]);
                ModelViewData modelViewData = Convert(polyAssetData);
                modelViewDataList.Add(modelViewData);
            }
            modelBrowser.DisplayModels(modelViewDataList);
        }
        ////////////////////////////////////////
        //
        // Poly Model To View Conversion

        //Converts model object to view object
        protected ModelViewData Convert(PolyAssetData polyAssetData)
        {
            string id = GetModelViewDataID(polyAssetData);

            ModelViewData modelViewData = null;

            if (modelViewDataDictionary.ContainsKey(id))
            {
                modelViewData = modelViewDataDictionary [id];
            }
            else
            {
                modelViewData = new ModelViewData();
                modelViewDataDictionary.Add(id, modelViewData);
            }

            Update(modelViewData, polyAssetData);

            return(modelViewData);
        }
        protected void OnModelViewDataSelected(ModelViewData modelViewData)
        {
            PolyAsset polyAsset = polyDataProvider.GetPolyAssetWithName(modelViewData.ID);

            polyDataProvider.ImportAsset(polyAsset, OnPolyAssetImported);
        }