public ActionResult Buy(BuyTicketModel model) { if (ModelState.IsValid) { try { Guest guest = new Guest(); string email = User.Identity.Name; int memberId = _memberManager.RetrieveMemberByEmail(email); guest = _guestManager.RetrieveGuestByEmail(email); MemberTab memberTab = _memberTabManager.RetrieveActiveMemberTabByMemberID(memberId); Offering offering = _offeringManager.RetrieveOfferingByID(model.OfferingID); MemberTabLine tab = new MemberTabLine() { MemberTabID = memberTab.MemberTabID, OfferingID = model.OfferingID, Quantity = model.Quantity, Price = model.Price, EmployeeID = offering.EmployeeID, Discount = 0, GuestID = guest.GuestID, DatePurchased = DateTime.Now }; if (_memberTabManager.CreateMemberTabLine(tab) != 0) { TempData["success"] = new SuccessViewModel( Title: "an Event!", dateTime: model.Date.ToShortDateString(), type: model.EventTitle, time: " the greatest time of your life", ButtonMessage: "Go to Account", ReturnController: "MyAccount", ReturnAction: "Index" ); return(RedirectToAction("Index", "Success")); } } catch (Exception ex) { TempData["error"] = new ErrorViewModel( Title: "Events", Message: "We could not purhcase your ticket at this time ", ExceptionMessage: ex.Message, ButtonMessage: "Try again", ReturnController: "Event", ReturnAction: "Index" ); return(RedirectToAction("Index", "Error")); } } return(View(model)); }
public List <MemberTabLine> SelectMemberTabLineByMemberTabID(int id) { List <MemberTabLine> memberTabLines = new List <MemberTabLine>(); var conn = DBConnection.GetDbConnection(); var cmdText = @"sp_select_membertablines"; SqlCommand cmd = new SqlCommand(cmdText, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@MemberTabID", id); try { conn.Open(); var rdr = cmd.ExecuteReader(); if (rdr.HasRows) { while (rdr.Read()) { var tab = new MemberTabLine() { MemberTabLineID = rdr.GetInt32(0), MemberTabID = rdr.GetInt32(1), OfferingID = rdr.GetInt32(2), Quantity = rdr.GetInt32(3), Price = (decimal)rdr.GetSqlMoney(4), EmployeeID = rdr.GetInt32(5), Discount = rdr.GetDecimal(6), GuestID = rdr.GetInt32(7), PurchasedDate = rdr.GetDateTime(8) }; memberTabLines.Add(tab); } } } catch (Exception ex) { throw ex; } finally { conn.Close(); } return(memberTabLines); }
/// <summary author="James Heim" created="2019/04/25"> /// Retrieve the line on a tab by its unique ID. /// </summary> /// <param name="memberTabLineID"></param> /// <returns>The TabLine specific to the suppied ID.</returns> public MemberTabLine RetrieveMemberTabLineByID(int memberTabLineID) { MemberTabLine tabLine = null; try { tabLine = _memberTabAccessor.SelectMemberTabLineByID(memberTabLineID); } catch (Exception ex) { ExceptionLogManager.getInstance().LogException(ex); throw ex; } return(tabLine); }
/// <summary author="James Heim" created="2019/04/25"> /// Create a new line on the member's tab and return the ID of that line. /// Throws an exception if the ID is not updated by the database. /// </summary> /// <param name="memberTabLine"></param> /// <returns>The ID of the newly created MemberTab.</returns> public int CreateMemberTabLine(MemberTabLine memberTabLine) { int memberTabLineID = -1; try { memberTabLineID = _memberTabAccessor.InsertMemberTabLine(memberTabLine); if (memberTabLineID == -1) { throw new ApplicationException("TabLine ID was not set by the database."); } } catch (Exception ex) { ExceptionLogManager.getInstance().LogException(ex); throw ex; } return(memberTabLineID); }
/// <summary> /// James Heim /// Created 2019-04-25 /// /// Create a new tabline. /// </summary> /// <param name="memberTabLine"></param> /// <returns></returns> public int InsertMemberTabLine(MemberTabLine memberTabLine) { int memberTabLineID = -1; var conn = DBConnection.GetDbConnection(); var cmdText = @"sp_insert_membertabline"; SqlCommand cmd = new SqlCommand(cmdText, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MemberTabLineID", SqlDbType.Int); cmd.Parameters["@MemberTabLineID"].Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@MemberTabID", memberTabLine.MemberTabID); cmd.Parameters.AddWithValue("@OfferingID", memberTabLine.OfferingID); cmd.Parameters.AddWithValue("@Quantity", memberTabLine.Quantity); cmd.Parameters.AddWithValue("@Price", memberTabLine.Price); cmd.Parameters.AddWithValue("@EmployeeID", memberTabLine.EmployeeID); cmd.Parameters.AddWithValue("@Discount", memberTabLine.Discount); cmd.Parameters.AddWithValue("@GuestID", memberTabLine.GuestID); cmd.Parameters.AddWithValue("@DatePurchased", memberTabLine.DatePurchased); try { conn.Open(); memberTabLineID = cmd.ExecuteNonQuery(); memberTabLine.MemberTabLineID = memberTabLineID; } catch (Exception) { throw; } finally { conn.Close(); } return(memberTabLineID); }
/// <summary> /// James Heim /// Created 2019-04-25 /// /// Select a TabLine by the specified ID. /// </summary> /// <param name="memberTabLineID"></param> /// <returns></returns> public MemberTabLine SelectMemberTabLineByID(int memberTabLineID) { MemberTabLine tabLine = null; var conn = DBConnection.GetDbConnection(); var cmdText = @"sp_select_membertabline"; SqlCommand cmd = new SqlCommand(cmdText, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@MemberTabLineID", memberTabLineID); try { conn.Open(); var reader = cmd.ExecuteReader(); if (reader.HasRows) { reader.Read(); tabLine = new MemberTabLine() { MemberTabLineID = reader.GetInt32(0), MemberTabID = reader.GetInt32(1), OfferingID = reader.GetInt32(2), Quantity = reader.GetInt32(3), Price = (decimal)reader.GetSqlMoney(4), DatePurchased = reader.GetDateTime(8) }; // Employee ID is nullable. if (reader.IsDBNull(5)) { tabLine.EmployeeID = null; } else { tabLine.EmployeeID = reader.GetInt32(5); } // Discount is nullable. if (reader.IsDBNull(6)) { tabLine.Discount = 0; } else { tabLine.Discount = reader.GetDecimal(6); } // GuestID is nullable. if (reader.IsDBNull(7)) { tabLine.GuestID = null; } else { tabLine.GuestID = reader.GetInt32(7); } } } catch (Exception ex) { throw ex; } finally { conn.Close(); } return(tabLine); }
public int InsertMemberTabLine(MemberTabLine memberTabLine) { throw new NotImplementedException(); }