public void DeleteMembers() { if (!Items.Any(w => w.Delete)) { MessageBox.Show("Gelieve een of meerdere leden te selecteren!", "Waarschuwing", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } switch ( MessageBox.Show("Wenst u de geselecteerde registraties te verwijderen?", "Waarschuwing", MessageBoxButton.OKCancel, MessageBoxImage.Question)) { case MessageBoxResult.OK: IsBusy = true; var bgWorker = new BackgroundWorker { WorkerSupportsCancellation = true }; bgWorker.DoWork += (sender, args) => { try { foreach (var item in Items.Where(w => w.Delete)) { AllMembers.Where(w => w.MemberId == item.MemberId).ToList().ForEach(u => u.Delete = true); } XmlFactory.WriteXml(FolderFactory.MemberFolder, "Members", AllMembers); Items = GetMemberItems(Filter); } catch { IsBusy = false; } }; bgWorker.RunWorkerCompleted += (sender, args) => { IsBusy = false; }; bgWorker.RunWorkerAsync(); break; case MessageBoxResult.None: break; case MessageBoxResult.Cancel: break; case MessageBoxResult.Yes: break; case MessageBoxResult.No: break; default: throw new ArgumentOutOfRangeException(); } }
public void DeleteGames() { if (!Items.Any(w => w.Delete)) { MessageBox.Show("Gelieve een of meerdere wedstrijden te selecteren!", "Waarschuwing", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } if (MessageBox.Show("Wenst u de geselecteerde registraties te verwijderen?", "Waarschuwing", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { IsBusy = true; var bgWorker = new BackgroundWorker { WorkerSupportsCancellation = true }; bgWorker.DoWork += (sender, args) => { try { foreach (var item in Items.Where(w => w.Delete)) { AllGames.Where(w => w.Month.Equals(item.Month) && w.Theme.Equals(item.Theme)).ToList() .ForEach(u => u.Delete = true); } XmlFactory.WriteXml(FolderFactory.MemberFolder, "Games", AllGames); Items = GetGameItems(Filter); } catch { IsBusy = false; } }; bgWorker.RunWorkerCompleted += (sender, args) => { IsBusy = false; }; bgWorker.RunWorkerAsync(); } }
public void Save() { var canClose = false; IsBusy = true; var bgWorker = new BackgroundWorker { WorkerSupportsCancellation = true }; bgWorker.DoWork += (sender, args) => { try { AllGames = GameRepository.Get(null); if (SelectedGame == null && AllGames.Any(w => w.Month.Equals(Month) && w.Theme.Equals(Theme))) { MessageBox.Show($"Er bestaat reeds een wedstrijd met id {Month} - {Theme}.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (string.IsNullOrEmpty(Resolution)) { MessageBox.Show("Gelieve een resolutie in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (!MaxToUpload.HasValue) { MessageBox.Show("Gelieve een max in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } var gameToSave = SelectedGame != null ? AllGames.FirstOrDefault(w => w.Month.Equals(SelectedGame.Month) && w.Theme.Equals(SelectedGame.Theme)) : new GameItem(); if (gameToSave != null) { gameToSave.Club = OrganisationName; gameToSave.Month = Month; gameToSave.Theme = Theme; gameToSave.GameDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); gameToSave.Resolution = Resolution; gameToSave.MaxToUpload = MaxToUpload.Value; if (SelectedGame == null) { AllGames.Add(gameToSave); } } XmlFactory.WriteXml(FolderFactory.MemberFolder, "Games", AllGames); LogFactory.WriteToLog("De wedstrijd is met succes aangepast.", "GameDetailViewModel.Save", ActivityLogTypes.Success, App.ActivityLogFileName); IsBusy = false; MessageBox.Show("De gegevens zijn met succes bewaard.", "Informatie", MessageBoxButton.OK, MessageBoxImage.Information); canClose = true; } catch (Exception ex) { LogFactory.WriteToLog(ex.Message, "GameDetailViewModel.Save", ActivityLogTypes.Error, App.ActivityLogFileName); IsBusy = false; MessageBox.Show("Er is een fout opgetreden tijdens het bewaren van het lid.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); } }; bgWorker.RunWorkerCompleted += (sender, args) => CloseWindow(canClose); bgWorker.RunWorkerAsync(); }
public void Save() { var canClose = false; IsBusy = true; var bgWorker = new BackgroundWorker { WorkerSupportsCancellation = true }; bgWorker.DoWork += (sender, args) => { try { AllMembers = MemberRepository.Get(null); if (string.IsNullOrEmpty(MemberId)) { MessageBox.Show("Gelieve een lidnummer in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } int iMemberId; if (IsMemberIdNumeric && !int.TryParse(MemberId, out iMemberId)) { MessageBox.Show("Gelieve een geldig lidnummer in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (SelectedMember == null && AllMembers.Any(w => w.MemberId.Equals(MemberId))) { MessageBox.Show($"Er bestaat reeds een lid met id {MemberId}.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (string.IsNullOrEmpty(FirstName)) { MessageBox.Show("Gelieve een voornaam in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (string.IsNullOrEmpty(LastName)) { MessageBox.Show("Gelieve een familienaam in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (!string.IsNullOrEmpty(Email) && !Regex.IsMatch(Email, @"^([\w-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$")) { MessageBox.Show("Gelieve een geldig email adres in te geven.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } if (SelectedMember == null && AllMembers.Any(w => w.FirstName.ToUpper().Equals(FirstName.ToUpper()) && w.LastName.ToUpper().Equals(LastName.ToUpper()))) { MessageBox.Show($"Er bestaat reeds een lid met als naam {FirstName} {LastName}.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); IsBusy = false; return; } var memberToSave = SelectedMember != null?AllMembers.FirstOrDefault(w => w.Id == SelectedMember.Id) : new MemberItem { Id = Guid.NewGuid() }; if (memberToSave != null) { memberToSave.MemberId = MemberId; memberToSave.FirstName = FirstName; memberToSave.LastName = LastName; memberToSave.Email = Email; memberToSave.Group = Group; if (SelectedMember == null) { AllMembers.Add(memberToSave); } } XmlFactory.WriteXml(FolderFactory.MemberFolder, "Members", AllMembers); LogFactory.WriteToLog("Het lid is met succes aangepast.", "MemberDetailViewModel.Save", ActivityLogTypes.Success, App.ActivityLogFileName); IsBusy = false; MessageBox.Show("De gegevens zijn met succes bewaard.", "Informatie", MessageBoxButton.OK, MessageBoxImage.Information); canClose = true; } catch (Exception ex) { LogFactory.WriteToLog(ex.Message, "MemberDetailViewModel.Save", ActivityLogTypes.Error, App.ActivityLogFileName); IsBusy = false; MessageBox.Show("Er is een fout opgetreden tijdens het bewaren van het lid.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error); } }; bgWorker.RunWorkerCompleted += (sender, args) => CloseWindow(canClose); bgWorker.RunWorkerAsync(); }