private void UpdateButton_Click(object sender, RoutedEventArgs e)
        {
            // See if a row is selected and update that row
            if (ValidateFields() && ClaimDetails.SelectedItem != null)
            {
                string bodyPart = "00";
                if (this.UseAlternateBodyPart.IsChecked ?? false)
                {
                    bodyPart = "01";
                }
                IEditableCollectionView view = ClaimDetails.Items as IEditableCollectionView;
                if (!view.CanAddNew)
                {
                    Debug.WriteLine("Can't add new");
                }

                Debug.WriteLine("Item selected! updating");
                ItemRow row = (ItemRow)ClaimDetails.SelectedItem;
                row.PatientId   = PatientIdInput.Text;
                row.Description = DescriptionTextBox.Text;
                row.Dos         = DOSInput.Value;
                row.ItemFee     = ItemFeeInput.Text;
                row.ItemNumber  = ItemNumberInput.Text;
                row.BodyPart    = bodyPart;
                ClaimDetails.Items.Refresh();
                clearEntryFields(false);
            }
        }
 private void ClaimDetails_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     // fill the item details field with the newly selected row,
     // if there is any data to fill
     if (e.AddedItems.Count > 0)
     {
         ItemRow row = (ItemRow)ClaimDetails.SelectedItem;
         PatientIdInput.Text            = row.PatientId;
         ItemNumberInput.Text           = row.ItemNumber;
         DescriptionTextBox.Text        = row.Description;
         DOSInput.Value                 = row.Dos;
         ItemFeeInput.Text              = row.ItemFee;
         ScriptInput.Text               = row.ScriptNumber;
         UseAlternateBodyPart.IsChecked = !(row.BodyPart == "00" || string.IsNullOrEmpty(row.BodyPart));
     }
 }
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            if (ValidateFields())
            {
                string bodyPart = "00";
                Debug.WriteLine("Item Number added: " + ItemNumberInput.Text);
                if (this.UseAlternateBodyPart.IsChecked ?? false)
                {
                    bodyPart = "01";
                }
                // Save to cache, auto persists to disk if different

                decimal value;
                if (Decimal.TryParse(ItemFeeInput.Text.ParseCurrency().ToString(), out value))
                {
                    ItemsFeeDictionary.setValue(ItemNumberInput.Text, ItemFeeInput.Text);
                }

                string compoundIndicator = string.Empty;

                if (UseAlternateBodyPart.IsChecked == true)
                {
                    compoundIndicator = "Compound";
                }

                var row = new ItemRow(PatientIdInput.Text,
                                      ItemNumberInput.Text,
                                      DescriptionTextBox.Text,
                                      DOSInput.Value,
                                      bodyPart,
                                      ItemFeeInput.Text,
                                      ScriptInput.Text,
                                      compoundIndicator);
                claimItems.Add(row);
                ClaimDetails.Items.Refresh();

                ClaimDetails.SelectedIndex = -1;
                clearEntryFields(false);
            }
        }