public Guid SubmitOrder(int Level, char Section, int Row, int Seat, string LastFour, ref string orderNumber) { Ticket ticket = new Ticket() { TicketNo = Guid.NewGuid(), EventID = selectedEvent.ID, Level = Level, Row = Row, Section = Section, Seat = Seat }; int count = 0; orderNumber = _TDH.GenerateTicket(ticket, ref count); _TDH.GenerateOrder(ticket.TicketNo, orderNumber, LastFour); return ticket.TicketNo; }
public string GenerateTicket(Ticket ticket, ref int rowCount) { StringBuilder OrderNumber = new StringBuilder(); Random rand = new Random(); for (int i = 0; i < 15; i++ ) { if (rand.Next(2) == 1) { OrderNumber.Append(Convert.ToChar(rand.Next(65, 90))); } else { OrderNumber.Append(rand.Next(0, 9).ToString()); } } using (SqlConnection sqlConnection = new SqlConnection(_TicketingConnection)) { sqlConnection.Open(); using (SqlCommand sqlCommand = new SqlCommand("USP_Insert_Ticket", sqlConnection)) { sqlCommand.CommandType = CommandType.StoredProcedure; sqlCommand.Parameters.Add(new SqlParameter("@TicketNumber", SqlDbType.UniqueIdentifier)); sqlCommand.Parameters.Add(new SqlParameter("@EventID", SqlDbType.Int)); sqlCommand.Parameters.Add(new SqlParameter("@Level", SqlDbType.Int)); sqlCommand.Parameters.Add(new SqlParameter("@Section", SqlDbType.NChar)); sqlCommand.Parameters.Add(new SqlParameter("@Row", SqlDbType.Int)); sqlCommand.Parameters.Add(new SqlParameter("@Seat", SqlDbType.Int)); sqlCommand.Parameters.Add(new SqlParameter("@OrderNumber", SqlDbType.NVarChar)); sqlCommand.Parameters.Add(new SqlParameter("@ReturnValue", SqlDbType.Int)); sqlCommand.Parameters["@TicketNumber"].Value = ticket.TicketNo; sqlCommand.Parameters["@EventID"].Value = ticket.EventID; sqlCommand.Parameters["@Level"].Value = ticket.Level; sqlCommand.Parameters["@Section"].Value = ticket.Section; sqlCommand.Parameters["@Row"].Value = ticket.Row; sqlCommand.Parameters["@Seat"].Value = ticket.Seat; sqlCommand.Parameters["@OrderNumber"].Value = OrderNumber.ToString(); sqlCommand.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue; sqlCommand.ExecuteNonQuery(); rowCount = Convert.ToInt32(sqlCommand.Parameters["@ReturnValue"].Value); return OrderNumber.ToString(); } } }