Ejemplo n.º 1
0
        private void Btn_Salir_Click(object sender, EventArgs e)
        {
            reproducirSonido("click.wav", false);
            Thread.Sleep(100);

            EditParent EP = this.Owner as EditParent;

            EP.Cambiar_Imagenes(false);
            EP.isHidden("Ind");
            reproducirSonido("tech_Ambiente.wav", true);
            Hide();
        }
Ejemplo n.º 2
0
        public ParentViewModel()
        {
            SaveCommand = new RelayCommand <MetroWindow>((p) => { return(true); },
                                                         async(p) =>
            {
                string regexString    = "^\\+?\\d{1,3}?[- .]?\\(?(?:\\d{2,3})\\)?[- .]?\\d\\d\\d[- .]?\\d\\d\\d\\d$";
                EditParent editParent = p as EditParent;
                var mySettings        = new MetroDialogSettings()
                {
                    AffirmativeButtonText    = "Ok",
                    NegativeButtonText       = "Go away!",
                    FirstAuxiliaryButtonText = "Cancel",
                    ColorScheme = p.MetroDialogOptions.ColorScheme
                };
                if (!Regex.IsMatch(this._phoneNumber, regexString))
                {
                    await p.ShowMessageAsync("Hello!", "Phone number is not valid.", MessageDialogStyle.Affirmative, mySettings);
                    return;
                }
                parent EditingParent      = DataProvider.Ins.DB.parents.Where(x => x.id == editParent.id).ToArray()[0];
                EditingParent.FatherName  = this._fatherName;
                EditingParent.Mothername  = this._motherName;
                EditingParent.address     = this._address;
                EditingParent.phonenumber = this._phoneNumber;
                DataProvider.Ins.DB.SaveChanges();
                this.LoadData();
                ManageChildrenViewModel.Ins.LoadData();
                await p.ShowMessageAsync("Hello!", "Saved changes successfully.", MessageDialogStyle.Affirmative, mySettings);
                p.Close();
            });

            AddParentCommand = new RelayCommand <UserControl>((p) => { return(true); },
                                                              async(p) =>
            {
                string regexString        = "^\\+?\\d{1,3}?[- .]?\\(?(?:\\d{2,3})\\)?[- .]?\\d\\d\\d[- .]?\\d\\d\\d\\d$";
                MetroWindow CurrentWindow = Application.Current.MainWindow as MetroWindow;
                var mySettings            = new MetroDialogSettings()
                {
                    AffirmativeButtonText = "Ok",
                    ColorScheme           = CurrentWindow.MetroDialogOptions.ColorScheme
                };
                if (MotherName == null || FatherName == null || Address == null || PhoneNumber == null)
                {
                    await CurrentWindow.ShowMessageAsync("Hello!", "Please fill in every blanks.", MessageDialogStyle.Affirmative, mySettings);
                    return;
                }
                if (!Regex.IsMatch(this._phoneNumber, regexString))
                {
                    await CurrentWindow.ShowMessageAsync("Hello!", "Phone number is not valid.", MessageDialogStyle.Affirmative, mySettings);
                    return;
                }
                await Task.Factory.StartNew(() => CheckingAndAdding(mySettings, CurrentWindow));
            });
            DeleteCommand = new RelayCommand <int>((p) => { return(true); },
                                                   async(p) =>
            {
                if (p == null)
                {
                    return;
                }
                var CurrentWindow = Application.Current.MainWindow as MetroWindow;
                var mySettings    = new MetroDialogSettings()
                {
                    AffirmativeButtonText    = "Yes",
                    NegativeButtonText       = "No",
                    FirstAuxiliaryButtonText = "Ok",
                    ColorScheme = CurrentWindow.MetroDialogOptions.ColorScheme
                };
                var mySettings2 = new MetroDialogSettings()
                {
                    AffirmativeButtonText    = "Ok",
                    NegativeButtonText       = "No",
                    FirstAuxiliaryButtonText = "Ok",
                    ColorScheme = CurrentWindow.MetroDialogOptions.ColorScheme
                };
                MessageDialogResult mR = await CurrentWindow.ShowMessageAsync("Hello!", "Do you really want to delete this parent information ?", MessageDialogStyle.AffirmativeAndNegative, mySettings);
                if (mR == MessageDialogResult.Affirmative)
                {
                    parent DeleteParent = DataProvider.Ins.DB.parents.Where(x => x.id == p).ToArray()[0];
                    if (DeleteParent.children.Count() > 0)
                    {
                        await CurrentWindow.ShowMessageAsync("Hello!", "This parent has at least one child in the school. Please delete their children information first.", MessageDialogStyle.Affirmative, mySettings2);
                        return;
                    }
                    DataProvider.Ins.DB.parents.Remove(DeleteParent);
                    DataProvider.Ins.DB.SaveChanges();
                    await CurrentWindow.ShowMessageAsync("Hello!", "Deleted Successfully.", MessageDialogStyle.Affirmative, mySettings2);
                    LoadData();
                }
            });
            SearchCommand = new RelayCommand <String>((p) => { return(true); },
                                                      (p) =>
            {
                if (p == null)
                {
                    return;
                }
                List <parent> SearchedChildren = DataProvider.Ins.DB.parents.Where <parent>(x => x.Mothername.Contains(p) || x.FatherName.Contains(p)).ToList();
                LoadData(SearchedChildren);
            });
            EditCommand = new RelayCommand <Button>((p) => { return(true); },
                                                    (p) =>
            {
                var tag = p.Tag;
                int Id  = Convert.ToInt32(tag);
                EditParent editParent        = new EditParent(Id);
                parent EditingParent         = DataProvider.Ins.DB.parents.Where(x => x.id == Id).ToArray()[0];
                ParentViewModel editParentVM = editParent.DataContext as ParentViewModel;
                editParentVM.MotherName      = EditingParent.Mothername;
                editParentVM.FatherName      = EditingParent.FatherName;
                editParentVM.Address         = EditingParent.address;
                editParentVM.PhoneNumber     = EditingParent.phonenumber;
                editParent.ShowDialog();
            }
                                                    );
            LoadData();
        }