Beispiel #1
0
        public override void Execute(Image parameter)
        {
            if (!CanExecute(parameter))
            {
                throw new CannotExecuteCommandException(GetType());
            }

            var bitmap = _imageConverter.ConvertToBitmapSource(parameter);

            OnImageUpdate?.Invoke(bitmap);
        }
Beispiel #2
0
        public void Start()
        {
            bool displayImage = false;
            Dictionary <string, string> request = new Dictionary <string, string>()
            {
                { "request", "posture_status" }
            };
            JToken response       = Client.GetResponse(request.ToJson());
            string balloonTipText = "";

            if (response["answer"].ToString() == "bad")
            {
                balloonTipText = "Your posture is not good" + Environment.NewLine
                                 + "Click here to fix it";
                displayImage = true;
            }
            else if (response["answer"].ToString() == "image_error" || response["answer"].ToString() == "camera_error")
            {
                balloonTipText = "FixSit can't evaluate your posture";
            }
            else
            {
                balloonTipText = "Your posture is perfect!";
            }

            System.Windows.Application.Current.Dispatcher.Invoke(() =>
            {
                var notification = new System.Windows.Forms.NotifyIcon()
                {
                    Visible = true,
                    Icon    = SystemIcons.Information,
                    // BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info,
                    BalloonTipTitle = Resources.ApplicationName,
                    BalloonTipText  = balloonTipText,
                };
                if (displayImage)
                {
                    notification.BalloonTipClicked += (sender, e) =>
                    {
                        Image modelImage = LoadImage(response["image"].ToString());
                        OnImageUpdate?.Invoke(modelImage, response["description"].ToString());
                        //DO SOMETHING
                    };
                }
                notification.ShowBalloonTip(5000);
            });

            OnFinish?.Invoke(this);
            //REMOVE THIS !
        }