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."); } }