protected void btnCreateTicket_Click(object sender, EventArgs e) { var res = Helper.GetResourceTreeItemCollection().GetResource(ResourceID); litErrMsg.Text = string.Empty; string helpdeskEmail = GetHelpdeskEmail(res); bool load = true; if (string.IsNullOrEmpty(txtSubject.Text)) { litErrMsg.Text = WebUtility.BootstrapAlert("danger", "Please enter a subject.", true); } else if (string.IsNullOrEmpty(txtMessage.Text)) { litErrMsg.Text = WebUtility.BootstrapAlert("danger", "Please enter a message.", true); } else if (string.IsNullOrEmpty(helpdeskEmail)) { litErrMsg.Text = WebUtility.BootstrapAlert("danger", "An error occurred while creating the ticket. A helpdesk email is not configured for this resource.", true); } else { IReservation rsv = null; if (ddlReservations.SelectedValue != "None") { rsv = Provider.Scheduler.Reservation.GetReservation(int.Parse(ddlReservations.SelectedValue)); } string subjectText = "[" + res.ResourceID.ToString() + ":" + res.ResourceName + "] " + txtSubject.Text; CreateTicketResult addTicketResult = HelpdeskUtility.CreateTicket(CurrentUser, res, rsv, CurrentUser.ClientID, ddlReservations.SelectedItem.Text, subjectText, txtMessage.Text, ddlTicketType.SelectedItem.Text, Request.Url); if (addTicketResult.Success) { litErrMsg.Text = WebUtility.BootstrapAlert("success", string.Format("Your ticket has been created. A confirmation email has been sent to {0}.", CurrentUser.Email)); load = false; } else { StringBuilder sb = new StringBuilder(); sb.AppendLine(string.Format("Create ticket failed. User: {0} ({1}). Resource: {2} ({3})", CurrentUser.DisplayName, CurrentUser.ClientID, res.ResourceName, res.ResourceID)); sb.AppendLine(string.Format("----------{0}{1}", Environment.NewLine, addTicketResult.Exception.Message)); SendEmail.SendDeveloperEmail("LNF.Web.Scheduler.Controls.Helpdesk.btnCreateTicket_Click", "Create Ticket Error", sb.ToString()); litErrMsg.Text = WebUtility.BootstrapAlert("danger", "Sorry, an error occurred and your ticket was not created. A notification has been sent to LNF staff."); } } if (load) { //LoadOpenTickets(); } LoadReservations(); }