public static void Post(Image newImage) { if (ServerService.instance.isOffline()) { OfflineFileLoader.post(newImage); ((MainWindow)Application.Current.MainWindow).LoadImage(newImage.id); return; } var request = new RestRequest(Settings.API_VERSION + Settings.IMAGES_PATH, Method.POST); request.AddJsonBody(newImage); ServerService.instance.server.ExecuteAsync(request, response => { Application.Current.Dispatcher.Invoke(() => { if (response.StatusCode == HttpStatusCode.Created) { dynamic data = JObject.Parse(response.Content); ((MainWindow)Application.Current.MainWindow).LoadImage((string)data["id"]); newImage.id = (string)data["id"]; ImageDao.Put(newImage); } else { MessageBox.Show("Could not create the image", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }); }); }
public static void GetByOwnerId() { if (ServerService.instance.isOffline()) { Application.Current.Dispatcher.InvokeAsync(() => { var response = OfflineFileLoader.getAll(); MainWindow sd = ((MainWindow)Application.Current.MainWindow); Gallery currentGallery = ((MainWindow)Application.Current.MainWindow).Gallery; currentGallery.LoadMyImages(response); }); return; } var request = new RestRequest(Settings.API_VERSION + Settings.IMAGES_BY_OWNER_ID_PATH + "/" + ServerService.instance.user.id, Method.GET); ServerService.instance.server.ExecuteAsync <Image>(request, response => { Application.Current.Dispatcher.Invoke(() => { if (response.StatusCode == HttpStatusCode.OK) { Gallery currentGallery = ((MainWindow)Application.Current.MainWindow).Gallery; currentGallery.LoadMyImages(response.Content); } else { MessageBox.Show("Could not load the images", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }); }); }
private void Connect_Socket() { Socket socket = IO.Socket(ServerService.instance.server.BaseUrl); socket.On(Socket.EVENT_CONNECT, (IListener) => { socket.Emit("setUsername", ServerService.instance.user.username); socket.Off(Socket.EVENT_CONNECT); }); socket.On("setUsernameStatus", new CustomListener((object[] server_params) => { if ((string)server_params[0] == "OK") { ServerService.instance.Socket = socket; this.Dispatcher.Invoke(() => { DialogResult = true; MessagingViewManager.instance.loadViews(); OfflineFileLoader.upload(); }); } else { this.Dispatcher.Invoke(() => { ConnectionProgress.Visibility = Visibility.Collapsed; ConnectButton.IsEnabled = true; }); socket.Disconnect(); MessageBox.Show("Can't connect to the socket : " + server_params[0], "Error", MessageBoxButton.OK, MessageBoxImage.Error); } })); socket.On(Socket.EVENT_DISCONNECT, new CustomListener((object[] server_params) => { this.Dispatcher.Invoke(() => { ServerService.instance.disconnect(); ((MainWindow)Application.Current.MainWindow).OfflineMode(); }); })); }
public static void Put(Image imageToUpdate) { if (ServerService.instance.isOffline()) { OfflineFileLoader.put(imageToUpdate); return; } imageToUpdate.fullImageUrl = Settings.URL_TO_GALLERY_IMAGES + imageToUpdate.id + ".png"; imageToUpdate.thumbnailUrl = Settings.URL_TO_GALLERY_IMAGES + imageToUpdate.id + ".png"; var request = new RestRequest(Settings.API_VERSION + Settings.IMAGES_PATH + "/" + imageToUpdate.id, Method.PUT); request.AddJsonBody(imageToUpdate); ServerService.instance.server.ExecuteAsync(request, response => { if (response.StatusCode != HttpStatusCode.OK) { MessageBox.Show("Could not update the image", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }); }