Exemplo n.º 1
0
        // GET: Reservation

        public ActionResult ReserveParking(ShowParking sp)
        {
            //ShowParking sp = (ShowParking)ob;
            Reserve reserve = new Reserve();

            reserve.ParkingId      = sp.ParkingID;
            reserve.DateIn         = sp.DateIn;
            reserve.DateOut        = sp.DateOut;
            reserve.TimeIn         = sp.TimeIn;
            reserve.TimeOut        = sp.TimeOut;
            reserve.Asiel          = sp.Asiel;
            reserve.LevelNumber    = Convert.ToInt32(sp.Selectedlevel);
            reserve.BuildingNumber = Convert.ToInt32(sp.Selectedbuilding);
            reserve.amount         = (float)sp.Price;



            try {
                ParkingManagement pm = new ParkingManagement();

                reserve.ID         = pm.addReservation(reserve);
                Session["reserve"] = reserve;


                BackgroundJob.Schedule(() => deleteRow(reserve.ID), TimeSpan.FromMinutes(10));

                return(View("ReserveView", reserve));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            string[]           argsList;
            IParkingManagement _parkingManagement = new ParkingManagement();

            if (args.Length == 0)
            {
                Console.WriteLine("Please provide File Name with path or commands");
                while (_interactive)
                {
                    Console.WriteLine();
                    var input = Console.ReadLine();
                    Console.WriteLine();
                    argsList = input.Split(' ');
                    if (argsList.Length == 1 && argsList[0] != Commands.Status && argsList[0] != Commands.Exit)
                    {
                        ReadFile(_parkingManagement, argsList);
                    }
                    else
                    {
                        ProcessCommands(_parkingManagement, argsList);
                    }
                }
            }
            else
            {
                if (args.Length == 1 && args[0] != Commands.Status && args[0] != Commands.Exit)
                {
                    ReadFile(_parkingManagement, args);
                }
                Console.WriteLine("Invalid arguments");
            }
        }
Exemplo n.º 3
0
        public void GetParkingSlotsInformation_returns_count()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986"
            };
            var vehicle2 = new Vehicle()
            {
                VehicleNumber = "KA-03-8981"
            };
            var vehicle3 = new Vehicle()
            {
                VehicleNumber = "KA-03-8982"
            };
            var vehicle4 = new Vehicle()
            {
                VehicleNumber = "KA-03-8983"
            };
            var vehicle5 = new Vehicle()
            {
                VehicleNumber = "KA-03-8984"
            };


            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);
            parkingMgmt.AddVehicleToSlot(vehicle2);
            parkingMgmt.AddVehicleToSlot(vehicle3);
            parkingMgmt.AddVehicleToSlot(vehicle4);
            parkingMgmt.AddVehicleToSlot(vehicle5);

            Assert.IsTrue(parkingMgmt.GetParkingSlotsInformation().Count == 5);
        }
Exemplo n.º 4
0
        public void Filter_ForVehicleColorNumber_returns_Empty()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986", VehicleColor = ColorEnums.Black
            };
            var vehicle2 = new Vehicle()
            {
                VehicleNumber = "KA-03-8981", VehicleColor = ColorEnums.Black
            };
            var vehicle3 = new Vehicle()
            {
                VehicleNumber = "KA-03-8982", VehicleColor = ColorEnums.Brown
            };
            var vehicle4 = new Vehicle()
            {
                VehicleNumber = "KA-03-8983", VehicleColor = ColorEnums.Yellow
            };
            var vehicle5 = new Vehicle()
            {
                VehicleNumber = "KA-03-8984", VehicleColor = ColorEnums.Magenta
            };


            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);
            parkingMgmt.AddVehicleToSlot(vehicle2);
            parkingMgmt.AddVehicleToSlot(vehicle3);
            parkingMgmt.AddVehicleToSlot(vehicle4);
            parkingMgmt.AddVehicleToSlot(vehicle5);

            var slots    = parkingMgmt.GetParkingSlotsInformation().AsEnumerable();
            var filter   = new ParkingSlotFilter();
            var criteria = new VehicleColorCriteria(ColorEnums.Red);
            var result   = filter.Filter(slots, criteria);

            Assert.IsTrue(result.Count() == 0);

            var criteria1 = new VehicleNumberCriteria("KA-03-8981");
            var result1   = filter.Filter(slots, criteria1);

            Assert.IsTrue(result1.Count() == 1);
            Assert.IsTrue(result1.ElementAt(0).VehicleInSlot.VehicleNumber == "KA-03-8981");

            var criteria3 = new ConjunctionCriteria <ParkingSlot>(criteria, criteria1);
            var result2   = filter.Filter(slots, criteria3);

            Assert.IsTrue(result2.Count() == 0);

            var criteria4 = new VehicleNumberCriteria("KA-03-8988");
            var result3   = filter.Filter(slots, criteria4);

            Assert.IsTrue(result3.Count() == 0);

            var criteria5 = new ConjunctionCriteria <ParkingSlot>(criteria, criteria4);
            var result4   = filter.Filter(slots, criteria5);

            Assert.IsTrue(result4.Count() == 0);
        }
Exemplo n.º 5
0
        public void Filter_ForSlotNumber_returns_Empty()
        {
            IParkingManagement parkingMgmt = new ParkingManagement(0);
            var filter   = new ParkingSlotFilter();
            var criteria = new SlotNumberCriteria(3);
            var result   = filter.Filter(parkingMgmt.GetParkingSlotsInformation().AsEnumerable(), criteria);

            Assert.IsTrue(result.Count() == 0);
        }
        public void CalculatePrice_RightInput_ExpectPricePerMinuteForCorvette()
        {
            ConnectionString = "Insert connection string here.";
            var     ship          = APICollector.ParseShipAsync("CR90 corvette");
            var     price         = ParkingManagement.CalculatePrice(ship, 1);
            decimal expectedPrice = 15;

            Assert.Equal(expectedPrice, price);
        }
Exemplo n.º 7
0
        public void deleteRow(int ID)
        {
            try
            {
                ParkingManagement pm = new ParkingManagement();
                pm.DaleteRow(ID);

                // Session["reserve"] = null;
                Console.Write("Row Deleted");
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 8
0
        public void IsCriteriaMet_returns_True()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986"
            };

            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);

            var slots    = parkingMgmt.GetParkingSlotsInformation();
            var criteria = new VehicleNumberCriteria("KA-03-8986");

            Assert.IsTrue(criteria.IsCriteriaMet(slots.ToArray()[0]));
        }
        public void IsCriteriaMet_returns_False()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986", VehicleColor = ColorEnums.Aqua
            };

            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);

            var slots    = parkingMgmt.GetParkingSlotsInformation();
            var criteria = new VehicleColorCriteria(ColorEnums.Green);

            Assert.IsFalse(criteria.IsCriteriaMet(slots.ToArray()[0]));
        }
        // GET: Parking/Edit/5 get the View of Parking menu
        public ActionResult Show()
        {
            connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString;
            ShowParking showP = new ShowParking();

            try
            {
                ParkingManagement p = new ParkingManagement();
                p.updateExpiredParkingByDate(connStr);
                return(View("ShowParkings", showP));
            }
            catch (Exception ex)
            {
                ViewBag.errorMessage = "Could Not Update Expired Parking " + ex.Message;
                return(View("ShowParkings", showP));
            }
        }
Exemplo n.º 11
0
        public void AddVehicleToSlot_returns_SlotNumber_Happypath()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986"
            };
            var vehicle2 = new Vehicle()
            {
                VehicleNumber = "KA-03-8981"
            };
            var vehicle3 = new Vehicle()
            {
                VehicleNumber = "KA-03-8982"
            };
            var vehicle4 = new Vehicle()
            {
                VehicleNumber = "KA-03-8983"
            };
            var vehicle5 = new Vehicle()
            {
                VehicleNumber = "KA-03-8984"
            };
            var vehicle6 = new Vehicle()
            {
                VehicleNumber = "KA-03-8985"
            };

            IParkingManagement parkingMgmt = new ParkingManagement(5);

            var slotNumber1 = parkingMgmt.AddVehicleToSlot(vehicle1);
            var slotNumber2 = parkingMgmt.AddVehicleToSlot(vehicle2);
            var slotNumber3 = parkingMgmt.AddVehicleToSlot(vehicle3);
            var slotNumber4 = parkingMgmt.AddVehicleToSlot(vehicle4);
            var slotNumber5 = parkingMgmt.AddVehicleToSlot(vehicle5);
            var slotNumber6 = parkingMgmt.AddVehicleToSlot(vehicle6);

            Assert.AreEqual(1, slotNumber1);
            Assert.AreEqual(2, slotNumber2);
            Assert.AreEqual(3, slotNumber3);
            Assert.AreEqual(4, slotNumber4);
            Assert.AreEqual(5, slotNumber5);
            Assert.AreEqual(-1, slotNumber6);
        }
Exemplo n.º 12
0
        public void Filter_ForSlotNumber_returns_Matched()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986"
            };
            var vehicle2 = new Vehicle()
            {
                VehicleNumber = "KA-03-8981"
            };
            var vehicle3 = new Vehicle()
            {
                VehicleNumber = "KA-03-8982"
            };
            var vehicle4 = new Vehicle()
            {
                VehicleNumber = "KA-03-8983"
            };
            var vehicle5 = new Vehicle()
            {
                VehicleNumber = "KA-03-8984"
            };


            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);
            parkingMgmt.AddVehicleToSlot(vehicle2);
            parkingMgmt.AddVehicleToSlot(vehicle3);
            parkingMgmt.AddVehicleToSlot(vehicle4);
            parkingMgmt.AddVehicleToSlot(vehicle5);

            var filter   = new ParkingSlotFilter();
            var criteria = new SlotNumberCriteria(3);
            var result   = filter.Filter(parkingMgmt.GetParkingSlotsInformation().AsEnumerable(), criteria);

            Assert.IsTrue(result.Count() == 1);
            Assert.IsTrue(result.ElementAt(0).VehicleInSlot.VehicleNumber == "KA-03-8982");
        }
Exemplo n.º 13
0
        public void UnParkVehicleFromSlot_returns_Null_Happypath()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986"
            };
            var vehicle2 = new Vehicle()
            {
                VehicleNumber = "KA-03-8981"
            };
            var vehicle3 = new Vehicle()
            {
                VehicleNumber = "KA-03-8982"
            };
            var vehicle4 = new Vehicle()
            {
                VehicleNumber = "KA-03-8983"
            };
            var vehicle5 = new Vehicle()
            {
                VehicleNumber = "KA-03-8984"
            };


            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);
            parkingMgmt.AddVehicleToSlot(vehicle2);
            parkingMgmt.AddVehicleToSlot(vehicle3);
            parkingMgmt.AddVehicleToSlot(vehicle4);
            parkingMgmt.AddVehicleToSlot(vehicle5);

            var t       = parkingMgmt.UnParkVehicleFromSlot("KA-03-8987");
            var vehicle = parkingMgmt.UnParkVehicleFromSlot(7);

            Assert.IsNull(vehicle);
            Assert.AreEqual(-1, t);
        }
        public ActionResult Create(Parking p)
        {
            connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString;
            if (ModelState.IsValid)
            {
                ParkingManagement pdb = new ParkingManagement();

                try
                {
                    if (pdb.addParkingInDB(p, connStr) > 0)
                    {
                        TempData["Success"] = "Parking have been added Successfully!";
                    }
                    return(Create());
                }
                catch (Exception ex)
                {
                    ViewBag.errorMessage = "could not add parking in the system due to" + ex.Message + " Try Again!";
                    return(Create());
                }
            }
            return(Create());
        }
        public ActionResult ShowController(ShowParking sp)
        {
            connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString;
            try
            {
                ParkingManagement  pm                = new ParkingManagement();
                List <Parking>     parkingList       = pm.getParkingList(connStr, sp);
                List <ShowParking> ListOfReservation = pm.getParkingFromReservation(connStr, sp);

                List <string> reservedId = getReservedList(sp, ListOfReservation);

                int price = getPricePerHour(sp);
                for (int i = 0; i < parkingList.Count; i++)
                {
                    for (int j = 0; j < reservedId.Count; j++)
                    {
                        if (parkingList[i].ParkingNumber == reservedId[j])
                        {
                            parkingList[i].ParkingNumber = null;
                        }
                    }
                    parkingList[i].Price = price;
                }

                sp.ParkingList = parkingList;
                sp.ListOfAsiel = pm.getNumberOfAsiel(connStr, sp.Selectedbuilding, sp.Selectedlevel);
                sp.ListOfAsiel.Sort();
                Session["parkings"] = parkingList;
                return(View("ShowParkings", sp));
            }
            catch (Exception ex)
            {
                ViewBag.errorMessage = "Error occur while fetching parking from DataBase" + ex.Message;
                return(View("ShowParkings", sp));
            }
        }
            //These methods instantiate ParkingManagement and call upon the private non-static methods.
            public static (bool isOpen, DateTime nextAvailable) CheckParkingStatus()
            {
                var pm = new ParkingManagement();

                return(pm._CheckParkingStatus());
            }
Exemplo n.º 17
0
        public void AlocateCorrectSequence_returns_CorrectSlotNumber_Happypath()
        {
            var vehicle1 = new Vehicle()
            {
                VehicleNumber = "KA-03-8986"
            };
            var vehicle2 = new Vehicle()
            {
                VehicleNumber = "KA-03-8981"
            };
            var vehicle3 = new Vehicle()
            {
                VehicleNumber = "KA-03-8982"
            };
            var vehicle4 = new Vehicle()
            {
                VehicleNumber = "KA-03-8983"
            };
            var vehicle5 = new Vehicle()
            {
                VehicleNumber = "KA-03-8984"
            };


            IParkingManagement parkingMgmt = new ParkingManagement(5);

            parkingMgmt.AddVehicleToSlot(vehicle1);
            parkingMgmt.AddVehicleToSlot(vehicle2);
            parkingMgmt.AddVehicleToSlot(vehicle3);
            parkingMgmt.AddVehicleToSlot(vehicle4);
            parkingMgmt.AddVehicleToSlot(vehicle5);

            var t       = parkingMgmt.UnParkVehicleFromSlot("KA-03-8981");
            var vehicle = parkingMgmt.UnParkVehicleFromSlot(4);

            Assert.AreEqual("KA-03-8983", vehicle.VehicleNumber);
            Assert.AreEqual(2, t);

            var vehicle6 = new Vehicle()
            {
                VehicleNumber = "KA-03-9982"
            };
            var vehicle7 = new Vehicle()
            {
                VehicleNumber = "KA-03-9983"
            };
            var vehicle8 = new Vehicle()
            {
                VehicleNumber = "KA-03-9984"
            };

            var allocatedParking1 = parkingMgmt.AddVehicleToSlot(vehicle6);
            var allocatedParking2 = parkingMgmt.AddVehicleToSlot(vehicle7);

            Assert.AreEqual(2, allocatedParking1);
            Assert.AreEqual(4, allocatedParking2);
            parkingMgmt.UnParkVehicleFromSlot(1);
            var allocatedParking3 = parkingMgmt.AddVehicleToSlot(vehicle8);

            Assert.AreEqual(1, allocatedParking3);
        }
            public static decimal CalculatePrice(SpaceShip ship, double minutes)
            {
                var pm = new ParkingManagement();

                return(pm._CalculatePrice(ship, minutes));
            }
            public static Receipt SendInvoice(Account account, double minutes)
            {
                var pm = new ParkingManagement();

                return(pm._SendInvoice(account, minutes));
            }