Example #1
0
 public HomeController(ILogger <HomeController> logger, TicketServices ticketServices, UserManager <User> userManager, DeviceServices DeviceServices)
 {
     _logger         = logger;
     _ticketServices = ticketServices;
     _userManager    = userManager;
     _deviceServices = DeviceServices;
 }
Example #2
0
        public ActionResult TicketForSeance(int id)
        {
            _ticketServices = new TicketServices();
            var model = _ticketServices.GetTicketForSeance(id);

            return(View(model));
        }
        public void Create_ValidTicketParameters_ValidTicketCreateDto()
        {
            _mapper.Setup(x => x.Map <Domain.Core.Ticket, DataTransferObjects.Ticket.TicketCreateDto>(It.IsAny <Domain.Core.Ticket>()))
            .Returns(new DataTransferObjects.Ticket.TicketCreateDto()
            {
                Name         = "Santiago",
                LastName     = "Arias",
                Area         = Aplication.Enums.TicketArea.Administracion,
                Email        = "*****@*****.**",
                CreationDate = DateTime.Now,
                Number       = 15485,
                Description  = "La drecripciĆ³n del ticket tiene que ir en este lugar.",
                Telephone    = "154187286",
            });



            var ticketServices = new TicketServices(_ticketRepository.Object, _uow.Object, _mapper.Object);

            // Testing Valid Values
            var response = ticketServices.Create("Santiago", "Arias", Aplication.Enums.TicketArea.Administracion, "154187286", "*****@*****.**", "La drecripciĆ³n del ticket tiene que ir en este lugar.");

            response.Should().NotBeNull();
            response.Name.Should().Be("Santiago");
            response.LastName.Should().Be("Arias");
            response.Area.Should().Be(Aplication.Enums.TicketArea.Administracion);
            response.Telephone.Should().Be("154187286");
            response.Email.Should().Be("*****@*****.**");
            response.CreationDate.Should().BeCloseTo(DateTime.Now, 5000);
            response.Number.Should().BeGreaterThan(9999);
        }
        public Ticket Allocate(Slot SelectedSlot, Vehicle vehicle)
        {
            Validations    validations    = new Validations();
            Display        Display        = new Display();
            TicketServices ticketServices = new TicketServices();

            SelectedSlot.ParkedVehicle = vehicle;
            while (true)
            {
                Display.Print("please enter the vehicle number");
                SelectedSlot.ParkedVehicle.VehicleNumber = Display.Scan();
                if (validations.VehicleNumber(SelectedSlot.ParkedVehicle.VehicleNumber) == true)
                {
                    break;
                }
                else
                {
                    Display.Print("Please check the format of the vehicle number");
                    Display.Print("******************************************");
                }
            }
            SelectedSlot.Availability = false;
            Display.Print("******************************************");
            Ticket ticket = ticketServices.GenerateTicket(SelectedSlot.Id, SelectedSlot.ParkedVehicle.VehicleNumber);

            Console.WriteLine($"Ticket Id:{ticket.Id}\nVehicle Number:{SelectedSlot.ParkedVehicle.VehicleNumber}\nSlot Number:{SelectedSlot.Id}\nIn-Time:{ticket.InTime}");
            Display.Print("******************************************");
            return(ticket);
        }
        public void CreateTicketNumber_ExpectValidTicketNumber()
        {
            var ticketServices = new TicketServices(_ticketRepository.Object, _uow.Object, _mapper.Object);

            // Testing Valid Values
            var response = ticketServices.CreateTicketNumber();

            response.Should().BeGreaterThan(9999);
        }
Example #6
0
        public ActionResult AddBooking(int id)
        {
            _ticketServices = new TicketServices();
            var model = _ticketServices.GetTicketById(id);

            _ticketServices.UpdateStatusTicket(model);
            int idUser = (int)TempData["idUser"];

            _ticketServices.AddBooking(idUser, model.Id);
            return(RedirectToAction("TicketForSeance", new { id = model.Seance.Id }));
        }
        public void GetTickets_ExpectListOfTicketListDto()
        {
            _mapper.Setup(x => x.Map <IEnumerable <Domain.Core.Ticket>, IEnumerable <DataTransferObjects.Ticket.TicketListDto> >(It.IsAny <List <Domain.Core.Ticket> >())).Returns(TicketFakeData.Tickets.Select(x => new DataTransferObjects.Ticket.TicketListDto()
            {
                CreationDate = x.CreationDate,
                Description  = x.Description,
                Email        = x.Email,
                Id           = x.Id,
                LastName     = x.LastName,
                Name         = x.Name,
                Number       = x.Number,
                Telephone    = x.Telephone,
                TicketArea   = x.Area
            }).ToList());

            var ticketServices = new TicketServices(_ticketRepository.Object, _uow.Object, _mapper.Object);
            var response       = ticketServices.GetTickets();

            response.Should().HaveCountGreaterThan(1);
        }
        public void GetTicketById_ValidTicketId_ExpectValidTicketDto()
        {
            var ticketReturned = new Domain.Core.Ticket
            {
                Id           = Guid.NewGuid(),
                Name         = "Santiago",
                LastName     = "Arias",
                Area         = Aplication.Enums.TicketArea.Otros,
                Description  = "Una descripcion de ticket",
                CreationDate = DateTime.Now,
                Email        = "*****@*****.**",
                Number       = 12345,
                Telephone    = "154187286"
            };

            var ticketDto = new DataTransferObjects.Ticket.TicketDto()
            {
                Id           = ticketReturned.Id,
                Name         = ticketReturned.Name,
                LastName     = ticketReturned.LastName,
                CreationDate = ticketReturned.CreationDate,
                Description  = ticketReturned.Description,
                TicketArea   = ticketReturned.Area,
                Email        = ticketReturned.Email,
                Number       = ticketReturned.Number,
                Telephone    = ticketReturned.Telephone
            };

            _mapper.Setup(x => x.Map <Domain.Core.Ticket, DataTransferObjects.Ticket.TicketDto>(It.IsAny <Domain.Core.Ticket>()))
            .Returns(ticketDto);
            _ticketRepository.Setup(x => x.GetById(It.IsAny <Guid>(), It.IsAny <string>())).Returns(ticketReturned);
            var ticketServices = new TicketServices(_ticketRepository.Object, _uow.Object, _mapper.Object);

            var response = ticketServices.GetTicketById(Guid.NewGuid());

            response.Should().BeOfType(typeof(DataTransferObjects.Ticket.TicketDto));
            response.Should().NotBeNull();
            response.Id.Should().NotBeNull();
            response.Name.Should().Be("Santiago");
        }
        public TicketModel GetTicketByIdItem(String _idItem)
        {
            var _ticket = new TicketServices().GetTicketByIdItem(_idItem);

            return(_ticket);
        }
        public TicketModel GetTicketById(String _idTicket)
        {
            TicketModel _ticket = new TicketServices().GetTicketById(_idTicket);

            return(_ticket);
        }
Example #11
0
 public TicketController(TicketServices ticketServices, UserManager <User> userManager)
 {
     _ticketService = ticketServices;
     _userManager   = userManager;
 }
        public static void Main(string[] args)
        {
            Program        program         = new Program();
            Display        Display         = new Display();
            Functions      functions       = new Functions();
            List <Ticket>  tickets         = new List <Ticket>();
            List <Slot>    AvailableSlots  = new List <Slot>();
            TicketServices ticketServices  = new TicketServices();
            ParkingSevices ParkingServices = new ParkingSevices();

            int option;

            Display.Print("WELCOME TO ABCD PARKING LOT");
            Display.Print("******************************************");
            Display.Print("please enter number of slots for 2 wheeler");
            int twoWheeler = functions.Option();

            Display.Print("please enter number of slots for 4 wheeler");
            int fourWheeler = functions.Option();

            Display.Print("please enter number of slots for heavy vehicle");
            int heavyVehicle = functions.Option();

            ParkingServices.CreateSlots(twoWheeler, fourWheeler, heavyVehicle);


            while (true)
            {
                Display.Print("select a option\n\t1.park\n\t2.Un-park");
                option = functions.Option();
                switch (option)
                {
                case 1:
                    Display.Print("please enter the valid details of the vehicle");
                    Vehicle vehicle = new Vehicle();
                    Display.Print("Choose the type of vehicle\n\t1.2 wheeler\n\t2.4 wheeler\n\t3.heavy vehicle");
                    option = functions.Option();
                    switch (option)
                    {
                    case 1:
                        vehicle.Type   = "TwoWheeler";
                        AvailableSlots = ParkingServices.Availability(vehicle.Type);
                        if (AvailableSlots != null)
                        {
                            while (true)
                            {
                                program.DisplayAvailable(AvailableSlots);
                                Display.Print("Please choose a slot number");
                                int  Number       = functions.Option();
                                Slot SelectedSlot = AvailableSlots.Find(slot => slot.Id == Number);
                                if (SelectedSlot != null)
                                {
                                    Ticket ticket = program.Allocate(SelectedSlot, vehicle);
                                    ParkingServices.Park(Number, vehicle.VehicleNumber);
                                    tickets.Add(ticket);
                                    functions.Parked();
                                    break;
                                }
                                else
                                {
                                    functions.Invalid();
                                }
                            }
                        }
                        else
                        {
                            functions.NoSlot();
                        }

                        break;

                    case 2:
                        vehicle.Type   = "FourWheeler";
                        AvailableSlots = ParkingServices.Availability(vehicle.Type);
                        if (AvailableSlots != null)
                        {
                            while (true)
                            {
                                program.DisplayAvailable(AvailableSlots);
                                Display.Print("Please choose a slot number");
                                int  Number       = functions.Option();
                                Slot SelectedSlot = AvailableSlots.Find(slot => slot.Id == Number);
                                if (SelectedSlot != null)
                                {
                                    Ticket ticket = program.Allocate(SelectedSlot, vehicle);
                                    ParkingServices.Park(Number, vehicle.VehicleNumber);
                                    tickets.Add(ticket);
                                    functions.Parked();
                                    break;
                                }
                                else
                                {
                                    functions.Invalid();
                                }
                            }
                        }
                        else
                        {
                            functions.NoSlot();
                        }

                        break;

                    case 3:
                        vehicle.Type   = "HeavyVehicle";
                        AvailableSlots = ParkingServices.Availability(vehicle.Type);
                        if (AvailableSlots != null)
                        {
                            while (true)
                            {
                                program.DisplayAvailable(AvailableSlots);
                                Display.Print("Please choose a slot number");
                                int  Number       = functions.Option();
                                Slot SelectedSlot = AvailableSlots.Find(slot => slot.Id == Number);
                                if (SelectedSlot != null)
                                {
                                    Ticket ticket = program.Allocate(SelectedSlot, vehicle);
                                    ParkingServices.Park(Number, vehicle.VehicleNumber);
                                    tickets.Add(ticket);
                                    functions.Parked();
                                    break;
                                }
                                else
                                {
                                    functions.Invalid();
                                }
                            }
                        }
                        else
                        {
                            functions.NoSlot();
                        }
                        break;
                    }

                    break;

                case 2:
                    while (true)
                    {
                        if (tickets != null && tickets.Count != 0)
                        {
                            while (true)
                            {
                                Display.Print("Please enter the ticket Id");
                                string Id             = Display.Scan();
                                Ticket SelectedTicket = tickets.Find(ticket => ticket.Id == Id);
                                if (SelectedTicket != null)
                                {
                                    Slot slot = ParkingServices.FindSlot(SelectedTicket.SlotNumber);
                                    if (slot.Availability == false)
                                    {
                                        SelectedTicket.OutTime = DateTime.Now;
                                        ParkingServices.UnPark(SelectedTicket.SlotNumber);
                                        Display.Print("******************************************");
                                        Display.Print("The vehicle is unparked");
                                        Console.WriteLine($"Ticket Id:{SelectedTicket.Id}\nVehicle Number:{SelectedTicket.VehicleNumber}\nSlot Number:{SelectedTicket.SlotNumber}\nIn-Time:{SelectedTicket.InTime}\nOut-Time:{SelectedTicket.OutTime}");
                                        Display.Print("******************************************");
                                    }
                                    else
                                    {
                                        Display.Print("the vehicle is already unparked from the slot");
                                        Display.Print("******************************************");
                                    }
                                    break;
                                }
                                else
                                {
                                    Display.Print("enter a valid ticket Id");
                                }
                            }
                            break;
                        }
                        else
                        {
                            Display.Print("no tickets are generated yet");
                            break;
                        }
                    }
                    break;

                default:
                    Display.Print("please select a valid option");
                    Display.Print("******************************************");
                    break;
                }
            }
        }