internal IEnumerable <RoutePointMediaObject> GetMediaObjectsByRouteId(string routeId) { var points = RealmInstance.All <RoutePoint>().Where(p => p.RouteId == routeId); var objects = RealmInstance.All <RoutePointMediaObject>().ToList().Where(m => (points.Any(p => p.RoutePointId == m.RoutePointId))); return(objects); }
internal int GetCountPublishedRoutesByCreator(string UserId) { List <ViewRoute> vroutes = new List <ViewRoute>(); var countRoutes = RealmInstance.All <Route>().Where(u => (u.CreatorId == UserId && u.IsPublished)).Count(); return(countRoutes); }
/*internal IEnumerable<RoutePoint> GetNotSynced() * { * return _realmInstance.All<RoutePoint>().Where(item => !item.ServerSynced); * }*/ internal IEnumerable <RoutePoint> GetPoints() { var deletedRoutes = RealmInstance.All <Route>().Where(r => r.IsDeleted).ToList().Select(d => d.RouteId); return(RealmInstance.All <RoutePoint>().ToList().Where(r => (!deletedRoutes.Any(d => d == r.RouteId)))); //return _realmInstance.All<RoutePoint>().Where(r=>(!deletedRoutes.Any(d=>d == r.RouteId))); }
public List <string> GetFullFilenames(string pathToImageDirectory) { List <string> listCachedImages = new List <string>(); var listDbModel = RealmInstance.All <LocalFile>().Where(l => l.SourcePath.Equals(pathToImageDirectory)).ToList(); return(listDbModel.Select(l => Path.Combine(pathToImageDirectory, l.SourceFileName)).ToList()); }
public DateTime GetMaxDate(string pathToImageDirectory) { var localFiles = RealmInstance.All <LocalFile>().Where(l => l.SourcePath.Equals(pathToImageDirectory)).OrderBy(l => l.FileNameDate); var maxItem = localFiles.LastOrDefault(); return(maxItem?.FileNameDate.DateTime ?? DateTime.Now); }
internal ViewPoi GetPoiByRoutePointId(string routePointId) { var poiDb = RealmInstance.All <Poi>().Where(p => !p.IsDeleted && p.ByRoutePointId.Equals(routePointId)).FirstOrDefault(); if (poiDb != null) { return(new ViewPoi(poiDb.PoiId)); } return(new ViewPoi()); }
public IEnumerable <Tuple <double?, double?> > GetTrackByRoute(string routeId) { var collectionRealm = RealmInstance.All <RouteTrackPlace>().Where(place => place.RouteTrackId.Equals(routeId)) .OrderBy(place => place.DateTimeBegin).ToList().Select(place => new { place.Latitude, place.Longitude }); return(collectionRealm.Select(x => new Tuple <double?, double?>(x.Latitude, x.Longitude))); }
internal ObservableCollection <ViewRoute> GetRoutes(string userId) { ObservableCollection <ViewRoute> vRoutes = new ObservableCollection <ViewRoute>(); var routes = RealmInstance.All <Route>().Where(u => (!u.IsDeleted && !u.IsPublished) || (!u.IsDeleted && u.IsPublished && u.CreatorId == userId)).OrderByDescending(r => r.CreateDate); foreach (var route in routes) { vRoutes.Add(new ViewRoute(route.RouteId)); } return(vRoutes); }
internal IEnumerable <RoutePointMediaObject> GetNotSyncedMediaObjects(bool OnlyPreview) { if (OnlyPreview) { return(RealmInstance.All <RoutePointMediaObject>().Where(x => !x.PreviewServerSynced)); } else { return(RealmInstance.All <RoutePointMediaObject>().Where(x => !x.OriginalServerSynced)); } }
internal (ViewRoutePoint, ViewRoutePoint) GetFirstAndLastViewRoutePoints(string routeId) { var routePoints = RealmInstance.All <RoutePoint>().Where(p => p.RouteId == routeId).OrderBy(p => p.CreateDate); if (routePoints.Count() > 0) { var first = new ViewRoutePoint(routeId, routePoints.FirstOrDefault()?.RoutePointId); var last = new ViewRoutePoint(routeId, routePoints.LastOrDefault()?.RoutePointId); return(first, last); } return(new ViewRoutePoint(), new ViewRoutePoint()); }
internal Tuple <RoutePoint, RoutePoint> GetFirstAndLastPoints(string routeId) { var routePoints = RealmInstance.All <RoutePoint>().Where(p => p.RouteId == routeId).OrderBy(p => p.CreateDate); if (routePoints.Count() > 0) { var first = routePoints.FirstOrDefault(); var last = routePoints.LastOrDefault(); return(new Tuple <RoutePoint, RoutePoint>(first, last)); } return(new Tuple <RoutePoint, RoutePoint>(new RoutePoint(), new RoutePoint())); }
public List <Tuple <DateTime, int> > GetCountImagesByDay(DateTime dateBegin, DateTime dateEnd, string pathToImageDirectory) { var countByDays = RealmInstance.All <LocalFile>() .Where(f => f.FileNameDate >= dateBegin && f.FileNameDate <= dateEnd && f.SourcePath.Equals(pathToImageDirectory)) .ToList(); var grouped = countByDays.GroupBy(f => new DateTime(f.FileNameDate.Year, f.FileNameDate.Month, f.FileNameDate.Day)) .Select(g => new Tuple <DateTime, int>(g.Key, g.Count())).ToList(); return(grouped); }
/// <summary> /// На данном этапе публичные маршруты ничем почти не отличаются от обычных /// </summary> /// <returns></returns> internal IEnumerable <ViewRoute> GetPosts() { List <ViewRoute> vroutes = new List <ViewRoute>(); var routes = RealmInstance.All <Route>().Where(r => r.IsPublished && !r.IsDeleted).OrderByDescending(r => r.CreateDate); if (routes.Any()) { foreach (var route in routes) { vroutes.Add(new ViewRoute(route.RouteId)); } } return(vroutes); }
/// <summary> /// Возвращает список маршрутов, созданных и опубликованных не текущим пользователем /// </summary> /// <param name="currentUserId"></param> /// <returns></returns> internal IEnumerable <ViewRoute> GetPostsOtherCreators(string currentUserId) { List <ViewRoute> vroutes = new List <ViewRoute>(); var routes = RealmInstance.All <Route>().Where(r => r.IsPublished && !r.CreatorId.Equals(currentUserId)).OrderByDescending(r => r.CreateDate); if (routes.Any()) { foreach (var route in routes) { vroutes.Add(new ViewRoute(route.RouteId)); } } return(vroutes); }
internal IEnumerable <ViewRoute> GetRoutesForSync() { List <ViewRoute> vroutes = new List <ViewRoute>(); var routes = RealmInstance.All <Route>().OrderByDescending(r => r.CreateDate); if (routes.Any()) { foreach (var route in routes) { vroutes.Add(new ViewRoute(route.RouteId)); } } return(vroutes); }
internal ViewRoutePointMediaObject GetFirstMediaObjectByRouteId(string routeId) { ViewRoutePointMediaObject resultMedia = new ViewRoutePointMediaObject(); var point = RealmInstance.All <RoutePoint>().Where(p => p.RouteId == routeId && !p.IsDeleted).OrderBy(p => p.CreateDate).ToList().FirstOrDefault(); if (point != null) { var media = RealmInstance.All <RoutePointMediaObject>().Where(p => p.RoutePointId == point.RoutePointId && !p.IsDeleted).FirstOrDefault(); if (media != null) { resultMedia.Load(media.RoutePointMediaObjectId); } } return(resultMedia); }
public List <ViewLocalFile> LocalFilesByDays(DateTime dateBegin, DateTime dateEnd, string pathToImageDirectory) { var listCachedFiles = RealmInstance.All <LocalFile>().Where(f => f.FileNameDate >= dateBegin && f.FileNameDate <= dateEnd && f.SourcePath.Equals(pathToImageDirectory)).ToList().Select(f => new ViewLocalFile(f.LocalFileId) { Address = f.Address, Country = f.Country, CreateDate = f.CreateDate, FileNameDate = f.FileNameDate, ImagePreviewFileName = f.ImagePreviewFileName, Latitude = (long)f.Latitude, Longitude = (long)f.Longitude, SourceFileName = f.SourceFileName, SourcePath = f.SourcePath, Processed = f.Processed }).ToList(); return(listCachedFiles); }
public void MergeRoutes(string currentUserId, List <SharedModelsWS.Route> serverRoutes) { List <string> mergedRoutes = new List <string>(); var routes = RealmInstance.All <Route>().Where(u => (!u.IsDeleted && !u.IsPublished) || (!u.IsDeleted && u.IsPublished && u.CreatorId == currentUserId)); foreach (var route in routes) { var vRoute = new ViewRoute(route.RouteId); var serverRoute = serverRoutes.Where(sr => sr.Id.Equals(vRoute.Id)).DefaultIfEmpty().SingleOrDefault(); if (serverRoute != null) { vRoute.ServerSynced = serverRoute.VersionsHash.Equals(vRoute.ObjVerHash); } else { vRoute.ServerSynced = false; } vRoute.Save(); mergedRoutes.Add(route.RouteId); } foreach (var serverRoute in serverRoutes.Where(sr => !mergedRoutes.Contains(sr.Id))) { var vRoute = new ViewRoute(String.Empty) { Id = serverRoute.Id, Name = serverRoute.Name, Description = serverRoute.Description, CreateDate = serverRoute.CreateDate, CreatorId = serverRoute.CreatorId, Version = 0, ImgFilename = serverRoute.ImgFilename, IsDeleted = serverRoute.IsDeleted, IsPublished = serverRoute.IsPublished, UserId = serverRoute.CreatorId, ObjVerHash = "", ServerSynced = false }; vRoute.Save(); } ; }
public List <ViewLocalFile> GetImagesInfo(DateTimeOffset periodStart, DateTimeOffset periodEnd, string pathToImageDirectory) { List <ViewLocalFile> listCachedImages = new List <ViewLocalFile>(); var listDbModel = RealmInstance.All <LocalFile>().Where(l => l.FileNameDate >= periodStart && l.FileNameDate <= periodEnd && l.SourcePath.Equals(pathToImageDirectory)).OrderBy(l => l.FileNameDate).ToList(); return(listDbModel.Select(l => new ViewLocalFile(l.LocalFileId) { Address = l.Address, Country = l.Country, CreateDate = l.CreateDate, FileNameDate = l.FileNameDate, ImagePreviewFileName = l.ImagePreviewFileName, Latitude = l.Latitude, Longitude = l.Longitude, SourceFileName = l.SourceFileName, SourcePath = l.SourcePath, Processed = l.Processed }).ToList()); }
public bool RemoveAllTracksFromRoute(string routeId) { bool result = false; try { RealmInstance.Write(() => { RealmInstance.RemoveRange(RealmInstance.All <RouteTrackPlace>() .Where(p => p.RouteTrackId.Equals(routeId))); }); result = true; } catch (Exception e) { HandleError.Process("TrackFileManager", "RemoveAllTracksFromRoute", e, false); } return(result); }
public bool SaveTrack(string routeId, ViewTrackPlace[] trackResponsePlaces) { bool result = false; try { RealmInstance.Write(() => { RealmInstance.RemoveRange(RealmInstance.All <RouteTrackPlace>() .Where(p => p.RouteTrackId.Equals(routeId))); foreach (var place in trackResponsePlaces) { RealmInstance.Add(new RouteTrackPlace() { RouteTrackId = routeId, Id = place.Id, Name = place.Name, Description = place.Description, DateTimeBegin = place.DateTimeBegin, DateTimeEnd = place.DateTimeEnd, Latitude = place.Latitude, Longitude = place.Longitude, Address = place.Address, Category = place.Category, Distance = place.Distance, Elevation = place.Elevation }); } }); result = true; } catch (Exception e) { HandleError.Process("TrackFileManager", "SaveTrack", e, false); } return(result); }
public IEnumerable <ViewRoutePoint> GetPointsByRouteId(string routeId, bool withDeleted = false) { List <ViewRoutePoint> collection = new List <ViewRoutePoint>(); try { var collectionRealm = withDeleted ? RealmInstance.All <RoutePoint>().Where(point => point.RouteId == routeId) .OrderBy(point => point.CreateDate) : RealmInstance.All <RoutePoint>().Where(point => point.RouteId == routeId && !point.IsDeleted) .OrderBy(point => point.CreateDate); foreach (var item in collectionRealm) { collection.Add(new ViewRoutePoint(item.RouteId, item.RoutePointId)); } } catch (Exception e) { collection = new List <ViewRoutePoint>(); HandleError.Process("RoutePointManager", "GetPointsByRouteId", e, false); } return(collection); }
internal RoutePointMediaObject GetMediaObjectById(string mediaId) { return(RealmInstance.All <RoutePointMediaObject>().SingleOrDefault(x => x.RoutePointMediaObjectId == mediaId)); }
internal IEnumerable <RoutePointMediaObject> GetMediaObjectsByRoutePointId(string routePointId) { return(RealmInstance.All <RoutePointMediaObject>().Where(x => x.RoutePointId == routePointId && !x.IsDeleted)); }
public IEnumerable <Route> GetNotSynced() { return(RealmInstance.All <Route>().Where(item => !item.ServerSynced)); }
internal List <ViewPoi> GetAllAvailablePois(string creatorId) { var vPois = RealmInstance.All <Poi>().Where(p => !p.IsDeleted && (p.CreatorId.Equals(creatorId) || p.IsPublished)).ToList().Select(p => new ViewPoi(p.PoiId)); return(vPois.ToList()); }
protected virtual T GetLargestPrimaryKeyQuery(Func <T, object> pkGetter) { return(RealmInstance.All <T>().OrderByDescending(pkGetter).FirstOrDefault()); }
public bool Exist(string filename, string pathToDcimDirectory, DateTime fileCreationDate) { return(RealmInstance.All <LocalFile>().Any(f => f.SourceFileName.Equals(filename) && f.FileNameDate == fileCreationDate && f.SourcePath.Equals(pathToDcimDirectory))); }
internal RoutePoint GetPointByCoordinates(double latitude, double longitude) { var collection = RealmInstance.All <RoutePoint>().Where(point => point.Latitude == latitude && point.Longitude == longitude); return(collection.FirstOrDefault()); }