public ActionResult TransactionSummary()
        {
            if (null == Session["UserId"])
            {
                return(RedirectToAction("../CustomerAccount/Login"));
            }

            List <TransactionSummary> transactionSummaries = new List <TransactionSummary>();
            int UserId = Convert.ToInt32(Session["UserId"]);
            List <Reservation> reservations = db.Reservations.Where(u => u.ID == UserId).ToList();

            Transaction.TrxnWebServiceClient transaction = new Transaction.TrxnWebServiceClient();
            foreach (Reservation res in reservations)
            {
                string             summary            = transaction.getTransaction(res.ReservationNumber);
                TransactionSummary transactionSummary = new TransactionSummary();
                String[]           transactionArray   = summary.Split(',');
                transactionSummary.TransactionID = Convert.ToInt32(transactionArray[0]);
                transactionSummary.NameOnCard    = transactionArray[1];
                transactionSummary.CardNumber    = transactionArray[2];
                transactionSummary.CardType      = transactionArray[3];
                transactionSummary.qty           = Convert.ToInt32(transactionArray[4]);
                transactionSummary.Price         = Convert.ToDouble(transactionArray[5]);
                transactionSummary.TotalPrice    = Convert.ToDouble(transactionArray[6]);
                transactionSummaries.Add(transactionSummary);
            }


            return(View(transactionSummaries));
        }
        public ActionResult MakePayment(CardDetail cardDetail)
        {
            if (null == Session["UserId"])
            {
                return(RedirectToAction("../CustomerAccount/Login"));
            }
            Room room = (Room)Session["room"];

            Reservation reservation = new Reservation();

            reservation.CheckInDate  = (DateTime)Session["CheckInDate"];
            reservation.CheckOutDate = (DateTime)Session["CheckOutDate"];
            reservation.RoomNumber   = room.RoomNumber;
            reservation.NoOfRooms    = 1;
            reservation.NoOfGuests   = (int)Session["NoOfGuests"];
            reservation.ID           = Convert.ToInt32(Session["UserId"]);
            long reservid = db.reservations.LongCount(); //!= 1 ? db.reservations.Max(u => u.ReservationNumber) : 1;

            reservation.ReservationNumber = Convert.ToInt16(++reservid);
            db.reservations.Add(reservation);
            db.SaveChanges();
            TransactionSummary transactionSummary = new TransactionSummary();

            transactionSummary.TransactionID = reservation.ReservationNumber;
            transactionSummary.CardNumber    = cardDetail.CardNumber;
            transactionSummary.NameOnCard    = cardDetail.NameOnCard;
            transactionSummary.Price         = double.Parse(room.Price.ToString());
            transactionSummary.qty           = Convert.ToInt32(((DateTime)reservation.CheckOutDate - (DateTime)reservation.CheckInDate).TotalDays);
            transactionSummary.TotalPrice    = (transactionSummary.qty * transactionSummary.Price);
            transactionSummary.ExpDate       = cardDetail.ExpDate;
            transactionSummary.CardType      = cardDetail.CardType.ToString();

            Transaction.TrxnWebServiceClient webservice = new Transaction.TrxnWebServiceClient();
            webservice.createTransaction(transactionSummary.TransactionID, transactionSummary.NameOnCard, transactionSummary.CardNumber, transactionSummary.Price, transactionSummary.qty, transactionSummary.TotalPrice, transactionSummary.ExpDate, transactionSummary.CardType);
            return(RedirectToAction("TransactionSummary", transactionSummary));
        }