示例#1
0
        private static Chronozoom.Models.Rest.Timeline ConvertToRest(Chronozoom.Models.Timeline t1, Chronozoom.Models.Timeline p1)
        {
            var t2 = new Chronozoom.Models.Rest.Timeline();
            t2.id = t1.ID;
            t2.parent = (p1 == null) ? null : p1.ID;
            t2.start = Utility.ParseDateTime(t1.FromTimeUnit, t1.FromDay, t1.FromMonth, t1.FromYear);
            t2.end = Utility.ParseDateTime(t1.ToTimeUnit, t1.ToDay, t1.ToMonth, t1.ToYear);
            t2.title = t1.Title;
            // extra timeline properties for backward compatibility
            t2.UniqueID = t1.UniqueID;
            t2.Regime = t1.Regime;
            t2.Height = t1.Height;

            foreach (var e1 in t1.Exhibits)
            {
                var e2 = new Chronozoom.Models.Rest.Exhibit();
                e2.id = e1.ID;
                e2.parent = t1.ID;
                e2.time = Utility.ParseDateTime(e1.TimeUnit, e1.Day, e1.Month, e1.Year);
                e2.title = e1.Title;
                e2.description = string.Empty;
                // extra exhibit properties for backward compatibility
                e2.UniqueID = e1.UniqueID;

                foreach (var c1 in e1.ContentItems)
                {
                    var c2 = new Chronozoom.Models.Rest.ContentItem();
                    c2.id = c1.ID;
                    c2.parent = e1.ID;
                    c2.title = c1.Title;
                    c2.description = c1.Caption;
                    c2.uri = c1.Uri;
                    c2.mediaType = c1.MediaType;
                    // extra ContentItem properties for backward compatibility
                    c2.UniqueID = c1.UniqueID;
                    c2.Order = c1.Order;
                    e2.contentItems.Add(c2);
                }

                t2.exhibits.Add(e2);
            }

            foreach (var child in t1.ChildTimelines)
            {
                t2.timelines.Add(ConvertToRest(child, t1));
            }

            return t2;
        }
示例#2
0
 private void FillArtifact(Chronozoom.Entities.ContentItem contentItem)
 {
     Logger.Log("<-");
     SetTitle(contentItem.Title);
     SetDescription(contentItem.Caption);
     SetUrl(contentItem.Uri);
     SelectMediaType(contentItem.MediaType);
     SetAttribution(contentItem.Attribution);
     SetMediaSourse(contentItem.MediaSource);
     Logger.Log("->");
 }
示例#3
0
 private void LoadBookmark(Chronozoom.Entities.Tour tour)
 {
     var bookmarks = DataEnvironmentAccess.AnInstance.GetITourBookmarkView(tour.ID);
     var bmarks = new List<Chronozoom.Entities.BookMark>();
     foreach (var bookmark in bookmarks)
     {
         Chronozoom.Entities.BookMark b = new Chronozoom.Entities.BookMark(bookmark.ID,
             bookmark.Name,
             (!string.IsNullOrEmpty(bookmark.URL) && bookmark.URL.IndexOf('#') >0)  ? bookmark.URL.Substring(bookmark.URL.IndexOf('#')+1): string.Empty,
             bookmark.LapseTime,
             bookmark.Description
             );
         bmarks.Add(b);
     }
     tour.bookmarks = bmarks;
 }