private void Add_InKind_Service(object sender, RoutedEventArgs e)
        {
            if (AMPM_Start.SelectedValue.ToString() == "PM" && Convert.ToInt32(BeginHour) != 12)
            {
                BeginHour = (Convert.ToInt32(BeginHour) + 12).ToString();
            }
            if (AMPM_End.SelectedValue.ToString() == "PM" && Convert.ToInt32(EndHour) != 12)
            {
                EndHour = (Convert.ToInt32(EndHour) + 12).ToString();
            }
            if (AMPM_Start.SelectedValue.ToString() == "AM" && Convert.ToInt32(BeginHour) == 12)
            {
                BeginHour = (Convert.ToInt32(BeginHour) - 12).ToString();
            }
            if (AMPM_End.SelectedValue.ToString() == "AM" && Convert.ToInt32(EndHour) == 12)
            {
                EndHour = (Convert.ToInt32(EndHour) - 12).ToString();
            }
            try
            {
                DateTime help = Convert.ToDateTime(DateRecieved.ToString());
                DateTime startDateTime = new DateTime(help.Year, help.Month, help.Day, Convert.ToInt32(BeginHour), Convert.ToInt32(BeginMinute), 0);
                DateTime endDateTime = new DateTime(help.Year, help.Month, help.Day, Convert.ToInt32(EndHour), Convert.ToInt32(EndMinute), 0);
                decimal timeDiff = (decimal)(endDateTime - startDateTime).TotalHours;
                if (ServiceDescription != null && ServiceDescription != "" && RatePerHour > 0 && timeDiff > 0 && Individual.SelectedIndex != -1)
                {
                    string[] separators = new string[] { ", " };
                    string Indiv = Individual.SelectedValue.ToString();
                    Models.FCS_DBModel db = new Models.FCS_DBModel();
                    //MessageBox.Show(ServiceDescription + "\n" + RatePerHour + "\n" + startDateTime + "\n" + endDateTime + "\n" + timeDiff + "\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_Service inKind = new Models.In_Kind_Service();

                        inKind.DonationID = donation.DonationID;
                        inKind.StartDateTime = startDateTime;
                        inKind.EndDateTime = endDateTime;
                        inKind.RatePerHour = RatePerHour;
                        inKind.ServiceDescription = ServiceDescription;
                        inKind.ServiceLength = (double)timeDiff;
                        inKind.ServiceValue = RatePerHour * timeDiff;

                        db.In_Kind_Service.Add(inKind);
                        db.SaveChanges();
                    }
                    else
                    {
                        Models.Donation donation = new Models.Donation();

                        donation.DonorID = donorID;
                        donation.InKind = false;
                        donation.Restricted = true;
                        donation.DonationAmount = 0M;
                        donation.DonationDate = Convert.ToDateTime(DateRecieved.ToString());

                        db.Donations.Add(donation);
                        db.SaveChanges();

                        Models.In_Kind_Service inKind = new Models.In_Kind_Service();

                        inKind.DonationID = donation.DonationID;
                        inKind.StartDateTime = startDateTime;
                        inKind.EndDateTime = endDateTime;
                        inKind.RatePerHour = RatePerHour;
                        inKind.ServiceDescription = ServiceDescription;
                        inKind.ServiceLength = (double)timeDiff;
                        inKind.ServiceValue = RatePerHour * timeDiff;

                        db.In_Kind_Service.Add(inKind);
                        db.SaveChanges();
                    }

                    this.Close();
                }
                else
                {
                    MessageBox.Show("Please check the data entered.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Please check the data entered.");
            }
        }
        private void Add_InKind_Service(object sender, RoutedEventArgs e)
        {
            if (AMPM_Start.SelectedValue.ToString() == "PM" && Convert.ToInt32(BeginHour) != 12)
            {
                BeginHour = (Convert.ToInt32(BeginHour) + 12).ToString();
            }
            if (AMPM_End.SelectedValue.ToString() == "PM" && Convert.ToInt32(EndHour) != 12)
            {
                EndHour = (Convert.ToInt32(EndHour) + 12).ToString();
            }
            if (AMPM_Start.SelectedValue.ToString() == "AM" && Convert.ToInt32(BeginHour) == 12)
            {
                BeginHour = (Convert.ToInt32(BeginHour) - 12).ToString();
            }
            if (AMPM_End.SelectedValue.ToString() == "AM" && Convert.ToInt32(EndHour) == 12)
            {
                EndHour = (Convert.ToInt32(EndHour) - 12).ToString();
            }
            try
            {
                DateTime help          = Convert.ToDateTime(DateRecieved.ToString());
                DateTime startDateTime = new DateTime(help.Year, help.Month, help.Day, Convert.ToInt32(BeginHour), Convert.ToInt32(BeginMinute), 0);
                DateTime endDateTime   = new DateTime(help.Year, help.Month, help.Day, Convert.ToInt32(EndHour), Convert.ToInt32(EndMinute), 0);
                decimal  timeDiff      = (decimal)(endDateTime - startDateTime).TotalHours;
                if (ServiceDescription != null && ServiceDescription != "" && RatePerHour > 0 && timeDiff > 0 && Individual.SelectedIndex != -1)
                {
                    string[]           separators = new string[] { ", " };
                    string             Indiv      = Individual.SelectedValue.ToString();
                    Models.FCS_DBModel db         = new Models.FCS_DBModel();
                    //MessageBox.Show(ServiceDescription + "\n" + RatePerHour + "\n" + startDateTime + "\n" + endDateTime + "\n" + timeDiff + "\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_Service inKind = new Models.In_Kind_Service();

                        inKind.DonationID         = donation.DonationID;
                        inKind.StartDateTime      = startDateTime;
                        inKind.EndDateTime        = endDateTime;
                        inKind.RatePerHour        = RatePerHour;
                        inKind.ServiceDescription = ServiceDescription;
                        inKind.ServiceLength      = (double)timeDiff;
                        inKind.ServiceValue       = RatePerHour * timeDiff;

                        db.In_Kind_Service.Add(inKind);
                        db.SaveChanges();
                    }
                    else
                    {
                        Models.Donation donation = new Models.Donation();

                        donation.DonorID        = donorID;
                        donation.InKind         = false;
                        donation.Restricted     = true;
                        donation.DonationAmount = 0M;
                        donation.DonationDate   = Convert.ToDateTime(DateRecieved.ToString());

                        db.Donations.Add(donation);
                        db.SaveChanges();

                        Models.In_Kind_Service inKind = new Models.In_Kind_Service();

                        inKind.DonationID         = donation.DonationID;
                        inKind.StartDateTime      = startDateTime;
                        inKind.EndDateTime        = endDateTime;
                        inKind.RatePerHour        = RatePerHour;
                        inKind.ServiceDescription = ServiceDescription;
                        inKind.ServiceLength      = (double)timeDiff;
                        inKind.ServiceValue       = RatePerHour * timeDiff;

                        db.In_Kind_Service.Add(inKind);
                        db.SaveChanges();
                    }

                    this.Close();
                }
                else
                {
                    MessageBox.Show("Please check the data entered.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Please check the data entered.");
            }
        }