Example #1
0
        public async Task LoadExhibitsAsync()
        {
            _cancellationTokenSource = new CancellationTokenSource();
            var stand = await DependencyService.Get <ContentLoaderService>().LoadStandAsync(_hallId, _standId, _cancellationTokenSource.Token);

            Title = $"{stand.Title} - {AppResources.StandPage_Title}";
            Exhibits.Clear();
            foreach (var exhibit in stand.Exhibits)
            {
                if (string.IsNullOrEmpty(exhibit.Title))
                {
                    continue;
                }
                Exhibits.Add(exhibit);
            }
            if (Exhibits.Count == 0)
            {
                await Application.Current.MainPage.DisplayAlert(AppResources.MessageBox_TitleAlert, AppResources.ErrorMessage_InProgress, AppResources.MessageBox_ButtonOk);

                await Navigation.PopAsync();
            }
            else
            {
                SetHeight(Exhibits.Count);
                ContentVisibility = true;
            }
        }
Example #2
0
 public Wing(string name, params Exhibit[] exhibits)
 {
     Name = name;
     foreach (Exhibit exhibit in exhibits)
     {
         Exhibits.Add(exhibit);
     }
 }
Example #3
0
    void Start()
    {
        sprite = player.transform.GetComponent <Rigidbody2D> ();

        exhibits         = GameObject.Find("GameManager").GetComponent <Exhibits>();
        minigame_manager = GameObject.Find("MiniGameManager").GetComponent <MiniGameManager> ();

        in_mini_game = false;

        StartCoroutine(StartMusic());
    }
Example #4
0
 public Route(RouteArgs args)
 {
     Title       = args.Title;
     Description = args.Description;
     Duration    = args.Duration;
     Distance    = args.Distance;
     Image.Id    = args.Image;
     Audio.Id    = args.Audio;
     Exhibits.Add(args.Exhibits?.Select(id => (BsonValue)id));
     Status = args.Status;
     Tags.Add(args.Tags?.Select(id => (BsonValue)id));
 }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Exhibits = await _context.Exhibits.FirstOrDefaultAsync(m => m.EID == id);

            if (Exhibits == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Example #6
0
        // Deletes every content item and reference from exhibit with given guid.
        public void DeleteExhibit(Guid id)
        {
            var exhibitsIDs = GetChildContentItemsIds(id); // list of ids of content items

            // delete content items
            while (exhibitsIDs.Count != 0)
            {
                var e = ContentItems.Find(exhibitsIDs.First());
                ContentItems.Remove(e);
                exhibitsIDs.RemoveAt(0);
            }

            Exhibit deleteExhibit = Exhibits.Find(id);

            Exhibits.Remove(deleteExhibit);
        }
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            Exhibits = await _context.Exhibits.FindAsync(id);

            if (Exhibits != null)
            {
                _context.Exhibits.Remove(Exhibits);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Example #8
0
        public IEnumerable <EntityId> GetReferences()
        {
            if (Image != null)
            {
                yield return(ResourceType.Media, Image.Value);
            }

            if (Audio != null)
            {
                yield return(ResourceType.Media, Audio.Value);
            }

            foreach (var exhibitId in Exhibits?.Distinct() ?? Enumerable.Empty <int>())
            {
                yield return(ResourceType.Exhibit, exhibitId);
            }

            foreach (var tagId in Tags?.Distinct() ?? Enumerable.Empty <int>())
            {
                yield return(ResourceType.Tag, tagId);
            }
        }
Example #9
0
 // Use this for initialization
 void Start()
 {
     exhibits = GameObject.Find("GameManager").GetComponent <Exhibits>();
     UpdateItemList();
 }
Example #10
0
        /// <summary>Gets owner of the triplet</summary>
        /// <param name="name">Name of the triplet. Triplets referring to timelines, exhibits, artifacts and bNodes are supported.
        /// In all other cases method returns null.</param>
        /// <param name="bNodes">List of previously examined bNodes to avoid endless recursion</param>
        /// <returns>String representation of owning user ID</returns>
        public string GetSubjectOwner(TripleName name, List <string> bNodes = null)
        {
            name = EnsurePrefix(name);
            switch (name.Prefix)
            {
            case TripleName.UserPrefix:
                return(name.Name);

            case TripleName.TimelinePrefix:
                var timelineId = Guid.Parse(name.Name);
                var timeline   = Timelines.Where(t => t.Id == timelineId).FirstOrDefault();
                if (timeline == null)
                {
                    return(null);
                }
                Entry(timeline).Reference(t => t.Collection).Load();
                return(GetCollectionOwner(timeline.Collection));

            case TripleName.ExhibitPrefix:
                var exhibitId = Guid.Parse(name.Name);
                var exhibit   = Exhibits.Where(e => e.Id == exhibitId).FirstOrDefault();
                if (exhibit == null)
                {
                    return(null);
                }
                Entry(exhibit).Reference(e => e.Collection).Load();
                return(GetCollectionOwner(exhibit.Collection));

            case TripleName.ArtifactPrefix:
                var artifactId = Guid.Parse(name.Name);
                var artifact   = ContentItems.Where(c => c.Id == artifactId).FirstOrDefault();
                if (artifact == null)
                {
                    return(null);
                }
                Entry(artifact).Reference(a => a.Collection).Load();
                return(GetCollectionOwner(artifact.Collection));

            case TripleName.TourPrefix:
                var tourId = Guid.Parse(name.Name);
                var tour   = Tours.FirstOrDefault(t => t.Id == tourId);
                if (tour == null)
                {
                    return(null);
                }
                Entry(tour).Reference(t => t.Collection).Load();
                return(GetCollectionOwner(tour.Collection));

            case "_":
                var subject = name.ToString();
                // Guard against infinite loop
                if (bNodes != null && bNodes.Contains(subject))
                {
                    return(null);
                }
                // Find subject of any triple that uses passed subject as object
                var linkedSubject = Triples.
                                    Include(t => t.Objects).
                                    Where(t => t.Objects.Any(o => o.Object == subject)).
                                    Select(t => t.Subject).FirstOrDefault();
                if (String.IsNullOrEmpty(linkedSubject))
                {
                    return(null);
                }
                // Get owner of linked subject
                if (bNodes == null)
                {
                    bNodes = new List <string>(new string[] { subject });
                }
                else
                {
                    bNodes.Add(subject);
                }
                return(GetSubjectOwner(TripleName.Parse(linkedSubject), bNodes));

            default:
                return(null);
            }
        }