private void Add_InKind_Item(object sender, RoutedEventArgs e) { if (ItemName != null && ItemName != "" && ItemDescription != null && ItemDescription != "" && DateRecieved.ToString() != null && DateRecieved.ToString() != "") { Models.FCS_DBModel db = new Models.FCS_DBModel(); //Then its an organization if (OrgOrIndividual.IsChecked.Value && Organization.SelectedIndex != -1) { string Organiz = Organization.SelectedValue.ToString(); //MessageBox.Show(ItemName + "\n" + ItemDescription + "\n" + DateRecieved + "\n" + Organiz + "\n" + "You got HERE"); var donorID = (from d in db.Donors where d.OrganizationName == Organiz select d.DonorID).Distinct().First(); //MessageBox.Show(donorID.ToString()); if (IsEvent) { Models.Donation donation = new Models.Donation(); donation.DonorID = donorID; donation.Restricted = false; donation.InKind = true; donation.DonationAmount = 0M; donation.DonationDate = Convert.ToDateTime(DateRecieved.ToString()); donation.EventID = EventID; db.Donations.Add(donation); db.SaveChanges(); Models.In_Kind_Item inKind = new Models.In_Kind_Item(); inKind.DonationID = donation.DonationID; inKind.ItemName = ItemName; inKind.ItemDescription = ItemDescription; db.In_Kind_Item.Add(inKind); db.SaveChanges(); } else { Models.Donation donation = new Models.Donation(); donation.DonorID = donorID; donation.Restricted = false; donation.InKind = true; donation.DonationAmount = 0M; donation.DonationDate = Convert.ToDateTime(DateRecieved.ToString()); db.Donations.Add(donation); db.SaveChanges(); Models.In_Kind_Item inKind = new Models.In_Kind_Item(); inKind.DonationID = donation.DonationID; inKind.ItemName = ItemName; inKind.ItemDescription = ItemDescription; db.In_Kind_Item.Add(inKind); db.SaveChanges(); } } //then its an individual else if (Individual.SelectedIndex != -1) { string[] separators = new string[] { ", " }; string Indiv = Individual.SelectedValue.ToString(); //MessageBox.Show(ItemName + "\n" + ItemDescription + "\n" + DateRecieved + "\n" + Indiv); string[] words = Indiv.Split(separators, StringSplitOptions.None); string FName = words[0]; string LName = words[1]; string FNumber = words[2]; var donorID = (from dc in db.DonorContacts join d in db.Donors on dc.DonorID equals d.DonorID where dc.ContactFirstName == FName && dc.ContactLastName == LName && dc.ContactPhone == FNumber && (d.DonorType == "Individual" || d.DonorType == "Anonymous") select dc.DonorID).Distinct().FirstOrDefault(); if (IsEvent) { Models.Donation donation = new Models.Donation(); donation.DonorID = donorID; donation.Restricted = false; donation.InKind = true; donation.DonationAmount = 0M; donation.DonationDate = Convert.ToDateTime(DateRecieved.ToString()); donation.EventID = EventID; db.Donations.Add(donation); db.SaveChanges(); Models.In_Kind_Item inKind = new Models.In_Kind_Item(); inKind.DonationID = donation.DonationID; inKind.ItemName = ItemName; inKind.ItemDescription = ItemDescription; db.In_Kind_Item.Add(inKind); db.SaveChanges(); } else { Models.Donation donation = new Models.Donation(); donation.DonorID = donorID; donation.Restricted = false; donation.InKind = true; donation.DonationAmount = 0M; donation.DonationDate = Convert.ToDateTime(DateRecieved.ToString()); db.Donations.Add(donation); db.SaveChanges(); Models.In_Kind_Item inKind = new Models.In_Kind_Item(); inKind.DonationID = donation.DonationID; inKind.ItemName = ItemName; inKind.ItemDescription = ItemDescription; db.In_Kind_Item.Add(inKind); db.SaveChanges(); } } else { MessageBox.Show("Make sure to select an organization or an individual"); return; } this.Close(); } //add both patient and household else { MessageBox.Show("Make sure the data is correct."); } }