Пример #1
0
        private void AddPhoneNumberButton_Clicked(object sender, EventArgs e)
        {
            PersonDetailListItem detail = new PersonDetailListItem(new PhoneNumberModel("", "", ""));

            detail.RemoveDetail += Detail_RemoveDetail;
            PhoneItems.Add(detail);
            PhoneList.Children.Add(detail);

            NoPhoneLabel.Visibility = Visibility.Collapsed;
        }
Пример #2
0
        private void AddEmailButton_Clicked(object sender, EventArgs e)
        {
            PersonDetailListItem detail = new PersonDetailListItem(new EmailAddressModel("", "", ""));

            detail.RemoveDetail += Detail_RemoveDetail;
            EmailItems.Add(detail);
            EmailList.Children.Add(detail);

            NoEmailsLabel.Visibility = Visibility.Collapsed;
        }
Пример #3
0
        public AccountSettings(MainWindow parent, PersonModel person)
        {
            Person  = person;
            _parent = parent;

            InitializeComponent();

            GenderComboBox.AddItem("Pani");
            GenderComboBox.AddItem("Pan");

            if (Person != null)
            {
                Company = person.Company;

                FirstNameTextBox.Text = person.FirstName;
                LastNameTextBox.Text  = person.LastName;

                if (person.Gender == Gender.Female)
                {
                    GenderComboBox.SelectedItem = GenderComboBox.Items[0];
                }
                else
                {
                    GenderComboBox.SelectedItem = GenderComboBox.Items[1];
                }

                foreach (PhoneNumberModel phoneNumber in person.PhoneNumbers)
                {
                    PersonDetailListItem detail = new PersonDetailListItem(phoneNumber);
                    detail.RemoveDetail += Detail_RemoveDetail;
                    PhoneItems.Add(detail);
                    PhoneList.Children.Add(detail);
                }
            }

            if (PhoneItems.Count == 0)
            {
                NoPhoneLabel.Visibility = Visibility.Visible;
            }

            addPhoneNumberButton.Clicked += AddPhoneNumberButton_Clicked;
            ReadyButton.Clicked          += ReadyButton_Clicked;
            CancelButton.Clicked         += CancelButton_Clicked;
        }
Пример #4
0
        private void Detail_RemoveDetail(object sender, EventArgs e)
        {
            PersonDetailListItem detail = (PersonDetailListItem)sender;

            string message = "";

            if (detail.Name != "" || detail.DetailValue != "")
            {
                if (detail.ChildObject is EmailAddressModel)
                {
                    message = "Czy na pewno chcesz usunąć ten adres e-mail?";
                }
                else
                {
                    message = "Czy na pewno chcesz usunąć ten numer telefonu?";
                }

                CustomMessageBox messageBox = new CustomMessageBox(message, MessageBoxButton.YesNo);

                messageBox.YesButtonClicked += (s, ea) =>
                {
                    DarkenerPanel.Visibility = Visibility.Collapsed;
                    _parent.mainCanvas.Children.Remove(messageBox);
                    RemoveDetail(detail);
                };

                messageBox.NoButtonClicked += (s, ea) =>
                {
                    DarkenerPanel.Visibility = Visibility.Collapsed;
                    _parent.mainCanvas.Children.Remove(messageBox);
                };

                _parent.Darkened         = true;
                DarkenerPanel.Visibility = Visibility.Visible;
                _parent.mainCanvas.Children.Add(messageBox);
            }
            else
            {
                RemoveDetail(detail);
            }
        }
Пример #5
0
        private void Detail_RemoveDetail(object sender, EventArgs e)
        {
            PersonDetailListItem detail = (PersonDetailListItem)sender;

            if (detail.Name != "" || detail.DetailValue != "")
            {
                string messageString = detail.ChildObject is EmailAddressModel
                    ? "Czy na pewno chcesz usunąć ten adres e-mail?"
                    : "Czy na pewno chcesz usunąć ten numer telefonu?";
                CustomMessageBox message = new CustomMessageBox(messageString, MessageBoxButton.YesNo);

                message.YesButtonClicked += (s, ea) =>
                {
                    if (detail.ChildObject is PhoneNumberModel)
                    {
                        PhoneNumberModel phoneNumber = (PhoneNumberModel)detail.ChildObject;
                        bool             stop        = false;
                        foreach (ConversationModel conversation in _parent.Conversations)
                        {
                            foreach (ConversationMessageModel conversationMessage in conversation.Messages)
                            {
                                if (conversationMessage is ConversationPhoneMessageModel)
                                {
                                    ConversationPhoneMessageModel phoneMessage = (ConversationPhoneMessageModel)conversationMessage;
                                    if (phoneMessage.AuthorPhoneNumber.Id == phoneNumber.Id ||
                                        phoneMessage.RecipientPhoneNumber.Id == phoneNumber.Id)
                                    {
                                        stop = true;
                                    }
                                }
                            }
                        }

                        if (stop)
                        {
                            CustomMessageBox message2 =
                                new CustomMessageBox(
                                    "Nie można usunąć tego numeru telefonu ponieważ jest użyty w wiadomości",
                                    MessageBoxButton.OK);

                            message2.OKButtonClicked += (s2, ea2) =>
                            {
                                DarkenerPanel.Visibility = Visibility.Collapsed;
                                _parent.mainCanvas.Children.Remove(message2);
                            };

                            DarkenerPanel.Visibility = Visibility.Visible;
                            _parent.mainCanvas.Children.Add(message2);
                        }
                        else
                        {
                            PhoneItems.Remove(detail);
                            PhoneList.Children.Remove(detail);

                            if (PhoneItems.Count == 0)
                            {
                                NoPhoneLabel.Visibility = Visibility.Visible;
                            }
                            else
                            {
                                NoPhoneLabel.Visibility = Visibility.Collapsed;
                            }
                        }
                    }
                    DarkenerPanel.Visibility = Visibility.Collapsed;
                    _parent.mainCanvas.Children.Remove(message);
                };

                message.NoButtonClicked += (s, ea) =>
                {
                    DarkenerPanel.Visibility = Visibility.Collapsed;
                    _parent.mainCanvas.Children.Remove(message);
                };

                DarkenerPanel.Visibility = Visibility.Visible;
                _parent.mainCanvas.Children.Add(message);
            }
            else
            {
                if (detail.ChildObject is PhoneNumberModel)
                {
                    PhoneItems.Remove(detail);
                    PhoneList.Children.Remove(detail);

                    if (PhoneItems.Count == 0)
                    {
                        NoPhoneLabel.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        NoPhoneLabel.Visibility = Visibility.Collapsed;
                    }
                }
            }
        }
Пример #6
0
        private void RemoveDetail(PersonDetailListItem detail)
        {
            if (detail.ChildObject is EmailAddressModel)
            {
                EmailAddressModel emailAddress = (EmailAddressModel)detail.ChildObject;
                bool stop = false;
                foreach (ConversationModel conversation in _parent.Conversations)
                {
                    foreach (ConversationMessageModel conversationMessage in conversation.Messages)
                    {
                        if (conversationMessage is ConversationEmailMessageModel)
                        {
                            ConversationEmailMessageModel emailMessage =
                                (ConversationEmailMessageModel)conversationMessage;
                            if (emailMessage.AuthorEmailaddress.Id == emailAddress.Id)
                            {
                                stop = true;
                            }
                        }
                    }
                }

                if (stop)
                {
                    CustomMessageBox message2 =
                        new CustomMessageBox(
                            "Nie można usunąć tego adresu email ponieważ jest użyty w wiadomości",
                            MessageBoxButton.OK);

                    message2.OKButtonClicked += (s2, ea2) =>
                    {
                        DarkenerPanel.Visibility = Visibility.Collapsed;
                        _parent.mainCanvas.Children.Remove(message2);
                    };

                    DarkenerPanel.Visibility = Visibility.Visible;
                    _parent.Darkened         = true;
                    _parent.mainCanvas.Children.Add(message2);
                }
                else
                {
                    EmailItems.Remove(detail);
                    EmailList.Children.Remove(detail);

                    if (EmailItems.Count == 0)
                    {
                        NoEmailsLabel.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        NoEmailsLabel.Visibility = Visibility.Collapsed;
                    }
                }
            }
            else
            {
                PhoneNumberModel phoneNumber = (PhoneNumberModel)detail.ChildObject;
                bool             stop        = false;
                foreach (ConversationModel conversation in _parent.Conversations)
                {
                    foreach (ConversationMessageModel conversationMessage in conversation.Messages)
                    {
                        if (conversationMessage is ConversationPhoneMessageModel)
                        {
                            ConversationPhoneMessageModel phoneMessage =
                                (ConversationPhoneMessageModel)conversationMessage;
                            if (phoneMessage.AuthorPhoneNumber.Id == phoneNumber.Id ||
                                phoneMessage.RecipientPhoneNumber.Id == phoneNumber.Id)
                            {
                                stop = true;
                            }
                        }
                    }
                }

                if (stop)
                {
                    CustomMessageBox message2 =
                        new CustomMessageBox(
                            "Nie można usunąć tego numeru telefonu ponieważ jest użyty w wiadomości",
                            MessageBoxButton.OK);

                    message2.OKButtonClicked += (s2, ea2) =>
                    {
                        DarkenerPanel.Visibility = Visibility.Collapsed;
                        _parent.mainCanvas.Children.Remove(message2);
                    };

                    DarkenerPanel.Visibility = Visibility.Visible;
                    _parent.Darkened         = true;
                    _parent.mainCanvas.Children.Add(message2);
                }
                else
                {
                    PhoneItems.Remove(detail);
                    PhoneList.Children.Remove(detail);

                    if (PhoneItems.Count == 0)
                    {
                        NoPhoneLabel.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        NoPhoneLabel.Visibility = Visibility.Collapsed;
                    }
                }
            }
        }