public void Sync ()
		{
			
			if (NetworkStatusCheck.IsReachable())
			{
				RemoteScheduledSessionsRepository remoteScheduleRepository = new RemoteScheduledSessionsRepository();
				LocalQueueRepository localQueueRepository = new LocalQueueRepository();
				LocalSessionsRepository localSessionsRepository = new LocalSessionsRepository();
				
				if (localQueueRepository.Count() > 0)
				{
					var allSessions = localSessionsRepository.Find();
					
					var queuedItems = localQueueRepository.Find();
					foreach (var queuedItem in queuedItems)
					{
						//var remoteSchedule = new Entity
						var sessionEntity = allSessions.Where(x => x.URI == queuedItem.URI);
						var schedule = new Schedule()
						{
							ConferenceName = queuedItem.ConferenceName,
							
						};
						remoteScheduleRepository.Save(schedule);
					}
				}
			}
			
		}
Пример #2
0
        void InsertSession()
        {
            if (!UnitOfWork.IsUnitOfWorkStarted ()) {
                using (var uow = UnitOfWork.Start()) {
                    var repo = new LocalSessionsRepository ();
                    var session = new SessionEntity()
                    {
                        title = "Test",
                    };
                    repo.Save(session);
                }
            }

            //sessions = repo.GetForSpeaker (speaker.SpeakerURI);
            //}
            //			using (var uow = UnitOfWork.Start())
            //			{
            //				var conference = new ConferenceEntity()
            //				{
            //					description = "description",
            //					//end = DateTime.Now,
            //					facebookUrl = "facebookUrl",
            //					name = "name",
            //					//Sessions = new List<SessionEntity>(),
            //				};
            //				uow.Session.SaveOrUpdate(conference);
            //			}
        }
		public IEnumerable<SessionEntity> GetSessions (bool isRefresh)
		{
			IEnumerable<SessionEntity> sessions = null;
			bool shouldCache = false;
			
			if (UnitOfWork.IsUnitOfWorkStarted ()) {
				var localRepository = new LocalSessionsRepository ();
				int sessionCount = localRepository.Count ();
			
				if (sessionCount == 0 || isRefresh) {

					if (NetworkStatusCheck.IsReachable ()) {
						var remoteRepository = new RemoteSessionsRepository ();
						IList<Session> sessionDtos = remoteRepository.GetSessions ();
						var cacheRepository = new SessionsCacheRepository ();
					cacheRepository.Cache (sessionDtos);
					} else {
						ModalDialog.Alert ("Network offline", "Cannot connect to the network");
					}
				}
			
				sessions = localRepository.Find ();				
			
			} else {
				IList<Session> sessionDtos = null;
				
				using (UnitOfWork.Start()) {
					var localRepository = new LocalSessionsRepository ();
					int sessionCount = localRepository.Count ();
			
					if (sessionCount == 0 || isRefresh) {
						if (NetworkStatusCheck.IsReachable ()) {
							var remoteRepository = new RemoteSessionsRepository ();
							sessionDtos = remoteRepository.GetSessions ();
							shouldCache = true;
						} else {
							ModalDialog.Alert ("Network offline", "Cannot connect to the network");
						}
					}
				}
				
				if (shouldCache) {
					var cacheRepository = new SessionsCacheRepository ();
					cacheRepository.Cache (sessionDtos);
				}
				
				using (UnitOfWork.Start()) {
					var localRepository = new LocalSessionsRepository ();
					sessions = localRepository.Find ();
				}
			}
			
			return sessions.OrderBy (x => x.Start).ToList ();
		}
		private List<SessionEntity> GetSessionsForSpeaker (SpeakerEntity speaker)
		{
			List<SessionEntity> sessions = null;
			
			if (UnitOfWork.IsUnitOfWorkStarted ()) {
				var repo = new LocalSessionsRepository ();
				sessions = repo.GetForSpeaker (speaker.SpeakerURI);
			} else {
				using (UnitOfWork.Start()) {
					var repo = new LocalSessionsRepository ();
					sessions = repo.GetForSpeaker (speaker.SpeakerURI);
				}
			}
			
			return sessions;
		}		
Пример #5
0
        void ListSessions(bool shouldCheckCount)
        {
            //			var db = new LocalDatabaseBootstrapper ();
            //			db.Initialize();

            IList<ConferenceEntity> conferences = null;

            if (!UnitOfWork.IsUnitOfWorkStarted ()) {
                using (var uow = UnitOfWork.Start()) {
                    var repo = new LocalSessionsRepository ();
                    var criteria = Criteria.For<SessionEntity> ();
                    var sessions = repo.Find (criteria);;
                }
            } else {
                var repo = new LocalSessionsRepository ();
                var criteria = Criteria.For<SessionEntity> ();
                var sessions = repo.Find (criteria);
            }

            Assert.IsNotNull (conferences);
            if (shouldCheckCount) {
                Assert.IsTrue (conferences.Count > 0);
            }
        }