public ArtistVM(Artist artist, IAdministrationServices service, IIOService ioservice)
        {
            this.administrationService = service;
            this.ioService = ioservice;
            this.artist = artist;
            this.Catagories = new ObservableCollection<Catagory>();
            this.Countries = new ObservableCollection<string>();
            LoadData();

            SaveCommand = new RelayCommand(async s => {
                if (!(await Validator.ValidateAllAsync()).IsValid)
                {
                    return;
                }
                artist = administrationService.SaveArtist(artist);
                if (artist != null && artist.Id > 0)
                {
                    AppMessages.ShowSuccessMessage.Send($"Artist {artist.Name} saved ");
                    AppMessages.ArtistChanged.Send(AppMessages.ChangeType.Change);
                    return;
                }
                AppMessages.ShowErrorMessage.Send($"Error occured while saving Artist {artist.Name} ");
            });

            DeleteCommand = new RelayCommand(c =>
            {
                if(artist.Id == null)
                {
                    AppMessages.ArtistChanged.Send(AppMessages.ChangeType.Remove);
                    return;
                }
                if (administrationService.DeleteArtist(artist))
                {
                    AppMessages.ShowSuccessMessage.Send($"Artist {artist.Name} removed ");
                    AppMessages.ArtistChanged.Send(AppMessages.ChangeType.Remove);
                    return;
                }
                AppMessages.ShowErrorMessage.Send($"Error occured while removing Artist {artist.Name} ");

            });
            ChangePictureCommand = new RelayCommand(c =>
            {
                this.artist.Picture = ioService.openFileBase64Encoded();
                RaisePropertyChangedEvent(nameof(Picture));
            });

            AddValidationRules();
        }
Example #2
0
        public ArtistVM(Artist artist, IAdministrationServices service, IIOService ioservice)
        {
            this.administrationService = service;
            this.ioService             = ioservice;
            this.artist     = artist;
            this.Catagories = new ObservableCollection <Catagory>();
            this.Countries  = new ObservableCollection <string>();
            LoadData();

            SaveCommand = new RelayCommand(async s => {
                if (!(await Validator.ValidateAllAsync()).IsValid)
                {
                    return;
                }
                artist = administrationService.SaveArtist(artist);
                if (artist != null && artist.Id > 0)
                {
                    AppMessages.ShowSuccessMessage.Send($"Artist {artist.Name} saved ");
                    AppMessages.ArtistChanged.Send(AppMessages.ChangeType.Change);
                    return;
                }
                AppMessages.ShowErrorMessage.Send($"Error occured while saving Artist {artist.Name} ");
            });

            DeleteCommand = new RelayCommand(c =>
            {
                if (artist.Id == null)
                {
                    AppMessages.ArtistChanged.Send(AppMessages.ChangeType.Remove);
                    return;
                }
                if (administrationService.DeleteArtist(artist))
                {
                    AppMessages.ShowSuccessMessage.Send($"Artist {artist.Name} removed ");
                    AppMessages.ArtistChanged.Send(AppMessages.ChangeType.Remove);
                    return;
                }
                AppMessages.ShowErrorMessage.Send($"Error occured while removing Artist {artist.Name} ");
            });
            ChangePictureCommand = new RelayCommand(c =>
            {
                this.artist.Picture = ioService.openFileBase64Encoded();
                RaisePropertyChangedEvent(nameof(Picture));
            });

            AddValidationRules();
        }