/// <summary>
        /// Asks the user to choose an image from disk and adds it to the list
        /// </summary>
        private void AddImage()
        {
            if (CanAddImages)
            {
                // Move file types somewhere else
                var fileName = IoCServer.UI.ShowSingleFileDialog(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "png files (*.png)|*.png|jpg files (*.jpg)|*.jpg|bmp files (*.bmp)|*.bm/p");

                // The user did not selected any files
                if (string.IsNullOrEmpty(fileName))
                {
                    return;
                }

                Bitmap image;
                try
                {
                    image = new Bitmap(fileName);

                    TaskContent.ValidateImage(image);
                }
                catch (FileNotFoundException ex)
                {
                    IoCServer.UI.ShowMessage(new MessageBoxDialogViewModel()
                    {
                        Message = $"Nie można wczytać pliku. Błąd: {ex.Message}",
                        OkText  = "OK",
                        Title   = "Nie można dodać obrazka",
                    });
                    return;
                }
                catch (Exception ex)
                {
                    IoCServer.UI.ShowMessage(new MessageBoxDialogViewModel()
                    {
                        Message = ex.Message,
                        OkText  = "OK",
                        Title   = "Nie można dodać obrazka",
                    });
                    return;
                }

                Items.Add(new ImagesEditorItemViewModel()
                {
                    ID            = Items.Count,
                    Thumbnail     = image.GetThumbnail(),
                    OriginalImage = image,
                });

                Images.Add(image);

                ImageAdded.Invoke(image);

                ListModified.Invoke();

                OnPropertyChanged(nameof(CanAddImages));
                OnPropertyChanged(nameof(CanGoForward));
                OnPropertyChanged(nameof(CanGoBack));
            }
        }
Пример #2
0
        private void Apply(ImageAdded e)
        {
            if (!Images.Contains(e.Image))
            {
                Images.Add(e.Image);
            }

            UpdatedBy       = e.UserId;
            UpdatedDateTime = e.TimeStamp;
        }