コード例 #1
0
ファイル: SlideWebService.cs プロジェクト: zhujingcheng/CP3
            public SheetsCollectionHelper(SlideWebService service, string property, SheetMessage.SheetCollection selector)
                : base(service.m_Sender, service.m_Slide, property)
            {
                this.m_Service  = service;
                this.m_Selector = selector;

                base.Initialize();
            }
コード例 #2
0
        protected void UpdateAllSlidesAndContent()
        {
            int deckIndex = GetDeckIndex();

            using (Synchronizer.Lock(this.m_Deck.SyncRoot))
            {
                using (Synchronizer.Lock(this.m_Deck.TableOfContents.SyncRoot)) {
                    foreach (TableOfContentsModel.Entry e in this.m_Deck.TableOfContents.Entries)
                    {
                        // Get the index of this entry
                        int index = this.m_Deck.TableOfContents.Entries.IndexOf(e);
                        using (Synchronizer.Lock(e.SyncRoot))
                        {
                            using (Synchronizer.Lock(e.Slide.SyncRoot)) {
                                if (!this.m_SlideWebServices.ContainsKey(e.Slide.Id))
                                {
                                    SlideWebService service = new SlideWebService(this.m_Sender, this.m_Presentation, this.m_Deck, e.Slide);
                                    this.m_SlideWebServices.Add(e.Slide.Id, service);
                                }

                                // Check if the slide exists yet
                                lock (WebService.Instance.GlobalModel) {
                                    SimpleWebSlide s = GetExistingWebSlide((SimpleWebDeck)WebService.Instance.GlobalModel.Decks[deckIndex], e.Slide.Id);
                                    if (s == null)
                                    {
                                        // Add the new slide
                                        s       = new SimpleWebSlide();
                                        s.Id    = e.Slide.Id;
                                        s.Index = index;
                                        s.Name  = e.Slide.Title;
                                        ((SimpleWebDeck)WebService.Instance.GlobalModel.Decks[deckIndex]).Slides.Add(s);
                                    }
                                    else
                                    {
                                        // Update the slide values
                                        s.Index = index;
                                        s.Name  = e.Slide.Title;
                                    }
                                }
                                WebService.Instance.UpdateModel();
                            }
                        }
                    }
                }
            }
        }
コード例 #3
0
            public SheetsCollectionHelper(SlideWebService service, string property, SheetMessage.SheetCollection selector)
                : base(service.m_Sender, service.m_Slide, property)
            {
                this.m_Service = service;
                this.m_Selector = selector;

                base.Initialize();
            }
コード例 #4
0
        protected void UpdateAllSlidesAndContent()
        {
            int deckIndex = GetDeckIndex();

            using (Synchronizer.Lock(this.m_Deck.SyncRoot))
            {
                using( Synchronizer.Lock( this.m_Deck.TableOfContents.SyncRoot ) ) {
                    foreach (TableOfContentsModel.Entry e in this.m_Deck.TableOfContents.Entries)
                    {
                        // Get the index of this entry
                        int index = this.m_Deck.TableOfContents.Entries.IndexOf( e );
                        using (Synchronizer.Lock(e.SyncRoot))
                        {
                            using( Synchronizer.Lock( e.Slide.SyncRoot ) ) {
                                if (!this.m_SlideWebServices.ContainsKey(e.Slide.Id))
                                {
                                    SlideWebService service = new SlideWebService(this.m_Sender, this.m_Presentation, this.m_Deck, e.Slide);
                                    this.m_SlideWebServices.Add(e.Slide.Id, service);
                                }

                                // Check if the slide exists yet
                                lock (WebService.Instance.GlobalModel) {
                                    SimpleWebSlide s = GetExistingWebSlide((SimpleWebDeck)WebService.Instance.GlobalModel.Decks[deckIndex], e.Slide.Id);
                                    if (s == null) {
                                        // Add the new slide
                                        s = new SimpleWebSlide();
                                        s.Id = e.Slide.Id;
                                        s.Index = index;
                                        s.Name = e.Slide.Title;
                                        ((SimpleWebDeck)WebService.Instance.GlobalModel.Decks[deckIndex]).Slides.Add(s);
                                    } else {
                                        // Update the slide values
                                        s.Index = index;
                                        s.Name = e.Slide.Title;
                                    }
                                }
                                WebService.Instance.UpdateModel();
                            }
                        }
                    }
                }
            }
        }