public void ExitSetCarLocationToNone()
 {
     eProc = new EventProcessor();
     Parking park = new Parking(Parking.NONE);
     ExitEvent ev = new ExitEvent(new DateTime(2015, 09, 01), newCar);
     eProc.Process(ev);
     Assert.AreEqual(park.Name, newCar.Parking.Name);
 }
Пример #2
0
        public ActionResult RemoveOwnerVehicleFromParking(int slotNumber)
        {
            Parking result = this.driverService.UnParkVehicle(slotNumber);

            if (result != null)
            {
                return(this.Ok(new ResponseEntity(HttpStatusCode.OK, "Vehicle Unparked Successfully", result)));
            }

            return(this.BadRequest(new ResponseEntity(HttpStatusCode.BadRequest, "No Record Found", null)));
        }
Пример #3
0
 public static ParkingDto EntityToDto(this Parking parking)
 {
     return(new ParkingDto()
     {
         Address = parking.Address,
         Description = parking.Description,
         Document = parking.Document,
         //Id = parking.Id,
         Phone = parking.Phone
     });
 }
Пример #4
0
        public IHttpActionResult Delete(Parking parking)
        {
            apiResp = new ApiResponse
            {
                Message = "Se elimino existosamente"
            };
            var mng = new ParkingManager();

            mng.Delete(parking);
            return(Ok(apiResp));
        }
        public IActionResult Create([FromBody] Parking parking)
        {
            if (parking == null)
            {
                return(BadRequest());
            }

            _service.Create(parking);

            return(CreatedAtRoute("Getparking", new { id = parking.Id }, parking));
        }
Пример #6
0
        public ActionResult Create([Bind(Include = "parkid,areaname,rate")] Parking parking)
        {
            if (ModelState.IsValid)
            {
                db.Parkings.Add(parking);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(parking));
        }
Пример #7
0
        public IHttpActionResult GetParking(int id)
        {
            Parking parking = db.Parkings.Find(id);

            if (parking == null)
            {
                return(NotFound());
            }

            return(Ok(parking));
        }
Пример #8
0
        public async Task <IActionResult> Create([Bind("ParkingID,VisitorName,VisitoCarNo,ParkingPurpose")] Parking parking)
        {
            if (ModelState.IsValid)
            {
                _context.Add(parking);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(parking));
        }
Пример #9
0
        public async Task <IActionResult> UnesiSifru(int id, [Bind("ID,Naziv,PocetakRadnogVremena,KrajRadnogVremena,PocetakJeftinogVremena,KrajJeftinogVremena,Sifra,OdobrenSGMjesecno,OdobrenSGUzastopno,OdobrenOSInvaliditetom,Cijena")] Parking parking)
        {
            if (id != parking.ID)
            {
                return(NotFound());
            }
            System.Diagnostics.Debug.WriteLine(id);
            int ovajid = id;

            return(RedirectToAction("Index", new { id = ovajid }));
        }
Пример #10
0
        /// <summary>
        /// Adding vehicles To ParkingLot.
        /// </summary>
        /// <param name="parkingLot">Parkinglot Object.</param>
        /// <returns>Parkinglot Objects.</returns>
        public ParkingLot ParkVehicle(Parking parkingLot)
        {
            ParkingLot parking = this.repository.AddVehicle(parkingLot);

            if (parking != null)
            {
                this.service.AddToQueue(parking.Role + " Parked Vehicle Having Number " + parking.Vehicle_Number + " At Time " + parking.EntryTime);
            }

            return(parking);
        }
Пример #11
0
        public ActionResult AddOwnerVehicleToParking(Parking parking)
        {
            var result = this.driverService.ParkVehicle(parking);

            if (result != null)
            {
                return(this.Ok(new ResponseEntity(HttpStatusCode.OK, "Vehicle Parked Successfully", result)));
            }

            return(this.BadRequest(new ResponseEntity(HttpStatusCode.BadRequest, "Vehicle already Parked", null)));
        }
Пример #12
0
        public void ShouldReturnLotNumberWhenParkingAvailable()
        {
            //arange
            Parking park = new Parking(2, 10, 5);

            park.OccupyFreeLot("license1");
            //act
            string answer = park.OccupyFreeLot("lic2");

            //assert
            Assert.Equal("Please proceed to lot 1", answer);
        }
Пример #13
0
        /// <summary>
        /// This method used for for parking new vehicle in parking lot.
        /// </summary>
        /// <param name="parking">Parking data.</param>
        /// <returns>Boolean result.</returns>
        public ParkingDetails ParkVehicle(Parking parking)
        {
            ParkingDetails parkingDetails = this.parkingRepository.ParkVehicle(parking);

            if (parkingDetails != null)
            {
                this.mSMQService.SendDataToQueue("Parked vehicle number: " + parkingDetails.VehicleNumber + " At time: "
                                                 + parkingDetails.EntryTime + " Parking id:" + parkingDetails.ParkingId);
            }

            return(parkingDetails);
        }
Пример #14
0
        public ActionResult Edit([Bind(Include = "ID_PARKING,NOMBRE_PARK,DIRECCION_PARK,COMUNA_PARK,REGION_PARK,CANTIDAD_PARK")] Parking park_mod)
        {
            park_mod.ID_EMPRESA = 1;

            if (ModelState.IsValid)
            {
                db.Entry(park_mod).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(park_mod));
        }
Пример #15
0
        public void ParkAllFull4McMcThrowsExeptionTest()
        {
            // Should throw exception

            // Setup
            string[] park = new string[2];
            park[0] = "abc123:uyt345";
            park[1] = "dbc423:uto765";

            //Act
            Parking.Add(park, "1poi43", VehicleType.Mc); // Should throw exception
        }
        public Form2()
        {
            InitializeComponent();
            parking = new Parking(5);
            for (int i = 1; i < 6; i++)
            {
                listBox.Items.Add("Уровень " + i);
            }
            listBox.SelectedIndex = parking.getCurrentLevel;

            Draw();
        }
Пример #17
0
        public void ParkDuplicateCarVsCarRegistrationNumberThrowsExceptionTest()
        {
            // Should throw exception

            // Setup
            string[] park = new string[2];
            park[0] = null;
            park[1] = "uto765";

            //Act
            Parking.Add(park, "uto765", VehicleType.Car); // Should throw exception
        }
        public void FindFreePlaceAllFull2McMcTest()
        {
            // Should throw exception

            // Setup
            string[] park = new string[1];
            park[0] = "abc123:uyt345";
            int actualPlace = -1;

            //Act
            actualPlace = Parking.FindFreePlace(park, VehicleType.Mc); // Should throw exception
        }
Пример #19
0
        public void TestAddVehicleToParkArea()
        {
            Parking parking = new Parking();
            bool    result  = parking.AddParkedVehicle(new ParkingGarage.Models.ParkingModel.ParkedCars
            {
                ParkedSlots = "10",
                PlateNumber = "CSC 1295",
                VehicleType = ParkingGarage.Models.VehicleType.car
            });

            Assert.IsFalse(result, "Should be true");
        }
        public void RemoveNotFound4McThrowsExeptionTest()
        {
            // Should throw exception

            // Setup
            string[] park = new string[2];
            park[0] = "abc123:uyt345";
            park[1] = "dbc423:uto765";

            //Act
            Parking.Remove(park, "1poi43"); // Should throw exception
        }
Пример #21
0
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     xDocument = XMLObjectModel.GetXDocument();
     parking   = new Parking(Parking.GetParkCards(xDocument), xDocument);
     if (xDocument != null)
     {
         foreach (ParkCard parkCard in parking)
         {
             listBoxProducts.Items.Add(parkCard.ID + '-' + parkCard.SecondName + '.' + parkCard.FirstName[0]);
         }
     }
 }
 public Parking GetParkingById(int id)
 {
     try
     {
         Parking parking = context.Parkings.Find(id);
         return(parking);
     }
     catch
     {
         return(new Parking());
     }
 }
Пример #23
0
        public async Task <IActionResult> Create([Bind("ParkingCode,BoatTypeId,ActualBoatId")] Parking parking)
        {
            if (ModelState.IsValid)
            {
                _context.Add(parking);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BoatTypeId"] = new SelectList(_context.BoatType, "BoatTypeId", "Name", parking.BoatTypeId);
            return(View(parking));
        }
        public async Task <int> SeedParkingsAsync(ApplicationDbContext context)
        {
            var parkings = new Parking[]
            {
                new Parking()
                {
                    Name   = "Sofia one",
                    TownId = 1,
                    Town   = new Town()
                    {
                        CountryId = 1,
                        Name      = "Sofia",
                    },
                    Address  = "Some street",
                    Capacity = 100,
                },

                new Parking()
                {
                    Name   = "Athens one",
                    TownId = 2,
                    Town   = new Town()
                    {
                        CountryId = 2,
                        Name      = "Athens",
                    },
                    Address  = "Some street",
                    Capacity = 100,
                },

                new Parking()
                {
                    Name   = "Bucharest one",
                    TownId = 3,
                    Town   = new Town()
                    {
                        CountryId = 3,
                        Name      = "Bucharest",
                    },
                    Address  = "Some street",
                    Capacity = 100,
                },
            };

            foreach (var parking in parkings)
            {
                await context.Parkings.AddAsync(parking);
            }

            await context.SaveChangesAsync();

            return(parkings.Length);
        }
Пример #25
0
        public void Update(Parking parking)
        {
            IsRefreshing = true;
            var oldParqueo = parqueos
                             .Where(c => c.IdParqueo == parking.IdParqueo)
                             .FirstOrDefault();

            oldParqueo = parking;
            Parqueos   = new ObservableCollection <Parking>(
                parqueos.OrderBy(c => c.Descripcion));
            IsRefreshing = false;
        }
Пример #26
0
        public void ParkDuplicateMcVsCarRegistrationNumberThrowsExceptionTest()
        {
            // Should throw exception

            // Setup
            string[] park = new string[2];
            park[0] = "abc123";
            park[1] = ":dbc423";

            //Act
            Parking.Add(park, "abc123", VehicleType.Mc); // Should throw exception
        }
Пример #27
0
        public void AddCarTest()
        {
            Parking parking = new Parking();
            Car     car     = parking.AddCar("mmmm", new User()
            {
                Username = "******"
            }, new DateTime(2018, 2, 23));

            Assert.NotNull(car.StateNumber);
            Assert.NotNull(car.Owner);
            Assert.Contains(car, parking.Cars);
        }
Пример #28
0
        static void Main(string[] args)
        {
            var path = @"";

            // Deserializing
            if (File.Exists(path))
            {
                using (var reader = new StreamReader(path))
                {
                    string json = reader.ReadToEnd();

                    // NewtonSoft json
                    Parking parking = JsonConvert.DeserializeObject <Parking>(json);

                    // javascriptSerializer
                    //JavascriptSerializer serializer = new JavascriptSerializer();
                    //var parking = serializer.Deserialize<Parking>(json);

                    Console.WriteLine(parking.Address);
                }
            }

            // Serializing
            Parking parkingOne = new Parking()
            {
                Id      = 1,
                Address = "324 East 7th St, brooklyn",
                Cars    = new List <Car>
                {
                    new Car()
                    {
                        Id    = 1,
                        Make  = "BMW",
                        Model = "X5",
                        Owner = new Owner
                        {
                            FirstName = "Obed",
                            LastName  = "Garcia"
                        },
                        DateOfBuy = new DateTime(2020, 6, 18)
                    }
                }
            };

            // NewtonSoft json
            string jsonSerialized = JsonConvert.SerializeObject(parkingOne, Formatting.Indented);

            Console.WriteLine(jsonSerialized);

            // javascriptSerializer
            //JavascriptSerializer serializer = new JavascriptSerializer();
            //var jsonSerialized = serializer.Serialize(parkingOne);
        }
Пример #29
0
 public bool Insert(Parking acc)
 {
     try
     {
         obj.Parkings.Add(acc);
         return(obj.SaveChanges() > 0);
     }
     catch
     {
         return(false);
     }
 }
        public async Task <ActionResult> Create([Bind(Include = "ParkingID,Name,Address,Phone,IsOverNight,Website,OpenTime,Price,Lat,Lng")] Parking parking)
        {
            if (ModelState.IsValid)
            {
                db.Parkings.Add(parking);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(parking));
        }
Пример #31
0
        public void AddExistsParkingLevel()
        {
            var parking       = new Parking(Address.BelarusMinskNemiga);
            var parkingLevel1 = new ParkingLevel(1);
            var parkingLevel2 = new ParkingLevel(1);

            var result1 = parking.AddParkingLevel(parkingLevel1);
            var result2 = parking.AddParkingLevel(parkingLevel2);

            Assert.IsTrue(result1.IsSuccess);
            Assert.IsFalse(result2.IsSuccess);
        }
        public Parking fetchGarageParkingById(String sessionId, int parkingId,String language)
        {
            if (!authenticateUser(sessionId))
            {
                throw Utils.RaiseException(Context.Request.Url.AbsoluteUri,
                                    "fetchGarageParkingById",
                                    USER_NOT_AUTHENTICATE,
                                    "401",
                                    "fetchGarageParkingById");
            }
            language = getLanguage(language);
            String conStr = ConfigurationManager.ConnectionStrings["CityParkCS"].ConnectionString;
            Parking parking = null;
            using (SqlConnection con = new SqlConnection(conStr))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    /*String fetchDataSql = String.Format(
                     @"SELECT *,
                        priceTbl.firstHourPrice,
                        priceTbl.extraQuarterPrice,
                        priceTbl.allDayPrice
                        FROM
                        CITYPARK.[dbo].[Parking] as parkingTbl,
                        CITYPARK.[dbo].[parking_shortrange] as priceTbl
                        where parkingTbl.parkingID='{0}' and parkingTbl.parkingID=priceTbl.parkId", parkingId); //This is the old SQL*/

                    String fetchDataSql = String.Format(
                        @"DECLARE @Date DATETIME
                            SET @Date = GETDATE()
                           SELECT top 1.*,
                            CASE WHEN DATEPART(dw, @Date) BETWEEN 1 and 5 and DATENAME(hour, @Date)< Weekday_OneTimeHour
                            THEN (select WeekDay_FirstHourPrice)
                            WHEN DATEPART(dw, @Date) BETWEEN 1 and 5 and DATENAME(hour, @Date)>=Weekday_OneTimeHour
                                THEN (select Weekday_OneTimePrice)
                            WHEN DATEPART(dw, @Date)=6 and DATENAME(hour, @Date)<Friday_OneTimeHour
                                THEN (select Friday_FirstHourPrice)
                            WHEN DATEPART(dw, @Date)=6 and DATENAME(hour, @Date)>=Friday_OneTimeHour
                                THEN (select Friday_OneTimePrice)
                            WHEN DATEPART(dw, @Date)=7 and DATENAME(hour, @Date)<Saturday_FirstHourPrice
                                THEN (select Saturday_FirstHourPrice)
                            WHEN DATEPART(dw, @Date)=7 and DATENAME(hour, @Date)>=Saturday_OneTimeHour
                                THEN (select Saturday_OneTimePrice)
                            ELSE WeekDay_FirstHourPrice
                           END AS FirstHourPrice,

                           CASE WHEN DATEPART(dw, @Date) BETWEEN 1 and 5
                            THEN (select WeekDay_extraQuarterPrice)
                            WHEN DATEPART(dw, @Date)=6
                                THEN (select Friday_extraQuarterPrice)
                            WHEN DATEPART(dw, @Date)=7
                                THEN (select Saturday_extraQuarterPrice)
                            ELSE WeekDay_extraQuarterPrice
                            END AS extraQuarterPrice,
                            allDayPrice
                           FROM [CITYPARK].[dbo].[Parking]
                                WHERE parkingID ='{0}'", parkingId);
                    cmd.Connection = con;
                    cmd.CommandText = fetchDataSql;
                    con.Open();
                    using (SqlDataReader sqlDataReader = cmd.ExecuteReader())
                    {
                        if (sqlDataReader.HasRows)
                        {
                            while (sqlDataReader.Read())
                            {
                                String parkingID = sqlDataReader["parkingID"].ToString();
                                String qHouseNumber = sqlDataReader["house_number"].ToString();
                                if ("NULL".Equals(qHouseNumber) || "".Equals(qHouseNumber.Trim())) qHouseNumber = "0";
                                int parkingIdInt = Convert.ToInt32(parkingID);
                                int houseNumInt = Convert.ToInt32(qHouseNumber);
                                String name;
                                String street;
                                String city;
                                if (language.Equals("en"))
                                {
                                    name = sqlDataReader["parkingNameEnglish"].ToString();
                                    street = sqlDataReader["addressEnglish"].ToString();
                                    city = sqlDataReader["cityEnglish"].ToString();
                                }
                                else
                                {
                                    name = sqlDataReader["name"].ToString();
                                    street = sqlDataReader["street_name"].ToString();
                                    city = sqlDataReader["City"].ToString();
                                }
                                parking = new Parking(parkingIdInt,
                                    name,
                                    city,
                                    street,
                                    houseNumInt,
                                    sqlDataReader["latitude"].ToString(),
                                    sqlDataReader["longitude"].ToString());
                                parking.Comment = sqlDataReader["comment"].ToString();
                                parking.Coupon_text = sqlDataReader["coupon_text"].ToString();
                                parking.Current_Pnuyot = sqlDataReader["current_Pnuyot"].ToString();
                                parking.Image = sqlDataReader["image"].ToString();
                                parking.Image2 = sqlDataReader["image2"].ToString();
                                parking.Withlock = sqlDataReader["Withlock"].ToString();
                                parking.Underground = sqlDataReader["Underground"].ToString();
                                parking.Nolimit = sqlDataReader["Nolimit"].ToString();
                                parking.Roof = sqlDataReader["Roof"].ToString();
                                parking.Criple = sqlDataReader["Criple"].ToString();
                                parking.Toshav = sqlDataReader["toshav"].ToString();
                                parking.Jenion = sqlDataReader["jenion"].ToString();
                                parking.FirstHourPrice = sqlDataReader["firstHourPrice"].ToString();
                                parking.ExtraQuarterPrice = sqlDataReader["extraQuarterPrice"].ToString();
                                parking.AllDayPrice = sqlDataReader["allDayPrice"].ToString();
                                if("ahuzot".Equals(parking.Owner))
                                {
                                    try
                                    {
                                        String externalIdStr = sqlDataReader["externalid"].ToString();
                                        if ("NULL".Equals(externalIdStr) || "".Equals(externalIdStr.Trim())) externalIdStr = "-1";
                                        int externalId = Convert.ToInt32(externalIdStr);
                                        new Thread(() => AhuzotHoffApi.updateServiceProviderLog("fetchGarageParkingById", sessionId, externalId)).Start();
                                    }
                                    catch (Exception e)
                                    {
                                        log.Error(e.Message);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return parking;
        }
        public List<Parking> getParkingReleases(String sessionId, float latitude, float longitude, int distance,String language)
        {
            if (!authenticateUser(sessionId))
            {
                throw Utils.RaiseException(Context.Request.Url.AbsoluteUri,
                                    "getParkingReleases",
                                    USER_NOT_AUTHENTICATE,
                                    "401",
                                    "getParkingReleases");
            }
            language = getLanguage(language);
            List<Parking> parkingList = new List<Parking>();
            Boolean demo = isDemoUser(sessionId);
            String conStr = ConfigurationManager.ConnectionStrings["CityParkCS"].ConnectionString;

            if (demo)
            {
                using (SqlConnection con = new SqlConnection(conStr))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        String sql = String.Format(@"DECLARE @UserLat float = {0}
                            DECLARE @UserLong float = {1}
                            SELECT * FROM [CITYPARK].[dbo].[StreetSegmentLine] a
                            where SQRT  ( POWER((a.StartLatitude - @UserLat) * COS(@UserLat/180) * 40000 / 360, 2)
                            + POWER((a.StartLongitude -@UserLong) * 40000 / 360, 2)) < {2}", latitude, longitude, (float)distance / 1000f);
                        cmd.Connection = con;
                        cmd.CommandText = sql;
                        con.Open();
                        using (SqlDataReader sqlDataReader = cmd.ExecuteReader())
                        {
                            if (sqlDataReader.HasRows)
                            {
                                Random random = new Random();
                                int i = 1;
                                while (sqlDataReader.Read())
                                {
                                    if (i % 2 == 0)
                                    {
                                        Parking p = new Parking();
                                        p.Latitude = sqlDataReader["StartLatitude"].ToString();
                                        p.Longitude = sqlDataReader["StartLongitude"].ToString();
                                        parkingList.Add(p);
                                    }
                                    i++;
                                }
                            }
                        }
                    }
                }
                /*  Random random = new Random();
                  for (int i = 0; i < 30; i++)
                  {
                      float lat = random.Next(-90, 90);//0.00x
                      if (lat == 0) lat = 1;
                      lat = lat / 10000f;
                      lat = lat + latitude;
                      float lng = random.Next(-90, 90);//0.00x
                      if (lng == 0) lng = 1;
                      lng = lng / 10000f;
                      lng = lng + longitude;
                      Parking p = new Parking();
                      p.Latitude = lat + "";
                      p.Longitude = lng + "";
                      parkingList.Add(p);
                  }                */
                return parkingList;
            }

            using (SqlConnection con = new SqlConnection(conStr))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    String loginSql = String.Format(
                        @"DECLARE @NOW geography
                               --User Location Coordinates
                               SET @NOW = geography::Point({0}, {1},4326)
                               -- Real time user location after geocoded (address to coordinates)
                               SELECT top 200 *,
                               @NOW.STDistance(geography::Point(latitude,longitude,4326)) as Distance
                               FROM [citypark].[dbo].[StreetParking]
                               WHERE @NOW.STDistance(geography::Point(latitude,longitude,4326))<={2}
                               and datediff(mi,Date,CURRENT_TIMESTAMP)< 2 and Released = 1 order by Distance asc", latitude, longitude, distance/*in meter*/);
                    cmd.Connection = con;
                    cmd.CommandText = loginSql;
                    con.Open();
                    using (SqlDataReader sqlDataReader = cmd.ExecuteReader())
                    {
                        if (sqlDataReader.HasRows)
                        {
                            while (sqlDataReader.Read())
                            {
                                Parking parking = new Parking();
                                parking.Latitude = sqlDataReader["latitude"].ToString();
                                parking.Longitude = sqlDataReader["longitude"].ToString();
                                /*parking.City = sqlDataReader["City"].ToString();
                                parking.StreetName = sqlDataReader["Street"].ToString();
                                String houseNum = sqlDataReader["House_Number"].ToString();
                                if (!houseNum.Trim().Equals(""))
                                    parking.HouseNumber = Convert.ToInt32(houseNum);*/
                                parkingList.Add(parking);
                            }
                        }
                    }
                    return parkingList;
                }
            }
        }
Пример #34
0
        // POST: odata/Parking
        public async Task<IHttpActionResult> Post(Parking parking)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            Parking oParking = await db.Parkings.FindAsync(parking.ParkingID);
            if (oParking == null)
            {
                db.Parkings.Add(parking);
            }
            else
            {
                if (parking.ParkingName != null)
                    oParking.ParkingName = parking.ParkingName;

                if (parking.SlotsOccupied != null)
                    oParking.SlotsOccupied = parking.SlotsOccupied;

                if (parking.SlotsUnderMaintenance != null)
                    oParking.SlotsUnderMaintenance = parking.SlotsUnderMaintenance;

                if (parking.TotalSlots != null)
                    oParking.TotalSlots = parking.TotalSlots;
            }

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (ParkingExists(parking.ParkingID))
                {
                    return Conflict();
                }
                else
                {
                    throw;
                }
            }

            return Created(parking);
        }
 public void TestInitialize()
 {
     parkingBarcelona = new Parking("Barcelona");
     parkingParis = new Parking("Paris");
     newCar = new Car("NewCar");
     oldCar = new Car("OldCar");
 }
        public List<Parking> findAllGarageParkingDataByLatitudeLongitude(String sessionId, float latitude, float longitude, int distance, String language)
        {
            //and parkingtype='חניון בחינם' or parkingtype='חניון בתשלום'
            if (!authenticateUser(sessionId))//sessionId.Equals(Session["userId"]))
            {
                //HttpContext.Current.Response.StatusCode = 401;
                throw Utils.RaiseException(Context.Request.Url.AbsoluteUri,
                                    "findAllGarageParkingDataByLatitudeLongitude",
                                    USER_NOT_AUTHENTICATE,
                                    "401",
                                    "findAllGarageParkingDataByLatitudeLongitude");
            }
            language = getLanguage(language);
            Boolean demo = isDemoUser(sessionId);
            Random random = null;
            if (demo)
            {
                random = new Random();
            }
            String conStr = ConfigurationManager.ConnectionStrings["CityParkCS"].ConnectionString;
            using (SqlConnection con = new SqlConnection(conStr))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    /*String searchSql = String.Format(
                     @"DECLARE
                        @NOW geography
                        SET
                        @NOW = geography::Point({0}, {1},4326)
                        SELECT
                        top 200.*, b.firstHourPrice, b.extraQuarterPrice, b.allDayPrice,
                        @NOW.STDistance(geography::Point(latitude,longitude,4326)) as Distance
                        FROM CITYPARK.[dbo].[Parking] as a, CITYPARK.[dbo].[parking_shortrange] b
                        where a.parkingID=b.parkId
                        and DATEPART(dw, GETDATE()) between
                        Case when fromDay='א' then 1
                        when fromDay='ב' then 2
                        when fromDay='ג' then 3
                        when fromDay='ד' then 4
                        when fromDay='ה' then 5
                        when fromDay='ו' then 6
                        when fromDay='שבת' then 7
                        End

                        and Case when toDay='א' then 1
                        when toDay='ב' then 2
                        when toDay='ג' then 3
                        when toDay='ד' then 4
                        when toDay='ה' then 5
                        when toDay='ו' then 6
                        when toDay='שבת' then 7
                        End

                        and DATENAME(hour, GETDATE())>=CAST(b.fromHour AS int)and DATENAME(hour, GETDATE())<=CAST(b.toHour AS int)
                        and Heniontype='חניון' and @NOW.STDistance(geography::Point(latitude,longitude,4326))<={2}
                        order by Distance asc", latitude, longitude, distance);// and Current_Pnuyot>0 and isnumeric (b.firsthourprice)=1*/
                    String searchSql = String.Format(
                     @"DECLARE  @USER geography = geography::Point({0}, {1},4326)
                       DECLARE @Date DATETIME
                        DECLARE @CURRENTDAY as SMALLINT = DATEPART(dw, GETDATE())
                        DECLARE @CURRENTHOUR as SMALLINT = DATENAME(hour, GETDATE())
                        SET @Date = GETDATE()
                            SELECT top 200.*,
                            CASE WHEN @CURRENTDAY BETWEEN 1 and 5 and @CURRENTHOUR<Weekday_OneTimeHour
                            THEN (select WeekDay_FirstHourPrice)
                            WHEN @CURRENTDAY BETWEEN 1 and 5  and @CURRENTHOUR>=Weekday_OneTimeHour
                               THEN (select Weekday_OneTimePrice)
                            WHEN @CURRENTDAY=6 and @CURRENTHOUR<Friday_OneTimeHour
                                THEN (select Friday_FirstHourPrice)
                            WHEN @CURRENTDAY=6 and @CURRENTHOUR>=Friday_OneTimeHour
                                THEN (select Friday_OneTimePrice)
                            WHEN @CURRENTDAY=7 and @CURRENTHOUR<Saturday_FirstHourPrice
                                THEN (select Saturday_FirstHourPrice)
                            WHEN @CURRENTDAY=7 and @CURRENTHOUR>=Saturday_OneTimeHour
                                THEN (select Saturday_OneTimePrice)
                           ELSE WeekDay_FirstHourPrice

                           END AS FirstHourPrice,

                           CASE WHEN @CURRENTDAY BETWEEN 1 and 5
                            THEN (select WeekDay_extraQuarterPrice)

                            WHEN @CURRENTDAY=6
                                THEN (select Friday_extraQuarterPrice)

                            WHEN @CURRENTDAY=7
                                THEN (select Saturday_extraQuarterPrice)

                            ELSE WeekDay_extraQuarterPrice
                            END AS extraQuarterPrice,
                             ROUND(@USER.STDistance(geography::Point(latitude,longitude,4326)),0) as Distance,
                             allDayPrice

                           FROM [CITYPARK].[dbo].[Parking]
                                WHERE Heniontype='חניון'
                                and @USER.STDistance(geography::Point(latitude,longitude,4326))<{2}
                                order by Distance,vip asc", latitude, longitude, distance);// and Current_Pnuyot>0 and isnumeric (b.firsthourprice)=1
                    cmd.Connection = con;
                    cmd.CommandText = searchSql;
                    con.Open();
                    List<Parking> parkingList = new List<Parking>();
                    using (SqlDataReader sqlDataReader = cmd.ExecuteReader())
                    {
                        if (sqlDataReader.HasRows)
                        {
                            while (sqlDataReader.Read())
                            {
                                String parkingID = sqlDataReader["parkingID"].ToString();
                                String qHouseNumber = sqlDataReader["house_number"].ToString();
                                if ("NULL".Equals(qHouseNumber) || "".Equals(qHouseNumber.Trim())) qHouseNumber = "0";
                                int parkingIdInt = Convert.ToInt32(parkingID);
                                int houseNumInt = Convert.ToInt32(qHouseNumber);
                                String name;
                                String street;
                                String city;
                                if (language.Equals("en"))
                                {
                                    name = sqlDataReader["parkingNameEnglish"].ToString();
                                    street = sqlDataReader["addressEnglish"].ToString();
                                    city = sqlDataReader["cityEnglish"].ToString();
                                }
                                else
                                {
                                    name = sqlDataReader["name"].ToString();
                                    street = sqlDataReader["street_name"].ToString();
                                    city = sqlDataReader["City"].ToString();
                                }
                                Parking parking = new Parking(parkingIdInt,
                                    name,
                                    city,
                                    street,
                                    houseNumInt,
                                    sqlDataReader["latitude"].ToString(),
                                    sqlDataReader["longitude"].ToString());
                                parking.Comment = sqlDataReader["comment"].ToString();
                                parking.Owner = sqlDataReader["parkId"].ToString();
                                parking.Coupon_text = sqlDataReader["coupon_text"].ToString();
                                parking.Current_Pnuyot = sqlDataReader["current_Pnuyot"].ToString();
                                parking.Image = sqlDataReader["image"].ToString();
                                parking.Image2 = sqlDataReader["image2"].ToString();
                                parking.Withlock = sqlDataReader["Withlock"].ToString();
                                parking.Underground = sqlDataReader["Underground"].ToString();
                                parking.Nolimit = sqlDataReader["Nolimit"].ToString();
                                parking.Roof = sqlDataReader["Roof"].ToString();
                                parking.Criple = sqlDataReader["Criple"].ToString();
                                parking.Toshav = sqlDataReader["toshav"].ToString();
                                parking.Jenion = sqlDataReader["jenion"].ToString();
                                parking.FirstHourPrice = sqlDataReader["firstHourPrice"].ToString();
                                parking.ExtraQuarterPrice = sqlDataReader["extraQuarterPrice"].ToString();
                                parking.AllDayPrice = sqlDataReader["allDayPrice"].ToString();
                                parking.Distance = Convert.ToInt32(sqlDataReader["Distance"].ToString());
                                if ("ahuzot".Equals(parking.Owner))
                                {
                                    try
                                    {
                                        String externalIdStr = sqlDataReader["externalid"].ToString();
                                        if ("NULL".Equals(externalIdStr) || "".Equals(externalIdStr.Trim())) externalIdStr = "-1";
                                        int externalId = Convert.ToInt32(externalIdStr);
                                        new Thread(() => AhuzotHoffApi.updateServiceProviderLog("findAllGarageParkingDataByLatitudeLongitude", sessionId, externalId)).Start();
                                    }
                                    catch (Exception e)
                                    {
                                        log.Error(e.Message);
                                    }
                                }
                                if (demo)
                                {
                                    parking.Current_Pnuyot = random.Next(-1, 10) + "";
                                    if (parking.FirstHourPrice == "" || parking.FirstHourPrice == "NULL" || parking.FirstHourPrice == "0")
                                    {
                                        parking.FirstHourPrice = "25";
                                    }
                                }
                                parkingList.Add(parking);
                            }
                        }
                        else
                        {
                            return null;
                        }
                    }
                    return parkingList;
                }
            }
        }
        public List<Parking> findGarageParkingFilteredByParams(String sessionId, float latitude, float longitude, int distance,
            String payment, String nolimit, String withlock, String tatkarkait, String roof, String toshav, String criple,String language)
        {
            if (!authenticateUser(sessionId))
            {
                throw Utils.RaiseException(Context.Request.Url.AbsoluteUri,
                                    "findGarageParkingFilteredByParams",
                                    USER_NOT_AUTHENTICATE,
                                    "401",
                                    "findGarageParkingFilteredByParams");
            }
            language = getLanguage(language);
            String conStr = ConfigurationManager.ConnectionStrings["CityParkCS"].ConnectionString;
            using (SqlConnection con = new SqlConnection(conStr))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    String paramsSql = Utils.getParkingParams(payment, nolimit, withlock, tatkarkait, roof, toshav, criple);
                    String loginSql = String.Format(
                     @"DECLARE  @USER geography = geography::Point({0}, {1},4326)
                       DECLARE @Date DATETIME
                        SET @Date = GETDATE()
                            SELECT top 200.*,
                            CASE WHEN DATEPART(dw, @Date) BETWEEN 1 and 5 and DATENAME(hour, @Date)< Weekday_OneTimeHour
                            THEN (select WeekDay_FirstHourPrice)
                            WHEN DATEPART(dw, @Date) BETWEEN 1 and 5 and DATENAME(hour, @Date)>=Weekday_OneTimeHour
                                THEN (select Weekday_OneTimePrice)
                            WHEN DATEPART(dw, @Date)=6 and DATENAME(hour, @Date)<Friday_OneTimeHour
                                THEN (select Friday_FirstHourPrice)
                            WHEN DATEPART(dw, @Date)=6 and DATENAME(hour, @Date)>=Friday_OneTimeHour
                                THEN (select Friday_OneTimePrice)
                            WHEN DATEPART(dw, @Date)=7 and DATENAME(hour, @Date)<Saturday_FirstHourPrice
                                THEN (select Saturday_FirstHourPrice)
                            WHEN DATEPART(dw, @Date)=7 and DATENAME(hour, @Date)>=Saturday_OneTimeHour
                                THEN (select Saturday_OneTimePrice)
                           END AS FirstHourPrice,

                           CASE WHEN DATEPART(dw, @Date) BETWEEN 1 and 5
                            THEN (select WeekDay_extraQuarterPrice)

                            WHEN DATEPART(dw, @Date)=6
                                THEN (select Friday_extraQuarterPrice)

                            WHEN DATEPART(dw, @Date)=7
                                THEN (select Saturday_extraQuarterPrice)

                            ELSE WeekDay_extraQuarterPrice
                            END AS extraQuarterPrice,

                             @USER.STDistance(geography::Point(latitude,longitude,4326)) as Distance,
                             allDayPrice

                           FROM [CITYPARK].[dbo].[Parking]
                                WHERE Heniontype='חניון'
                                and @USER.STDistance(geography::Point(latitude,longitude,4326))<{2}{3}
                                order by Distance,vip asc", latitude, longitude, distance, paramsSql);//note: "and Current_Pnuyot>0" and isnumeric (b.firsthourprice)=1 was removed

                    cmd.Connection = con;
                    cmd.CommandText = loginSql;
                    con.Open();

                    List<Parking> parkingList = new List<Parking>();
                    using (SqlDataReader sqlDataReader = cmd.ExecuteReader())
                    {
                        if (sqlDataReader.HasRows)
                        {
                            while (sqlDataReader.Read())
                            {
                                String parkingID = sqlDataReader["parkingID"].ToString();
                                String qHouseNumber = sqlDataReader["house_number"].ToString();
                                if ("NULL".Equals(qHouseNumber) || "".Equals(qHouseNumber.Trim())) qHouseNumber = "0";
                                String name;
                                String street;
                                String city;
                                if (language.Equals("en"))
                                {
                                    name = sqlDataReader["parkingNameEnglish"].ToString();
                                    street = sqlDataReader["addressEnglish"].ToString();
                                    city = sqlDataReader["cityEnglish"].ToString();
                                }
                                else
                                {
                                    name = sqlDataReader["name"].ToString();
                                    street = sqlDataReader["street_name"].ToString();
                                    city = sqlDataReader["City"].ToString();
                                }
                                Parking parking = new Parking(Convert.ToInt32(parkingID),
                                    name,
                                    city,
                                    street,
                                    Convert.ToInt32(qHouseNumber),
                                    sqlDataReader["latitude"].ToString(),
                                    sqlDataReader["longitude"].ToString());
                                parking.Comment = sqlDataReader["comment"].ToString();
                                parking.Coupon_text = sqlDataReader["coupon_text"].ToString();
                                parking.Current_Pnuyot = sqlDataReader["current_Pnuyot"].ToString();
                                parking.Image = sqlDataReader["image"].ToString();
                                parking.Image2 = sqlDataReader["image2"].ToString();
                                parking.Withlock = sqlDataReader["Withlock"].ToString();
                                parking.Underground = sqlDataReader["Underground"].ToString();
                                parking.Nolimit = sqlDataReader["Nolimit"].ToString();
                                parking.Roof = sqlDataReader["Roof"].ToString();
                                parking.Criple = sqlDataReader["Criple"].ToString();
                                parking.Toshav = sqlDataReader["toshav"].ToString();
                                parking.Jenion = sqlDataReader["jenion"].ToString();
                                parking.FirstHourPrice = sqlDataReader["firstHourPrice"].ToString();
                                parking.ExtraQuarterPrice = sqlDataReader["extraQuarterPrice"].ToString();
                                parking.AllDayPrice = sqlDataReader["allDayPrice"].ToString();
                                parking.Owner = sqlDataReader["parkId"].ToString();
                                if ("ahuzot".Equals(parking.Owner))
                                {
                                    try
                                    {
                                        String externalIdStr = sqlDataReader["externalid"].ToString();
                                        if ("NULL".Equals(externalIdStr) || "".Equals(externalIdStr.Trim())) externalIdStr = "-1";
                                        int externalId = Convert.ToInt32(externalIdStr);
                                        new Thread(() => AhuzotHoffApi.updateServiceProviderLog("findGarageParkingFilteredByParams", sessionId, externalId)).Start();
                                    }
                                    catch (Exception e)
                                    {
                                        log.Error(e.Message);
                                    }
                                }

                                parkingList.Add(parking);
                            }
                        }
                        else
                        {
                            return null;
                        }
                    }
                    return parkingList;
                }
            }
        }
Пример #38
0
 public ExitEvent(DateTime dateTime, Car currentCar)
     : base(dateTime)
 {
     this.parking = new Parking(Parking.NONE);
     this.car = currentCar;
 }
Пример #39
0
 public EntryEvent(DateTime dateTime, Parking currentParking, Car currentCar)
     : base(dateTime)
 {
     this.parking = currentParking;
     this.car = currentCar;
 }