Пример #1
0
        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);
                    }
                });
            });
        }
Пример #2
0
        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();
                });
            }));
        }
Пример #4
0
        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);
                }
            });
        }