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); } } } }
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; }
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); } }