예제 #1
0
        // GET api/nextsession
        public Session Get()
        {
            var retryStrategy = new Incremental(5, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2));
            var retryPolicy   = new RetryPolicy <SqlAzureTransientErrorDetectionStrategy>(retryStrategy);

            Session nextSession = new Session();

            using (VidPackEntities db = new VidPackEntities())
            {
                retryPolicy.ExecuteAction(() =>
                {
                    db.Database.Connection.Open();
                });

                ExistingSession dbSession = retryPolicy.ExecuteAction <ExistingSession>(() =>
                                                                                        db.ExistingSession.Where(item => item.IsNextSession == 1).FirstOrDefault()
                                                                                        );

                if (dbSession != null)
                {
                    nextSession = new VidPackModel.Session()
                    {
                        SessionDate         = dbSession.SessionDate.ToString(),
                        SessionDescription  = dbSession.SessionDescription,
                        SessionSubTitle     = dbSession.SessionSubTitle,
                        SessionThumbnailUrl = String.Format("{0}{1}", ThumbnailStorageUrl, dbSession.SessionThumbnailUri),
                        SessionTitle        = dbSession.SessionSubTitle,
                        SessionVideoUrl     = dbSession.SessionVideoUri == null ? "" : dbSession.SessionVideoUri,
                        Speaker             = dbSession.Speaker
                    }
                }
                ;
            }
            return(nextSession);
        }
        public async Task<VidPackModel.Session> LoadNextSession()
        {
            Session nextSession = new Session();

            try
            {
                nextSession = (await _mobileService.GetTable<ExistingSession>().ReadAsync())
                         .Where(item => item.IsActualSession == 1)
                         .Select(item => new Session
                         {
                             SessionDate = item.SessionDate.ToString(),
                             SessionDescription = item.SessionDescription,
                             SessionSubTitle = item.SessionSubTitle,
                             SessionThumbnailDisplayUrl = item.SessionThumbnailUri,
                             SessionThumbnailUrl = item.SessionThumbnailUri,
                             SessionTitle = item.SessionTitle,
                             SessionVideoUrl = item.SessionVideoUri,
                         }).FirstOrDefault();
            }
            catch (Exception exception)
            {
                ErrorHandler.AddError(exception);
            }
            return nextSession; 
        }
        // GET api/nextsession
        public Session Get()
        {
            var retryStrategy = new Incremental(5, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(2));
            var retryPolicy = new RetryPolicy<SqlAzureTransientErrorDetectionStrategy>(retryStrategy);
            
            Session nextSession = new Session();
            using (VidPackEntities db = new VidPackEntities())
            {
                retryPolicy.ExecuteAction(() =>
                {
                    db.Database.Connection.Open();
                });

                ExistingSession dbSession = retryPolicy.ExecuteAction<ExistingSession>(() =>
                    db.ExistingSession.Where(item => item.IsNextSession == 1).FirstOrDefault()
                );

                if (dbSession != null)
                    nextSession = new VidPackModel.Session()
                    {
                        SessionDate = dbSession.SessionDate.ToString(),
                        SessionDescription = dbSession.SessionDescription,
                        SessionSubTitle = dbSession.SessionSubTitle,
                        SessionThumbnailUrl = String.Format("{0}{1}", ThumbnailStorageUrl, dbSession.SessionThumbnailUri),
                        SessionTitle = dbSession.SessionSubTitle,
                        SessionVideoUrl = dbSession.SessionVideoUri == null ? "" : dbSession.SessionVideoUri,
                        Speaker = dbSession.Speaker
                    };
            }
            return nextSession; 
        }
예제 #4
0
        //Called from Design Mode - Populate Some Demo Data
        public HubViewModel()
        {
            Sessions = new ObservableCollection<Session>();
            DownloadItems = new ObservableCollection<DownloadItemInfo>(); 
            
            Sessions.Add(new Session() { SessionTitle="From Zero To Azure Hero", SessionSubTitle="SubTitle", SessionDate="2013-06-28", Speaker="Robert Eichenseer" });
            Sessions.Add(new Session() { SessionTitle = "Win8 jetzt auch mit speichern", SessionSubTitle = "SubTitle", SessionDate = "2013-06-28", Speaker = "Robert Eichenseer" });
            Sessions.Add(new Session() { SessionTitle = "Windows Azure ohne Windows", SessionSubTitle = "SubTitle", SessionDate = "2013-06-28", Speaker = "Robert Eichenseer" });

            NextSession = new Session() { SessionTitle = "The big next Session", SessionSubTitle = "Subtitle of the next session", SessionDate ="2013-10-28", Speaker = "Robert Eichenseer", SessionDescription = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." };
            ActualSession = new Session() { SessionTitle = "TFS - Alles Einstellungssache", SessionSubTitle = "Anpassungen am Team Foundation Server für agile Teams", SessionDate = "2013-06-28", Speaker = "Karsten Kempe", SessionDescription = "Agilität gewinnt in der Software-Entwicklung immer mehr an Bedeutung. Unterstützung finden viele Unternehmen durch den Team Foundation Server. Dieser liefert einige Prozess-Templates mit, die eine stabile Basis für jedes agile Entwicklungsteam bilden. Aber manchmal reichen die Möglichkeiten dieser Standard-Templates nicht aus, um auch speziellere Anforderungen der Entwicklerteams zu erfüllen. In diesem Vortrag werfen Sie einen Blick auf die inneren Werte eines Prozess Templates. Sie erfahren Dos and Don'ts bei deren Erweiterung, passen ein Prozess-Template nach Ihren Wünschen an und konfigurieren den Web Access des Team Foundation Servers", SessionVideoUrl= "https://mstechdemo.blob.core.windows.net/asset-9544b543-72eb-41f4-acb9-2d0ea700e526/Karsten_UserGroup_ALM.mp4?sv=2012-02-12&st=2013-06-04T06%3A15%3A57Z&se=2015-06-04T06%3A15%3A57Z&sr=c&si=f81a4023-c0a7-4117-a37b-36f0afe3a78f&sig=IAhoSeyQCbyf0Ff0jXPCHs98dWT69Hvl4AvI6StS7Zw%3D" };

            for (int i = 0; i < 20; i++)
            {
                DownloadItems.Add(new DownloadItemInfo() { Caption = String.Format("Download Item {0}",i.ToString()), Url = "http://www.download.com", Description = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." });
            }
        }
        //Constructor without BL used during Designtime
        public SessionDetailViewModel ()
	    {
            SelectedSession = new Session(){SessionTitle = "TFS - Alles Einstellungssache", SessionSubTitle = "Anpassungen am Team Foundation Server für agile Teams", SessionDate = "2013-06-28", Speaker = "Karsten Kempe", SessionDescription = "Agilität gewinnt in der Software-Entwicklung immer mehr an Bedeutung. Unterstützung finden viele Unternehmen durch den Team Foundation Server. Dieser liefert einige Prozess-Templates mit, die eine stabile Basis für jedes agile Entwicklungsteam bilden. Aber manchmal reichen die Möglichkeiten dieser Standard-Templates nicht aus, um auch speziellere Anforderungen der Entwicklerteams zu erfüllen. In diesem Vortrag werfen Sie einen Blick auf die inneren Werte eines Prozess Templates. Sie erfahren Dos and Don'ts bei deren Erweiterung, passen ein Prozess-Template nach Ihren Wünschen an und konfigurieren den Web Access des Team Foundation Servers", SessionVideoUrl= "https://mstechdemo.blob.core.windows.net/asset-9544b543-72eb-41f4-acb9-2d0ea700e526/Karsten_UserGroup_ALM.mp4?sv=2012-02-12&st=2013-06-04T06%3A15%3A57Z&se=2015-06-04T06%3A15%3A57Z&sr=c&si=f81a4023-c0a7-4117-a37b-36f0afe3a78f&sig=IAhoSeyQCbyf0Ff0jXPCHs98dWT69Hvl4AvI6StS7Zw%3D"}; 
	    }