public void AddNewReservation(ReservationModelView reservationModelView) { string[] dates = reservationModelView.expiry.Split('/'); int mount = int.Parse(dates[0]); int year = int.Parse(dates[1]) + 2000; CreditCard creditCard = new CreditCard() { NameSurname = reservationModelView.name, CardNumber = reservationModelView.number, ExpDate = new DateTime(year, mount, 1), CVV = reservationModelView.cvc }; creditCardRepository.Add(creditCard); creditCardRepository.Complete(); TicketReservation ticketReservation = new TicketReservation() { IdCreditCard = creditCard.Id, IdTicket = reservationModelView.IdTicket, Created = DateTime.Now, Email = reservationModelView.Email, FullName = reservationModelView.FullName, Quantity = reservationModelView.Quantity }; ticketReservationRepository.Add(ticketReservation); ticketReservationRepository.Complete(); }
public bool RemoveReservations(Schedule Schedule, List <SeatStatusChange> Seats, Guid MachineID, bool IsBookingCancelation) { long userid; SecuredUsers.Items.TryGetValue(Context.ConnectionId, out userid); var dtos = Seats.Select(s => new TicketReservationDTO { ScheduleID = Schedule.ID, SeatID = s.SeatID, OperatorID = userid }); var xml = new TicketReservationWrapperDTO { IsBookingCancelation = IsBookingCancelation, Reservations = dtos.ToList() }.ToXml(); var repo = new TicketReservation(); repo.TX(1, xml); if (!repo.IsError) { Clients.All.RemoteReserveSeats(Schedule, Seats, MachineID); } return(!repo.IsError); }
public bool ReserveSeats(int OperatorStockID, long CustomerID, Schedule Schedule, List <SeatStatusChange> Seats, Guid MachineID) { long userid; SecuredUsers.Items.TryGetValue(Context.ConnectionId, out userid); var repo = new TicketReservation(); var reservedSeats = Seats.Where(s => !s.IsBooking && s.IsReserved).ToList(); var dtos = reservedSeats.Select(s => new TicketReservationDTO { ScheduleID = Schedule.ID, SeatID = s.SeatID, OperatorID = userid, StatusCode = 1 }); var xml = new TicketReservationWrapperDTO { Reservations = dtos.ToList() }.ToXml(); repo.TX(0, xml); if (!repo.IsError) { Clients.All.RemoteReserveSeats(Schedule, reservedSeats, MachineID); } return(!repo.IsError); }
void UpdateBlockReservation() { long sessionID; bool isBlocked; var success = false; if (bool.TryParse(Request.Form["isBlocked"], out isBlocked) && long.TryParse(Request.QueryString["sessionID"], out sessionID)) { var seats = JsonConvert.DeserializeXNode(Request.Form["data"], "data").Root; var xml = new TicketReservationWrapperDTO { IsUnblocking = !isBlocked, Reservations = seats.Children("seats").Select(s => new TicketReservationDTO { ScheduleID = sessionID, SeatID = s.LongValueOf("seatID").Value, StatusCode = 7 }).ToList() }.ToXml(); var repo = new TicketReservation(); var iud = (byte)(isBlocked ? 0 : 1); repo.TX(iud, xml); success = !repo.IsError; } Response.WriteJson(new { Success = success }); }
public static TicketReservation CreateReservation(Event Event, int tktQty) { TicketReservation reservation = new TicketReservation(); reservation.Id = Guid.NewGuid(); reservation.Event = Event; reservation.ExpiryTime = DateTime.Now.AddMinutes(1); reservation.TicketQuantity = tktQty; return(reservation); }
public async Task <IHttpActionResult> PutTicketReservation(TicketReservation ticketReservation) { if (ticketReservation == null) { return(BadRequest()); } _unitOfWork.TicketReservation.Update(ticketReservation); await _unitOfWork.Complete(); return(Ok(ticketReservation)); }
public static ReserveTicketResponse ConvertToReserveTicketResponse(this TicketReservation ticketReservation) { ReserveTicketResponse response = new ReserveTicketResponse(); response.EventId = ticketReservation.Event.Id.ToString(); response.EventName = ticketReservation.Event.Name; response.NoOfTickets = ticketReservation.TicketQuantity; response.ExpirationDate = ticketReservation.ExpiryTime; response.ReservationNumber = ticketReservation.Id.ToString(); return(response); }
public async Task <ActionResult> PostTicketReservation(TicketReservationDTO ticketReservationDTO) { if (ticketReservationDTO == null) { return(BadRequest()); } TicketReservation ticketReservation = new TicketReservation(); ticketReservation.TicketNo = ticketReservationDTO.TicketNo; ticketReservation.PassengerName = ticketReservationDTO.PassengerName; ticketReservation.PassengerPhoneNo = ticketReservationDTO.PassengerPhoneNo; ticketReservation.PassengerEmail = ticketReservationDTO.PassengerEmail; ticketReservation.Gender = ticketReservationDTO.Gender; ticketReservation.NoOfTicket = ticketReservationDTO.NoOfTicket; ticketReservation.UnitPrice = ticketReservationDTO.UnitPrice; ticketReservation.SeatNo = ticketReservationDTO.SeatNo; ticketReservation.ReservationDate = ticketReservationDTO.ReservationDate; ticketReservation.RouteDetailID = ticketReservationDTO.RouteDetailID; _unitOfWork.TicketReservation.Add(ticketReservation); await _unitOfWork.Complete(); Payment payment = new Payment(); payment.TicketResrvID = ticketReservation.TicketResrvID; payment.VendorName = ticketReservationDTO.VendorName; payment.PaymentAmount = ticketReservationDTO.PaymentAmount; payment.TransactionID = ticketReservationDTO.TransactionID; payment.PaymentDate = ticketReservationDTO.PaymentDate; _unitOfWork.Payment.Add(payment); await _unitOfWork.Complete(); StringBuilder sb = new StringBuilder("", 200); _passangerPhoneNumber = ticketReservation.PassengerPhoneNo; sb.Append("Please Confirm Your Payment!!\n"); sb.AppendLine("Your Ticket No: " + ticketReservation.TicketNo + "\n"); sb.AppendLine("Your Journey Date : " + ticketReservation.ReservationDate.Date + "\n"); sb.AppendLine("Your Seat No : " + ticketReservation.SeatNo.ToString() + "\n"); sb.AppendLine("Thank Your for using our service\n"); SendOneToOneSingleSms(ticketReservation.PassengerPhoneNo, sb.ToString()); return(Ok(ticketReservation)); }
public async Task <IHttpActionResult> PostTicketReservation(TicketReservationDTO ticketReservationDTO) { if (ticketReservationDTO == null) { return(BadRequest()); } TicketReservation ticketReservation = new TicketReservation(); ticketReservation.TicketNo = ticketReservationDTO.TicketNo; ticketReservation.PassengerName = ticketReservationDTO.PassengerName; ticketReservation.PassengerPhoneNo = ticketReservationDTO.PassengerPhoneNo; ticketReservation.PassengerEmail = ticketReservationDTO.PassengerEmail; ticketReservation.Gender = ticketReservationDTO.Gender; ticketReservation.NoOfTicket = ticketReservationDTO.NoOfTicket; ticketReservation.UnitPrice = ticketReservationDTO.UnitPrice; ticketReservation.SeatNo = ticketReservationDTO.SeatNo; ticketReservation.ReservationDate = ticketReservationDTO.ReservationDate; ticketReservation.RouteDetailID = ticketReservationDTO.RouteDetailID; _unitOfWork.TicketReservation.Add(ticketReservation); await _unitOfWork.Complete(); Payment payment = new Payment(); payment.TicketResrvID = ticketReservation.TicketResrvID; payment.VendorName = ticketReservationDTO.VendorName; payment.PaymentAmount = ticketReservationDTO.PaymentAmount; payment.TransactionID = ticketReservationDTO.TransactionID; payment.PaymentDate = ticketReservationDTO.PaymentDate; _unitOfWork.Payment.Add(payment); await _unitOfWork.Complete(); SendOneToOneSingleSms(ticketReservation.PassengerPhoneNo, "Success"); return(Ok(ticketReservation)); }
public static List <TicketReservation> Ticket(int Seat, int BusScheduleId, DateTime Date) { List <TicketReservation> BusTicketBooking = new List <TicketReservation>(); int c = 1; var SeatText = 65; for (int i = 0; i < Seat; i++) { TicketReservation vs = new TicketReservation() { ConfirmStatus = false, BusScheduleId = BusScheduleId, Date = Date, AgentId = 1, PassengerId = 1, TicketReservationId = 0 }; int k = i; if (k % 4 == 0 && k > 0) { SeatText++; c = 1; } var t = (char)SeatText; var o = t.ToString(); vs.SeatNumber = o + " " + c; BusTicketBooking.Add(vs); c++; } return(BusTicketBooking); }
public Event FindBy(Guid id) { Event Event = default(Event); string queryString = "SELECT * FROM dbo.Events WHERE Id = @EventId " + "SELECT * FROM dbo.PurchasedTickets WHERE EventId = @EventId " + "SELECT * FROM dbo.ReservedTickets WHERE EventId = @EventId;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = connection.CreateCommand(); command.CommandText = queryString; SqlParameter Idparam = new SqlParameter("@EventId", id.ToString()); command.Parameters.Add(Idparam); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { if (reader.HasRows) { reader.Read(); Event = new Event(); Event.PurchasedTickets = new List <TicketPurchase>(); Event.ReservedTickets = new List <TicketReservation>(); Event.Allocation = int.Parse(reader["Allocation"].ToString()); Event.Id = new Guid(reader["Id"].ToString()); Event.Name = reader["Name"].ToString(); if (reader.NextResult()) { if (reader.HasRows) { while (reader.Read()) { TicketPurchase ticketPurchase = new TicketPurchase(); ticketPurchase.Id = new Guid(reader["Id"].ToString()); ticketPurchase.Event = Event; ticketPurchase.TicketQuantity = int.Parse(reader["TicketQuantity"].ToString()); Event.PurchasedTickets.Add(ticketPurchase); } } } if (reader.NextResult()) { if (reader.HasRows) { while (reader.Read()) { TicketReservation ticketReservation = new TicketReservation(); ticketReservation.Id = new Guid(reader["Id"].ToString()); ticketReservation.Event = Event; ticketReservation.ExpiryTime = DateTime.Parse(reader["ExpiryTime"].ToString()); ticketReservation.TicketQuantity = int.Parse(reader["TicketQuantity"].ToString()); ticketReservation.HasBeenRedeemed = bool.Parse(reader["HasBeenRedeemed"].ToString()); Event.ReservedTickets.Add(ticketReservation); } } } } } } return(Event); }
public IActionResult ConfirmTicket(List <TicketReservationVm> a, string PassengerName, int PassengerMobile) { var ab = a.Where(s => s.ConfirmStatus == true && s.MightBeReserve == true).ToList(); if (ab.Count != 0) { Passenger p = new Passenger() { PassengerId = 0, Mobile = PassengerMobile, Name = PassengerName }; _context.Passengers.Add(p); _context.SaveChanges(); var seatList = new List <string>(); foreach (var item in ab) { TicketReservation c = new TicketReservation() { TicketReservationId = item.TicketReservationId, AgentId = item.AgentId, ConfirmStatus = item.ConfirmStatus, BusScheduleId = item.BusScheduleId, Date = item.Date, PassengerId = p.PassengerId, SeatNumber = item.SeatNumber }; _context.TicketReservations.Update(c); _context.SaveChanges(); seatList.Add(c.SeatNumber); } var ss = _context.BusSchedules.AsNoTracking().Include(sp => sp.Bus).ToList(); var pa = _context.Places.AsNoTracking().ToList(); var pp = _context.Places.AsNoTracking().ToList(); var s = from abc in ss join ab1 in pa on abc.StartingFrom equals ab1.PlaceId join aaab in pp on abc.Destination equals aaab.PlaceId where abc.BusScheduleId == ab[0].BusScheduleId select new { DestinationName = aaab.PlaceName, StartingFromName = ab1.PlaceName, Time = abc.Time, CoachName = abc.Bus.CoachName, TicketPrice = abc.TicketPrice, }; TicketVm t = new TicketVm() { PassengerName = p.Name, Mobile = p.Mobile, Seat = seatList, }; foreach (var item in s) { t.Destination = item.DestinationName; t.StartFrom = item.StartingFromName; t.TicketPrice = item.TicketPrice; t.Date = a[0].Date; t.BusName = item.CoachName; t.Time = item.Time; } t.TotalCost = t.TicketPrice * ab.Count(); return(View(t)); } return(RedirectToAction("Index")); }