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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
 public int InsertMemberTabLine(MemberTabLine memberTabLine)
 {
     throw new NotImplementedException();
 }