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);
        }
 internal void DeleteObjectFromLocalStorage(ViewRoutePointMediaObject vmedia)
 {
     if (vmedia != null)
     {
         try
         {
             RoutePointMediaObject media = !string.IsNullOrEmpty(vmedia.Id) ? RealmInstance.Find <RoutePointMediaObject>(vmedia.Id) : null;
             if (media != null)
             {
                 RealmInstance.Write(() =>
                 {
                     RealmInstance.Remove(media);
                 });
             }
         }
         catch (Exception e)
         {
             HandleError.Process("RoutePointMediaObjectManager", "DeleteObjectFromLocalStorage", e, false);
         }
     }
 }