private void ClickNewVerse(object o)
        {
            EditVerseWindow verseDialog = new EditVerseWindow();

            verseDialog.ShowDialog();
            if (verseDialog.DialogResult == true)
            {
                var      context = (VerseViewModel)verseDialog.DataContext;
                VerseDTO verse   = new VerseDTO()
                {
                    BeliefId   = SelectedBelief.Id,
                    Book       = context.BookList.IndexOf(context.SelectedBook),
                    Chapter    = context.SelectedChapter,
                    VerseStart = context.SelectedVerseStart,
                    VerseEnd   = context.SelectedVerseEnd
                };
                long newId = BibleBeliefsRepository.CreateVerse(verse);
                Verses = BibleBeliefsRepository.GetVerses(SelectedBelief.Id);
                var v = Verses.Single(s => s.Id == newId);
                if (v != null)
                {
                    SelectedVerse = v;
                }
            }
        }
        private void ClickNewTopic(object o)
        {
            EditTopicWindow topicDialog = new EditTopicWindow();

            topicDialog.TopicValue = "";
            topicDialog.ShowDialog();
            if (topicDialog.DialogResult == true)
            {
                TopicDTO topic = new TopicDTO()
                {
                    Topic = topicDialog.TopicValue
                };
                long newId = BibleBeliefsRepository.CreateTopic(topic);
                Topics = BibleBeliefsRepository.GetTopics();
                var t = Topics.Single(s => s.Id == newId);
                if (t != null)
                {
                    SelectedTopic = t;
                }
                else
                {
                    SelectedTopic = Topics[0];
                }
            }
        }
 private void ClickDeleteVerse(object o)
 {
     if (!BibleBeliefsRepository.DeleteVerse(_SelectedVerse.Id))
     {
         MessageBox.Show("Something when wrong! Run... run fast!");
     }
     else
     {
         Verses = BibleBeliefsRepository.GetVerses(_SelectedBelief.Id);
     }
 }
 private void ClickDeleteBelief(object o)
 {
     if (!BibleBeliefsRepository.DeleteBelief(_SelectedBelief.Id))
     {
         MessageBox.Show("This belief has verses. You must delete all verses before you can delete the belief!");
     }
     else
     {
         Beliefs = BibleBeliefsRepository.GetBeliefs(_SelectedTopic.Id);
     }
 }
 private void ClickDeleteTopic(object o)
 {
     if (!BibleBeliefsRepository.DeleteTopic(_SelectedTopic))
     {
         MessageBox.Show("Topic has child beliefs. You must delete the beliefs before you can delete the topic!");
     }
     else
     {
         Topics = BibleBeliefsRepository.GetTopics();
     }
 }
        private void ClickEditTopic(object o)
        {
            EditTopicWindow topicDialog = new EditTopicWindow();

            topicDialog.TopicValue = SelectedTopic.Topic;
            topicDialog.ShowDialog();
            if (topicDialog.DialogResult == true)
            {
                SelectedTopic.Topic = topicDialog.TopicValue;
                BibleBeliefsRepository.UpdateTopic(_SelectedTopic);
            }
        }
 public MainViewModel()
 {
     _BibleRepository    = new BibleRepository();
     Topics              = BibleBeliefsRepository.GetTopics();
     SelectedTopic       = Topics[0];
     NewTopicCommand     = new DelegateCommand <object>(ClickNewTopic, (object o) => true);
     NewBeliefCommand    = new DelegateCommand <object>(ClickNewBelief, (object o) => SelectedTopic != null);
     NewVerseCommand     = new DelegateCommand <object>(ClickNewVerse, (object o) => SelectedBelief != null);
     EditTopicCommand    = new DelegateCommand <object>(ClickEditTopic, (object o) => true);
     EditBeliefCommand   = new DelegateCommand <object>(ClickEditBelief, (object o) => SelectedTopic != null);
     EditVerseCommand    = new DelegateCommand <object>(ClickEditVerse, (object o) => SelectedBelief != null);
     DeleteTopicCommand  = new DelegateCommand <object>(ClickDeleteTopic, (object o) => true);
     DeleteBeliefCommand = new DelegateCommand <object>(ClickDeleteBelief, (object o) => SelectedTopic != null);
     DeleteVerseCommand  = new DelegateCommand <object>(ClickDeleteVerse, (object o) => SelectedBelief != null);
 }
        private void ClickEditBelief(object o)
        {
            EditBeliefWindow beliefDialog = new EditBeliefWindow();

            beliefDialog.BeliefValue          = SelectedBelief.Belief;
            beliefDialog.cbTopic.ItemsSource  = Topics;
            beliefDialog.cbTopic.SelectedItem = SelectedTopic;
            beliefDialog.ShowDialog();
            if (beliefDialog.DialogResult == true)
            {
                SelectedBelief.TopicId = beliefDialog.TopicValue.Id;
                SelectedBelief.Belief  = beliefDialog.BeliefValue;
                BibleBeliefsRepository.UpdateBelief(_SelectedBelief);
            }
            Beliefs = BibleBeliefsRepository.GetBeliefs(_SelectedTopic.Id);
        }
        private void ClickNewBelief(object o)
        {
            EditBeliefWindow beliefDialog = new EditBeliefWindow();

            beliefDialog.BeliefValue = "";
            beliefDialog.ShowDialog();
            if (beliefDialog.DialogResult == true)
            {
                BeliefDTO belief = new BeliefDTO()
                {
                    Belief  = beliefDialog.BeliefValue,
                    TopicId = SelectedTopic.Id
                };
                long newId = BibleBeliefsRepository.CreateBelief(belief);
                Beliefs = BibleBeliefsRepository.GetBeliefs(SelectedTopic.Id);
                var b = Beliefs.Single(s => s.Id == newId);
                if (b != null)
                {
                    SelectedBelief = b;
                }
            }
        }
        private void ClickEditVerse(object o)
        {
            EditVerseWindow verseDialog = new EditVerseWindow();
            var             context     = (VerseViewModel)verseDialog.DataContext;

            context.SelectedBook       = context.BookList[(int)(SelectedVerse.Book)];
            context.SelectedChapter    = (int)SelectedVerse.Chapter;
            context.SelectedVerseStart = (int)SelectedVerse.VerseStart;
            context.SelectedVerseEnd   = (int)SelectedVerse.VerseEnd;
            verseDialog.ShowDialog();
            if (verseDialog.DialogResult == true)
            {
                SelectedVerse.Book       = context.BookList.IndexOf(context.SelectedBook);
                SelectedVerse.Chapter    = context.SelectedChapter;
                SelectedVerse.VerseStart = context.SelectedVerseStart;
                SelectedVerse.VerseEnd   = context.SelectedVerseEnd;
                if (SelectedVerse.VerseEnd < SelectedVerse.VerseStart)
                {
                    SelectedVerse.VerseEnd = SelectedVerse.VerseStart; //Verses must be in order.
                }
                BibleBeliefsRepository.UpdateVerse(_SelectedVerse);
            }
            Verses = BibleBeliefsRepository.GetVerses(_SelectedVerse.BeliefId);
        }