public ParkingSlotResponse AvailableParkingSlots()
 {
     try
     {
         ParkingSlotResponse responseData = new ParkingSlotResponse();
         ParkingSlots        parkingSlots = null;
         var slotACount = _appDBContext.ParkingDetails.Where(parkingDetails => parkingDetails.ParkingSlot == "A" && parkingDetails.IsParked == true).Count();
         var slotBCount = _appDBContext.ParkingDetails.Where(parkingDetails => parkingDetails.ParkingSlot == "B" && parkingDetails.IsParked == true).Count();
         var slotCCount = _appDBContext.ParkingDetails.Where(parkingDetails => parkingDetails.ParkingSlot == "C" && parkingDetails.IsParked == true).Count();
         int aCount     = ParkingLimit.Parking_Slot_A - slotACount;
         int bCount     = ParkingLimit.Parking_Slot_B - slotBCount;
         int cCount     = ParkingLimit.Parking_Slot_B - slotCCount;
         parkingSlots = new ParkingSlots()
         {
             Parking_Slot_A = aCount,
             Parking_Slot_B = bCount,
             Parking_Slot_C = cCount
         };
         responseData.ParkingSlots = parkingSlots;
         return(responseData);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        private void DeleteSlotHandler(ParkingSlotVM parkingSlotVM)
        {
            var index = ParkingSlots.IndexOf(parkingSlotVM);

            ParkingSlots.Remove(parkingSlotVM);
            SelectedSlot = index == -1
                ? null
                : ParkingSlots.Count <= index
                    ? ParkingSlots.LastOrDefault()
                    : ParkingSlots[index];
        }
Beispiel #3
0
        private void isItBusy()
        {
            for (int i = 1; i <= 30; i++)
            {
                string name         = "P" + i.ToString();
                object parkingPlace = ParkingSlots.FindName(name);
                if (parkingPlace is Button)
                {
                    var    query  = (from m in _db.cars where m.parking == i select m.parking);
                    int    result = Convert.ToInt16(query.FirstOrDefault());
                    Button button = parkingPlace as Button;

                    if (editMode == true)
                    {
                        if (i == editedCar.parking)
                        {
                            button.Background       = Brushes.Red;
                            button.IsHitTestVisible = false;
                            Place = Convert.ToInt32(editedCar.parking);
                        }
                        else if (result != 0)
                        {
                            button.IsEnabled = false;
                        }
                        else
                        {
                            button.Background = Brushes.Green;
                        }
                    }
                    else
                    {
                        if (result != 0)
                        {
                            button.IsEnabled = false;
                        }
                        else
                        {
                            button.Background = Brushes.Green;
                        }
                    }
                }
            }

            foreach (var i in ts1.tempParkingSlots)
            {
                string name         = "P" + i.ToString();
                object parkingPlace = ParkingSlots.FindName(name);
                if (parkingPlace is Button)
                {
                    Button button = parkingPlace as Button;
                    button.IsEnabled = false;
                }
            }
        }
 private void AddParkingSlot()
 {
     for (int slotNumber = 1; slotNumber <= NumberOfSlots; slotNumber++)
     {
         var parkingslot = new ParkingSlot(Apply);
         ApplyToEntity(parkingslot,
                       new Events.CreateParkingSlot
         {
             ParkingSlotId = Guid.NewGuid(),
             SlotNumber    = slotNumber,
             Id            = ParkingLotId
         });
         ParkingSlots.Add(parkingslot);
     }
 }
        public void SaveToFileHandler(object o)
        {
            var data = ParkingSlots
                       .Select(slot => new ParkingSlot()
            {
                IsOccupied = slot.IsOccupied,
                Contour    = new Contour(slot.Pts
                                         .Select(point => new Contour.Point()
                {
                    X = point.X,
                    Y = point.Y,
                }))
            });

            FeatureLoader.SaveSlots(ContourDataPath, data);
        }
Beispiel #6
0
        public ParkingMap(cars Car)
        {
            editMode       = true;
            this.editedCar = Car;
            InitializeComponent();
            parkingButton.IsEnabled = false;
            isItBusy();
            string name         = "P" + editedCar.parking.ToString();
            object parkingPlace = ParkingSlots.FindName(name);

            if (parkingPlace is Button)
            {
                Console.WriteLine("P" + editedCar.parking.ToString());
                Button button = parkingPlace as Button;
                button.Background = Brushes.Red;
            }
            else
            {
                Console.WriteLine("P" + editedCar.parking.ToString());
            }
        }
 private void AddSlotHandler(object o)
 {
     ParkingSlots.Add(new ParkingSlotVM());
     SelectedSlot = ParkingSlots.LastOrDefault();
 }
 public void AddParkingSlot(ParkingSlot parkingSlot)
 {
     ParkingSlots.Add(parkingSlot);
 }
 public ParkingSlot GetParkingSlotOfVehicleNumber(int vehicleNumber)
 {
     return(ParkingSlots.Find(slot => slot.ParkingTicket != null && slot.ParkingTicket.VehicleNumber == vehicleNumber));
 }
 public ParkedVehiclesController(Garage2_0Context context)
 {
     _context    = context;
     parkingSlot = new ParkingSlots();
 }
 public bool IsVehicleAndTicketExist(int vehicleNumber)
 {
     return(ParkingSlots.Exists(slot => slot.ParkingTicket != null && slot.ParkingTicket.VehicleNumber == vehicleNumber && !slot.ParkingTicket.IsExpired));
 }
 public bool IsVehicleNumberExist(int vehicleNumber)
 {
     return(ParkingSlots.Exists(slot => slot.ParkingTicket != null && slot.ParkingTicket.VehicleNumber == vehicleNumber));
 }
 public ParkingSlot GetNextAvailaleParkingSlot()
 => ParkingSlots.FirstOrDefault(x => !x.isOccupied);
 public ParkingSlot FindParkingSlot(Guid parkingSlotId)
 => ParkingSlots.FirstOrDefault(x => x.ParkingSlotId == parkingSlotId);
Beispiel #15
0
        public async void GetParkingLists()
        {
            if (BaseView != null && BaseView.CheckInternetConnection())
            {
                if (Latitude == 0 && Longitude == 0 && mCacheService.SearchMode == SearchMode.Later)
                {
                    return;
                }

                if (mCacheService.CurrentLat == 0 && mCacheService.CurrentLng == 0)
                {
                    return;
                }

                //if (mCacheService.SearchMode == SearchMode.Now)
                //{
                Title = "Please choose";
                if (View != null)
                {
                    await Task.Delay(100);

                    View.Stop60sTimer();
                }
                //}

                IsShowParkingLists = false;
                Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, true, string.Empty, true));
                long startTimeStamp = DateTime.UtcNow.DateTimeToTimeStamp();
                //long endTimeStamp = DateTime.UtcNow.AddHours(ParkingTime + 1).DateTimeToTimeStamp();
                long endTimeStamp = ValidTime.DateTimeToTimeStamp();

                if (StartTimeStamp != 0)
                {
                    startTimeStamp = StartTimeStamp;
                }


                Vehicle = mCacheService.SelectedVehicle;

                double lat = Latitude != 0 ? Latitude : mCacheService.CurrentLat;
                double lng = Longitude != 0 ? Longitude : mCacheService.CurrentLng;

                ParkingSlots.Clear();
                string maxdistance = string.Empty;
                if (StartTimeStamp == 0)
                {
                    maxdistance = "1000";
                }
                else
                {
                    maxdistance = "10000";
                }
                var parkings = await mApiService.AvaiableParkings(startTimeStamp, endTimeStamp, 2, lat, lng, maxdistance, Vehicle.Type);

                if (parkings != null && parkings.Response.Count != 0)
                {
                    ObservableCollection <ParkingSlotItemViewModel> Tmp = new ObservableCollection <ParkingSlotItemViewModel>();
                    foreach (var parking in parkings.Response)
                    {
                        if (mCacheService.SearchMode == SearchMode.Now && parking.BookingType == "delayed")
                        {
                            continue;
                        }
                        Tmp.Add(new ParkingSlotItemViewModel()
                        {
                            ParkingSpot = parking, IsShowClock = startTimeStamp < Convert.ToInt64(parking.AvailabilityStartTimestamp)
                        });
                    }
                    ParkingSlots = Tmp;
                }
                else
                {
                    Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, "No parkings"));
                }

                Mvx.Resolve <IMvxMessenger>().Publish(new ProgressMessage(this, false));
                IsShowParkingLists = true;
            }
            else
            {
                Mvx.Resolve <IMvxMessenger>().Publish(new ToastMessage(this, SharedTextSource.GetText("TurnOnInternetText")));
            }
        }
 public ParkingSlot GetAvailableSlot(VehicleType vehicleType)
 {
     return(ParkingSlots.FirstOrDefault(slot => slot.isAvailable == true && slot.VehicleType == vehicleType));
 }
Beispiel #17
0
        public void SeedTestData()
        {
            if (VehicleTypes.Count() == 0)
            {
                VehicleTypes.AddOrUpdate(t => t.Id,
                                         new[] {
                    new VehicleType {
                        Id = 1, Name = "Car"
                    },
                    new VehicleType {
                        Id = 2, Name = "Motorcycle"
                    },
                    new VehicleType {
                        Id = 3, Name = "Truck"
                    },
                    new VehicleType {
                        Id = 4, Name = "Bus"
                    }
                });
            }

            if (ParkingSlots.Count() == 0)
            {
                for (int i = 0; i < 100; ++i)
                {
                    ParkingSlots.AddOrUpdate(new ParkingSlot {
                        ParkingId = null
                    });
                }
            }

            Owners.AddOrUpdate(o => o.Id,
                               new[] {
                new Owner {
                    Id = 1, Name = "Bob"
                },
                new Owner {
                    Id = 2, Name = "John"
                },
                new Owner {
                    Id = 3, Name = "Eve"
                }
            });

            SaveChanges();

            Vehicles.AddOrUpdate(v => v.Id,
                                 new[] {
                new Vehicle {
                    Id = 1, OwnerId = 1, RegNr = "AAA111", VehicleTypeId = 1
                },
                new Vehicle {
                    Id = 2, OwnerId = 1, RegNr = "AAA222", VehicleTypeId = 1
                },
                new Vehicle {
                    Id = 3, OwnerId = 1, RegNr = "AAA333", VehicleTypeId = 1
                },
                new Vehicle {
                    Id = 4, OwnerId = 1, RegNr = "BBB222", VehicleTypeId = 2
                },
                new Vehicle {
                    Id = 5, OwnerId = 2, RegNr = "BBB333", VehicleTypeId = 2
                },
                new Vehicle {
                    Id = 6, OwnerId = 2, RegNr = "CCC333", VehicleTypeId = 3
                },
                new Vehicle {
                    Id = 7, OwnerId = 2, RegNr = "CCC444", VehicleTypeId = 3
                },
                new Vehicle {
                    Id = 8, OwnerId = 3, RegNr = "DDD444", VehicleTypeId = 4
                },
                new Vehicle {
                    Id = 9, OwnerId = 3, RegNr = "DDD555", VehicleTypeId = 4
                }
            });

            SaveChanges();

            if (Parkings.Count() == 0)
            {
                Parkings.AddOrUpdate(p => p.Id,
                                     new[] {
                    new Parking {
                        Id = 1, ParkingSlotId = 1, VehicleId = 1, DateIn = DateTime.Now, DateOut = null
                    },
                    new Parking {
                        Id = 2, ParkingSlotId = 2, VehicleId = 2, DateIn = DateTime.Now.AddDays(-1), DateOut = null
                    },
                    new Parking {
                        Id = 3, ParkingSlotId = 3, VehicleId = 3, DateIn = DateTime.Now.AddDays(-2), DateOut = DateTime.Now
                    },
                    new Parking {
                        Id = 4, ParkingSlotId = 4, VehicleId = 4, DateIn = DateTime.Now.AddDays(-4), DateOut = DateTime.Now.AddDays(-2)
                    },
                    new Parking {
                        Id = 5, ParkingSlotId = 4, VehicleId = 5, DateIn = DateTime.Now, DateOut = null
                    },
                });
                ParkingSlots.Find(1).ParkingId = 1;
                ParkingSlots.Find(2).ParkingId = 2;
                ParkingSlots.Find(4).ParkingId = 5;
                SaveChanges();
            }
        }