public string SendRegToClient(CventAttendee cur_Attendee) { JangoEmail JEmail = new JangoEmail(); var newAPAP_RegMsg = new APAPMessage(); newAPAP_RegMsg.szUserID = cur_Attendee.personMembershipId; newAPAP_RegMsg.szRegType = cur_Attendee.contactType; newAPAP_RegMsg.szSpouseRegFlag = (cur_Attendee.guestName.Length > 0) ? "yes" : "no"; newAPAP_RegMsg.szAttendLuncheonFlag = (cur_Attendee.AttendLuncheon == true) ? "yes" : "no"; newAPAP_RegMsg.szNumTicketsPurchased = cur_Attendee.LuncheonTicketsPurchased.ToString(); newAPAP_RegMsg.szFirstTimeFlag = (cur_Attendee.FirstTime == true) ? "yes" : "no"; newAPAP_RegMsg.szVolunteerFlag = (cur_Attendee.Volunteer == true) ? "yes" : "no"; newAPAP_RegMsg.szExcludeEmailFlag = (cur_Attendee.OptOut == true) ? "yes" : "no"; newAPAP_RegMsg.szHeardAboutEvent = cur_Attendee.HeardAboutValue; newAPAP_RegMsg.szPerID = cur_Attendee.cventInvitteeId; newAPAP_RegMsg.szRegDate = cur_Attendee.regDate; newAPAP_RegMsg.szRegID = cur_Attendee.confirmationNumber; newAPAP_RegMsg.szJobTitle = cur_Attendee.title; newAPAP_RegMsg.szSponsorAwardTableFlag = (cur_Attendee.SponsorLunchTable == true) ? "yes" : "no"; newAPAP_RegMsg.szPaymentMethod = cur_Attendee.paymentMethod; string result = regMessenger.SendNewMsg(newAPAP_RegMsg, JEmail); return(result); }
public bool UpdateRegLogAsProcessed(CventAttendee att) { bool UpdatedLogSuccessfully = false; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["HRSQL"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); try { SqlCommand cmd = con.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "Update WebhooksAPAPinvitee set ProtechReturnMessage='', ProtechReturnGUID = @ProtechReturnGUID where CventInviteeGUID = @CventInviteeGUID "; cmd.Parameters.Add(new SqlParameter("@ProtechReturnGUID", att.ProcessedGUID)); cmd.Parameters.Add(new SqlParameter("@CventInviteeGUID", att.cventInvitteeId)); con.Open(); cmd.ExecuteNonQuery(); con.Close(); UpdatedLogSuccessfully = true; } catch (Exception ex) { //if log previous log attempt fails, then just log the basics SqlCommand fail_cmd = con.CreateCommand(); fail_cmd.CommandType = CommandType.Text; fail_cmd.CommandText = "insert into WebhookLog ( JsonMessageBody ) values (@JsonMessageBody) "; fail_cmd.Parameters.Add(new SqlParameter("@JsonMessageBody", ex.Message.ToString())); if (con != null) { con.Close(); } con.Open(); fail_cmd.ExecuteNonQuery(); con.Close(); UpdatedLogSuccessfully = false; } finally { if (con != null) { con.Close(); } } return(UpdatedLogSuccessfully); }
public bool CreateRegLog(CventAttendee att, string jsonMsgBody, string eventStub) { //Attempt to log all information about registered attendee bool LoggedCallSuccessfully = false; DateTime dt; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["HRSQL"].ConnectionString; SqlConnection con = new SqlConnection(connectionString); try { dt = Convert.ToDateTime(att.regDate); } catch { dt = DateTime.Now; } bool SpouseReg = (att.guestName.Length > 0) ? true : false; try { SqlCommand cmd = con.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "insert into WebhooksAPAPinvitee ( CreateDate, InviteeObjectSerialized , ConfirmationNumber, PersonMembershipId, OrgMembershipId, RegType, firstname, lastname, email, eventId, ExcludeEmail,FirstTime, Volunteer, HeardAboutEvent, CventInviteeGUID, RegDate, NumTicketsPurchased, paymentMethod, attendLuncheon, SponsorAwardTable, SpouseReg ) values (@CreateDate, @InviteeObjectSerialized, @ConfirmationNumber, @PersonMembershipId, @OrgMembershipId, @RegType, @firstname, @lastname, @email, @eventId, @ExcludeEmail,@FirstTime, @Volunteer, @HeardAboutEvent, @CventInviteeGUID, @RegDate, @NumTicketsPurchased, @paymentMethod, @attendLuncheon, @SponsorAwardTable, @SpouseReg) "; cmd.Parameters.Add(new SqlParameter("@CreateDate", DateTime.Now)); cmd.Parameters.Add(new SqlParameter("@InviteeObjectSerialized", jsonMsgBody)); cmd.Parameters.Add(new SqlParameter("@ConfirmationNumber", att.confirmationNumber)); cmd.Parameters.Add(new SqlParameter("@PersonMembershipId", att.personMembershipId)); cmd.Parameters.Add(new SqlParameter("@OrgMembershipId", att.orgMembershipId)); cmd.Parameters.Add(new SqlParameter("@RegType", att.contactType)); cmd.Parameters.Add(new SqlParameter("@firstname", att.firstName)); cmd.Parameters.Add(new SqlParameter("@lastname", att.lastName)); cmd.Parameters.Add(new SqlParameter("@email", att.email)); cmd.Parameters.Add(new SqlParameter("@eventId", eventStub)); cmd.Parameters.Add(new SqlParameter("@ExcludeEmail", att.OptOut)); cmd.Parameters.Add(new SqlParameter("@FirstTime", att.FirstTime)); cmd.Parameters.Add(new SqlParameter("@Volunteer", att.Volunteer)); cmd.Parameters.Add(new SqlParameter("@HeardAboutEvent", att.HeardAboutValue)); cmd.Parameters.Add(new SqlParameter("@CventInviteeGUID", att.cventInvitteeId)); cmd.Parameters.Add(new SqlParameter("@RegDate", dt)); cmd.Parameters.Add(new SqlParameter("@NumTicketsPurchased", att.LuncheonTicketsPurchased)); cmd.Parameters.Add(new SqlParameter("@paymentMethod", att.paymentMethod)); cmd.Parameters.Add(new SqlParameter("@attendLuncheon", att.AttendLuncheon)); cmd.Parameters.Add(new SqlParameter("@SponsorAwardTable", att.SponsorLunchTable)); cmd.Parameters.Add(new SqlParameter("@SpouseReg", SpouseReg)); con.Open(); cmd.ExecuteNonQuery(); con.Close(); LoggedCallSuccessfully = true; } catch (Exception ex) { //if log previous log attempt fails, then just log the basics SqlCommand fail_cmd = con.CreateCommand(); fail_cmd.CommandType = CommandType.Text; fail_cmd.CommandText = "insert into WebhooksMessageLog ( JsonMessageBody ) values (@JsonMessageBody) "; fail_cmd.Parameters.Add(new SqlParameter("@JsonMessageBody", ex.Message.ToString())); if (con != null) { con.Close(); } con.Open(); fail_cmd.ExecuteNonQuery(); con.Close(); LoggedCallSuccessfully = false; } finally { if (con != null) { con.Close(); } } return(LoggedCallSuccessfully); }
public CventAttendee GetCventAttendee(string registrationGUID, string eventGUID, string APIEventPW) { int iNumPurchased = 0; CventAttendee cur_Attendee = new CventAttendee(); cur_Attendee.cventInvitteeId = registrationGUID; //try //{ var PullFromCvent = new MRARegForIS(); //DetailedRegistrant[] var CventRegData = PullFromCvent.GetRegistrationDetails(eventGUID, APIEventPW, registrationGUID); if (CventRegData != null) { //There will really only be one record, but, need to treat return type like an array foreach (DetailedRegistrant dr in CventRegData) { if (dr != null) { //Guest Registration - only need to check if there is one cur_Attendee.confirmationNumber = dr.MRARegConfirmation; cur_Attendee.contactType = dr.RegistrationType; if (cur_Attendee.contactType == "Board Track (Code Required)") { cur_Attendee.contactType = "Board Track"; } if (cur_Attendee.contactType == "APAP Programs (Code Required)") { cur_Attendee.contactType = "APAP Program"; } if (cur_Attendee.contactType == "Student (Code Required)") { cur_Attendee.contactType = "Student"; } cur_Attendee.firstName = dr.FirstName; cur_Attendee.lastName = dr.LastName; cur_Attendee.email = dr.Email; cur_Attendee.regDate = dr.RegistrationDate.ToString(); cur_Attendee.title = dr.Title; if (dr.GuestRegistrations != null) { foreach (GuestRegistration guest in dr.GuestRegistrations) { if (guest.LastName.Length > 0 && guest.FirstName.Length > 0) { cur_Attendee.guestName = guest.LastName + " " + guest.FirstName; } else { cur_Attendee.guestName = guest.LastName + guest.FirstName; } } } foreach (OptionalItem oi in dr.OptionalItemRegistrations) { //Luncheon Session for Primary REgistrant if (oi.SessionId.ToUpper() == LuncheonSessionCustomFieldGUID.ToUpper() && oi.Quantity == 1) { if (oi.OptionalFee == 0) { cur_Attendee.AttendLuncheon = true; } else { iNumPurchased = iNumPurchased + 1; } } //Luncheon Session for Guest if (oi.SessionId.ToUpper() == LuncheonTicketCustomFieldGUID.ToUpper() && oi.Quantity == 1) { iNumPurchased = iNumPurchased + 1; } if (oi.SessionId.ToUpper() == PayByCheckCustomFieldGUID.ToUpper() && oi.Quantity == 1) { cur_Attendee.paymentMethod = "Check"; } if (oi.SessionId.ToUpper() == PayByWireTransferCustomFieldGUID.ToUpper() && oi.Quantity == 1) { cur_Attendee.paymentMethod = "Wire Transfer"; } } cur_Attendee.LuncheonTicketsPurchased = iNumPurchased; //Check to see if there is a credit card payment foreach (Transaction tract in dr.Transactions) { if (tract.TransactionType.ToUpper() == "Credit Card" && tract.TransactionAmount > 0) { cur_Attendee.paymentMethod = "Credit Card"; } } foreach (CustomQuestion cq in dr.CustomQuestions) { //First Time Attendee if (cq.MRAId.ToUpper() == FirstTimeCustomFieldGUID.ToUpper()) { cur_Attendee.FirstTime = (cq.Answer == "Yes - this is my first APAP Conference.") ? true : false; } //Email - would like to opt out if (cq.MRAId == EmailOptOutCustomFieldGUID) { cur_Attendee.OptOut = (cq.Answer == "No") ? true : false; } //Volunteer - would like to be one if (cq.MRAId == VolunteerCustomFieldGUID) { cur_Attendee.Volunteer = (cq.Answer == "No") ? false : true; } if (cq.MRAId == SponsorAwardTableCustomFieldGUID) { cur_Attendee.SponsorLunchTable = (cq.Answer == "No") ? false : true; } if (cq.MRAId == HeardAboutEventCustomFieldGUID) { cur_Attendee.HeardAboutValue = cq.Answer; } if (cq.MRAId == PersonIdFieldGUID) { cur_Attendee.personMembershipId = cq.Answer; } if (cq.MRAId == OrgIdFieldGUID) { cur_Attendee.orgMembershipId = cq.Answer; } } } } } //} //catch (Exception) // { return(cur_Attendee); }