Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
        }