Пример #1
0
        private static void UpdateVisitorAndParkingLot(SpaceParkContext context)
        {
            var visitorName = StandardMessaging.OutputStringReadUserInput("Name: ");

            Visitor VisitorToPay = Visitor.GetPayingVisitor(context, visitorName);

            Receipt.GetReceipt(VisitorToPay);
            Visitor.ChangePaymentStatus(context, VisitorToPay);
        }
Пример #2
0
        public static void ShowCurrentVisitorsList(SpaceParkContext context)
        {
            var visitors = context.Visitors.Where(visitor => visitor.HasPaid == false).ToList();

            Console.WriteLine("Current guests");
            foreach (var visitor in visitors)
            {
                Console.WriteLine($"Name: {visitor.Name}              ID:{visitor.VisitorID}");
            }
            Console.WriteLine("\n");
        }
Пример #3
0
        public static void AddVisitorParking(SpaceParkContext context, ParkingLot parkingSpace, Visitor visitor)
        {
            var visitorParking = new VisitorParking
            {
                VisitorID    = visitor.VisitorID,
                ParkingLotID = parkingSpace.ParkingLotID,
                DateOfEntry  = DateTime.Now
            };

            context.VisitorParking.Add(visitorParking);
            context.SaveChanges();
        }
        //kolla historik från databas
        private void dbButton_Click(object sender, EventArgs e)
        {
            SpaceParkContext db = new SpaceParkContext();
            var queryList       = db.ParkEvent.AsQueryable();

            listbox.Items.Clear();
            listbox.Items.Add("History: ");
            foreach (var query in queryList)
            {
                query.Person   = db.Person.Find(query.PersonId);
                query.StarShip = db.StarShip.Find(query.StarShipId);
                listbox.Items.Add($"{query.Person.Name} parked for {query.TimeParked} min with the ship \"{query.StarShip.StarShipName}\", it cost {query.Price} credits");
            }
        }
Пример #5
0
        public static void GenerateProgram(SpaceParkContext context)
        {
            string userChoice;

            do
            {
                StandardMessaging.Logo();
                Visitor.ShowCurrentVisitorsList(context);

                StandardMessaging.MenuChoice();
                userChoice = StandardMessaging.OutputStringReadUserInput("=> ");
                Console.Clear();

                ExecuteUserChoice(context, userChoice);
            } while (userChoice != "0");
        }
Пример #6
0
        public static SpacePort CreateSpacePort(SpaceParkContext context)
        {
            var exist  = context.SpacePorts.FirstOrDefault();
            var pSpots = new SpacePort
            {
                ParkingSpace = 5,
                Status       = PortStatus.Open
            };

            if (exist == null)
            {
                context.SpacePorts.Add(pSpots);
                context.SaveChanges();
            }

            return(pSpots);
        }
Пример #7
0
        public static void CheckParkingSpaces(SpaceParkContext context, SpacePort spacePort)
        {
            var rec = context.ParkingLots.FirstOrDefault();

            if (rec == null)
            {
                for (int i = 0; i < spacePort.ParkingSpace; i++)
                {
                    ParkingLot parking = new ParkingLot
                    {
                        ParkingLotOccupied = false,
                        SpacePortID        = spacePort.SpacePortID
                    };
                    context.ParkingLots.Add(parking);
                }
                context.SaveChanges();
            }
        }
Пример #8
0
        private static void RentParkingSpace(SpaceParkContext context)
        {
            var parkingSpaces = context.ParkingLots.Where(p => p.ParkingLotOccupied == false).ToList();

            if (parkingSpaces.Count < 1)
            {
                StandardMessaging.ParkingLotFull();
                Console.ReadLine();
                return;
            }

            var currentParkingSpace = parkingSpaces.First();

            StandardMessaging.EnterInformationBelow();
            Console.WriteLine();

            var visitorName = StandardMessaging.OutputStringReadUserInput("Name: ");

            if (visitorName == null || string.IsNullOrWhiteSpace(visitorName))
            {
                return;
            }

            var visitor = DataAPI.EvaluateCharacter(visitorName);

            if (visitor == null)
            {
                return;
            }

            var shipName = StandardMessaging.OutputStringReadUserInput("Ship: ");
            var ship     = DataAPI.EvaluateShips(shipName);

            if (ship == null)
            {
                return;
            }

            Visitor.AddVisitorToDB(context, visitor);
            currentParkingSpace.ParkingLotOccupied = true;
            VisitorParking.AddVisitorParking(context, currentParkingSpace, visitor);
        }
Пример #9
0
        public static void ChangePaymentStatus(SpaceParkContext context, Visitor VisitorToPay)
        {
            if (VisitorToPay.HasPaid == false)
            {
                VisitorToPay.HasPaid = true;

                var parking = VisitorParking.GetSpecificVisitorParking(context, VisitorToPay);

                var parkingLot = ParkingLot.GetSpecificParkingLot(context, parking);
                parkingLot.ParkingLotOccupied = false;

                context.SaveChanges();

                StandardMessaging.ThankYouForYourStay();
                Console.ReadLine();
            }
            else
            {
                StandardMessaging.NoValidInput("Couldn't find you in db. Or something just doesn't work ;)");
            }
        }
Пример #10
0
        private static void ExecuteUserChoice(SpaceParkContext context, string userChoice)
        {
            switch (userChoice)
            {
            case "1":
                RentParkingSpace(context);
                Console.Clear();
                break;

            case "2":
                UpdateVisitorAndParkingLot(context);
                Console.Clear();
                break;

            case "0":
                Environment.Exit(0);
                break;

            default:
                StandardMessaging.NoValidInput("You can only choose from the alternatives. Try again!");
                break;
            }
        }
Пример #11
0
 public ParkingSpaceRepo(SpaceParkContext spaceParkContext, ILogger <ParkingSpaceRepo> logger) : base(spaceParkContext, logger)
 {
 }
Пример #12
0
 public static VisitorParking GetSpecificVisitorParking(SpaceParkContext context, Visitor visitor)
 {
     return(context.VisitorParking
            .Where(parking => parking.VisitorID == visitor.VisitorID)
            .FirstOrDefault());
 }
Пример #13
0
 public SpaceshipRepo(SpaceParkContext spaceParkContext, ILogger <SpaceshipRepo> logger) : base(spaceParkContext, logger)
 {
 }
Пример #14
0
 public static ParkingLot GetSpecificParkingLot(SpaceParkContext context, VisitorParking parking)
 {
     return(context.ParkingLots
            .Where(parkingLot => parkingLot.ParkingLotID == parking.ParkingLotID)
            .FirstOrDefault());
 }
 public PersonRepo(SpaceParkContext spaceParkContext, ILogger <PersonRepo> logger) : base(spaceParkContext, logger)
 {
 }
Пример #16
0
 public static void AddVisitorToDB(SpaceParkContext context, Visitor visitor)
 {
     context.Visitors.Add(visitor);
     context.SaveChanges();
 }
Пример #17
0
 public static Visitor GetPayingVisitor(SpaceParkContext context, string visitorName)
 {
     return(context.Visitors.Where(visitor => visitor.Name == visitorName && visitor.HasPaid == false).FirstOrDefault());
 }
Пример #18
0
 public Repository(SpaceParkContext context, ILogger <Repository> logger)
 {
     _spaceParkContext = context;
     _logger           = logger;
 }