Example #1
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            Task.Factory.StartNew(() =>
            {
                try
                {
                    Staff staff        = _newStaff = new Staff();
                    _newPhone          = new PhoneStaff();
                    _newEmail          = new EmailStaff();
                    _phoneList         = new List <PhoneStaff>();
                    _emailList         = new List <EmailStaff>();
                    Deal[] dealArr     = null;
                    TaskBD[] taskBDArr = null;

                    if (!_isNewRecord)
                    {
                        staff = _databasenEtities.Staff.Single(a => a.ID == _ID_Row);
                        _phoneList.AddRange(_databasenEtities.PhoneStaff.Where(a => a.ID_Staff == _ID_Row).ToArray());
                        _emailList.AddRange(_databasenEtities.EmailStaff.Where(a => a.ID_Staff == _ID_Row).ToArray());

                        dealArr   = _databasenEtities.Deal.Where(a => a.ID_Staff == staff.ID).ToArray();
                        taskBDArr = _databasenEtities.TaskBD.Where(a => a.ID_Staff == staff.ID).ToArray();
                    }

                    PostPeople[] postPeopleArr = _databasenEtities.PostPeople.OrderBy(a => a.Name).ToArray();
                    Country[] countryArr       = _databasenEtities.Country.OrderBy(a => a.Name).ToArray();
                    TypePhone[] typePhoneArr   = _databasenEtities.TypePhone.OrderBy(a => a.Name).ToArray();
                    TypeEmail[] typeEmailArr   = _databasenEtities.TypeEmail.OrderBy(a => a.Name).ToArray();

                    Dispatcher.Invoke(() =>
                    {
                        DataContext             = staff;
                        cbPostStaff.ItemsSource = postPeopleArr;
                        cbCountry.ItemsSource   = countryArr;

                        cbTypePhone.ItemsSource = dgcbTypePhone.ItemsSource = typePhoneArr;
                        cbTypeEmail.ItemsSource = dgcbTypeEmail.ItemsSource = typeEmailArr;

                        gNewPhone.DataContext = _newPhone;
                        gNewEmail.DataContext = _newEmail;
                        dgPhone.ItemsSource   = _phoneList.ToArray();
                        dgEmail.ItemsSource   = _emailList.ToArray();

                        if (!_isNewRecord)
                        {
                            dgDeal.ItemsSource = dealArr;
                            dgTask.ItemsSource = taskBDArr;
                        }

                        mainGrid.IsEnabled = true;
                    });
                }
                catch (Exception ex)
                {
                    MessageService.MetroMessageDialogError(ex.Message);
                }
            });
        }
Example #2
0
        // Добавление нового телефона

        private void btnAddNewPhone_Click(object sender, RoutedEventArgs e)
        {
            if (Regex.IsMatch(_newPhone.Phone, @"^\+[0-9]{1,3}-[0-9]{2}-[0-9]{2}-[0-9]{2}-[0-9]{3}$", RegexOptions.IgnoreCase))
            {
                _phoneList.Add(_newPhone);
                gNewPhone.DataContext = _newPhone = new PhoneStaff();
                dgPhone.ItemsSource   = _phoneList.ToArray();
            }
            else
            {
                MessageService.MetroMessageDialogError("Вы ввели неверный номер телефона!\nРекомендуемый формат: +123-45-67-89-011");
            }
        }
Example #3
0
        // Удаление телефона

        private async void dgPhone_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Delete && dgPhone.SelectedItem != null)
            {
                MessageDialogResult dialogResult = await MessageService.MetroMessageDialogQuestion("Подтверждение удаления", "Вы действительно хотите удалить выбранный элемент?");

                if (dialogResult == MessageDialogResult.Affirmative)
                {
                    PhoneStaff phoneStaff = dgPhone.SelectedItem as PhoneStaff;

                    if (phoneStaff.ID != 0)
                    {
                        _delPhoneList.Add(phoneStaff);
                    }

                    _phoneList.Remove(phoneStaff);
                    dgPhone.ItemsSource = _phoneList.ToArray();
                }
            }
        }