internal bool Save(ViewUserInfo viewUserInfo) { bool result = false; try { RealmInstance.Write(() => { var dbObject = !string.IsNullOrEmpty(viewUserInfo.UserId) ? RealmInstance.Find <User>(viewUserInfo.UserId) : null; if (dbObject == null) { dbObject = new User(); dbObject.UserId = viewUserInfo.UserId; RealmInstance.Add(dbObject); } dbObject.Name = viewUserInfo.Name; dbObject.Email = viewUserInfo.Email; dbObject.ImgUrl = viewUserInfo.ImgUrl; }); result = true; } catch (Exception e) { HandleError.Process("UserManager", "Save", e, false); } return(result); }
public bool Save(ViewPoi viewPoi) { bool result = false; try { RealmInstance.Write(() => { var poi = !string.IsNullOrEmpty(viewPoi.Id) ? RealmInstance.Find <Poi>(viewPoi.Id) : null; if (null == poi) { poi = string.IsNullOrEmpty(viewPoi.Id) ? new Poi() : new Poi() { PoiId = viewPoi.Id }; RealmInstance.Add(poi); } poi.Name = viewPoi.Name; poi.CreateDate = viewPoi.CreateDate; poi.UpdateDate = viewPoi.UpdateDate; poi.IsDeleted = viewPoi.IsDeleted; poi.CreatorId = viewPoi.CreatorId; poi.ImgFilename = viewPoi.ImgFilename; poi.Description = viewPoi.Description; //poi.PoiType = viewPoi.PoiType; poi.Address = viewPoi.Address; poi.ByRoutePointId = viewPoi.ByRoutePointId; poi.ByRouteId = viewPoi.ByRouteId; poi.IsPublished = viewPoi.IsPublished; poi.Latitude = viewPoi.Location.Latitude; poi.Longitude = viewPoi.Location.Longitude; poi.LikesCount = viewPoi.LikesCount; poi.ViewsCount = viewPoi.ViewsCount; }); var poiSaved = RealmInstance.Find <Poi>(viewPoi.Id); viewPoi.Refresh(poiSaved.PoiId); result = true; } catch (Exception e) { HandleError.Process("PoiManager", "SavePoi", e, false); } return(result); }
internal string Save(ViewRoutePointMediaObject vmedia) { string returnId = string.Empty; try { var pointObject = RealmInstance.Find <RoutePoint>(vmedia.RoutePointId); RealmInstance.Write(() => { RoutePointMediaObject mediaObject = !string.IsNullOrEmpty(vmedia.Id) ? RealmInstance.Find <RoutePointMediaObject>(vmedia.Id) : null; if (mediaObject == null) { mediaObject = new RoutePointMediaObject(); mediaObject.RoutePointMediaObjectId = vmedia.Id; mediaObject.RoutePointId = vmedia.RoutePointId; mediaObject.Point = pointObject; RealmInstance.Add(mediaObject); } if (mediaObject.Version != vmedia.Version) { //нужно для того, чтобы синхронизация обнаружила отличия от сервера и проверила версии с последующей отправкой изменений на сервер var route = pointObject.MainRoute; route.ObjVerHash = string.Empty; } returnId = mediaObject.RoutePointMediaObjectId; mediaObject.OriginalServerSynced = vmedia.OriginalServerSynced; mediaObject.PreviewServerSynced = vmedia.PreviewServerSynced; mediaObject.ServerSyncedDate = vmedia.ServerSyncedDate; mediaObject.Version = vmedia.Version; mediaObject.IsDeleted = vmedia.IsDeleted; mediaObject.MediaType = (int)vmedia.MediaType; mediaObject.Processed = vmedia.Processed; mediaObject.ProcessResultText = vmedia.ProcessResultText; }); } catch (Exception e) { HandleError.Process("RoutePointMediaObjectManager", "SaveRoutePointMediaObject", e, false); } return(returnId); }
public bool Save(ViewRoute viewRoute) { bool result = false; RouteManager routeManager = new RouteManager(); try { RealmInstance.Write(() => { var route = !string.IsNullOrEmpty(viewRoute.Id) ? RealmInstance.Find <Route>(viewRoute.Id) : null; if (null == route) { route = string.IsNullOrEmpty(viewRoute.Id) ? new Route() : new Route() { RouteId = viewRoute.Id }; RealmInstance.Add(route); } route.Name = viewRoute.Name; route.Version = viewRoute.Version; route.CreateDate = viewRoute.CreateDate; route.IsShared = viewRoute.IsShared; route.IsPublished = viewRoute.IsPublished; route.IsDeleted = viewRoute.IsDeleted; route.CreatorId = viewRoute.CreatorId; route.ObjVerHash = viewRoute.ObjVerHash; route.ImgFilename = viewRoute.ImgFilename; route.Description = viewRoute.Description; if (!route.ServerSynced.Equals(viewRoute.ServerSynced) && viewRoute.ServerSynced) { route.ServerSyncedDate = DateTimeOffset.Now; } route.ServerSynced = !string.IsNullOrEmpty(viewRoute.ObjVerHash) && viewRoute.ServerSynced; viewRoute.Refresh(route.RouteId); }); result = true; } catch (Exception e) { HandleError.Process("RouteManager", "AddRoute", 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 bool Save(ViewLocalFile viewItem) { bool result = false; try { RealmInstance.Write(() => { var dbObject = !string.IsNullOrEmpty(viewItem.Id) ? RealmInstance.Find <LocalFile>(viewItem.Id) : null; if (null == dbObject) { dbObject = string.IsNullOrEmpty(viewItem.Id) ? new LocalFile() : new LocalFile() { LocalFileId = viewItem.Id }; RealmInstance.Add(dbObject); } dbObject.Address = viewItem.Address; dbObject.Country = viewItem.Country; dbObject.FileNameDate = viewItem.FileNameDate; dbObject.CreateDate = viewItem.CreateDate; dbObject.ImagePreviewFileName = viewItem.ImagePreviewFileName; dbObject.Latitude = viewItem.Latitude; dbObject.Longitude = viewItem.Longitude; dbObject.SourceFileName = viewItem.SourceFileName; dbObject.SourcePath = viewItem.SourcePath; dbObject.Processed = viewItem.Processed; }); result = true; } catch (Exception e) { HandleError.Process("LocalFileCacheManager", "Save", e, false); } return(result); }
internal string Save(ViewRoutePoint vpoint) { string returnid = string.Empty; RouteManager routeManager = new RouteManager(); vpoint.Version = vpoint.Version == 0 ? 1 : vpoint.Version; if (vpoint.CreateDate.Year == 1) { HandleError.Process("RoutePointManager", "Save", new Exception("CreateDate is empty"), false, $"routePointId:[{vpoint.RoutePointId}]"); //throw new Exception("create date year = 1"); //vpoint.CreateDate = new DateTime(2020,1,1); } try { RealmInstance.Write(() => { RoutePoint point = !string.IsNullOrEmpty(vpoint.Id) ? RealmInstance.Find <RoutePoint>(vpoint.Id) : null; if (point == null) { point = new RoutePoint(); point.RoutePointId = !string.IsNullOrEmpty(vpoint.Id) ? vpoint.Id: point.RoutePointId; point.RouteId = vpoint.RouteId; point.MainRoute = routeManager.GetRouteById(vpoint.RouteId); if (point.MainRoute != null) { point.MainRoute.Points.Add(point);//? } else { HandleError.Process("RoutePointManager", "SavePoint", new Exception($"routeId:{vpoint.RouteId}, pointId:{vpoint.Id}"), false); } RealmInstance.Add(point); } else { //point = _realmInstance.Find<RoutePoint>(vpoint.Id); } if (point.Version != vpoint.Version) { //нужно для того, чтобы синхронизация обнаружила отличия от сервера и проверила версии с последующей отправкой изменений на сервер point.MainRoute.ObjVerHash = string.Empty; } returnid = point.RoutePointId; point.Address = vpoint.Address; point.Description = vpoint.Description; point.Latitude = vpoint.Latitude; point.Longitude = vpoint.Longitude; point.Name = vpoint.Name; point.UpdateDate = DateTime.Now; point.Version = vpoint.Version; point.IsDeleted = vpoint.IsDeleted; point.CreateDate = vpoint.CreateDate; point.MediaObjects.Clear(); foreach (var media in vpoint.MediaObjects) { point.MediaObjects.Add(media); } }); } catch (Exception e) { HandleError.Process("RoutePointManager", "AddRoutePoint", e, false); } return(returnid); }