public ParkingStatus Get(int id)
        {
            ParkingStatus ps = null;

            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand("SELECT parking_status_id, parking_status " +
                                                    "FROM parking_statuses " +
                                                    "WHERE parking_status_id = @parkingstatusid", conn);
                    cmd.Parameters.AddWithValue("@parkingstatusid", id);
                    SqlDataReader reader = cmd.ExecuteReader();

                    if (reader.HasRows && reader.Read())
                    {
                        ps = GetParkingStatusFromReader(reader);
                    }
                }
            }
            catch (SqlException)
            {
                throw;
            }

            return(ps);
        }
Ejemplo n.º 2
0
        public async Task<ParkingStatus> GetParkingStatus(int parkingID)
        {
            ParkingStatus status = null;
            try
            {
                //get current status from the ledger
                status = await AccessLedger.GetParkingStatusAsync(parkingID);

                //if there isn't a status in the ledger, return a new blank status
                if (status == null)
                {
                    status = new ParkingStatus()
                    {
                        ParkingId = parkingID,
                        BusySpaces = 0
                    };
                }

                //get total spaces from db
                status.TotalAvailableSpaces = GetParking(parkingID).Spaces.Count;
            }
            catch (Exception ex)
            {
                
            }

            return status;
        }
Ejemplo n.º 3
0
 public ActionResult ParkStatus(ParkingStatus parkingStatus)
 {
     try
     {
         var    data = parkingBussiness.ParkStatus(parkingStatus);
         string message;
         if (data == null)
         {
             bool success = false;
             message = "Data not Found";
             return(Ok(new { success, message }));
         }
         else
         {
             bool success = true;
             message = "Parking Status";
             return(Ok(new { success, message, data }));
         }
     }
     catch (Exception)
     {
         bool   success = false;
         string message = "Fail to Unpark";
         return(BadRequest(new { success, message }));
     }
 }
        public List <ParkingStatus> List()
        {
            List <ParkingStatus> parkingStatuses = new List <ParkingStatus>();
            ParkingStatus        ps = new ParkingStatus();

            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand("SELECT parking_status_id, parking_status " +
                                                    "FROM parking_statuses " +
                                                    "ORDER BY parking_status_id", conn);
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.HasRows && reader.Read())
                    {
                        ps = GetParkingStatusFromReader(reader);
                        parkingStatuses.Add(ps);
                    }
                }
            }
            catch (SqlException)
            {
                throw;
            }

            return(parkingStatuses);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// 获取停车状态的字符串描述
 /// </summary>
 /// <param name="parkingFlag"></param>
 /// <returns></returns>
 public static string GetDescription(ParkingStatus parkingFlag)
 {
     //所有这几个设置了一下顺序,这个方法不好,但没有想到更好的方法
     if ((parkingFlag & ParkingStatus.IndoorIn) == ParkingStatus.IndoorIn)
     {
         return(Resource1.ParkingStatus_IndoorIn);
     }
     if ((parkingFlag & ParkingStatus.In) == ParkingStatus.In)
     {
         return(Resource1.ParkingStatus_In);
     }
     if ((parkingFlag & ParkingStatus.Out) == ParkingStatus.Out)
     {
         return(Resource1.ParkingStatus_Out);
     }
     if ((parkingFlag & ParkingStatus.AsTempCard) == ParkingStatus.AsTempCard)
     {
         return(Resource1.ParkingStatus_AsTempCard);
     }
     if ((parkingFlag & ParkingStatus.Consume) == ParkingStatus.Consume)
     {
         return(Resource1.ParkingStatus_Consume);
     }
     if ((parkingFlag & ParkingStatus.NestedParkMarked) == ParkingStatus.NestedParkMarked)
     {
         return(Resource1.ParkingStatus_NestedParkMarked);
     }
     if ((parkingFlag & ParkingStatus.PaidBill) == ParkingStatus.PaidBill)
     {
         return(Resource1.ParkingStatus_PaidBill);
     }
     return(string.Empty);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 获取卡片开始时间当天的计算停车费用的收费费率
        /// </summary>
        /// <param name="cardType">卡片类型</param>
        /// <param name="carType">车型</param>
        /// <param name="parkingStatus">停车状态</param>
        /// <param name="beginning">开始时间</param>
        /// <returns></returns>
        private TariffBase GetCalculateTariff(Byte?cardType, Byte carType, ParkingStatus parkingStatus, DateTime beginning)
        {
            TariffType tt = TariffType.Normal;

            if ((parkingStatus & ParkingStatus.NestedParkMarked) == ParkingStatus.NestedParkMarked)
            {
                if (HolidaySetting.Current.IsHoliday(beginning))
                {
                    tt = TariffType.HolidayAndInnerRoom;
                }
                else
                {
                    tt = TariffType.InnerRoom;
                }
            }
            else
            {
                if (HolidaySetting.Current.IsHoliday(beginning))
                {
                    tt = TariffType.Holiday;
                }
            }

            TariffBase tb = GetTariff(cardType, carType, tt);//tt为null时免费

            return(tb);
        }
        private ParkingStatus GetParkingStatusFromReader(SqlDataReader reader)
        {
            ParkingStatus ps = new ParkingStatus()
            {
                ParkingStatusId   = Convert.ToInt32(reader["parking_status_id"]),
                ParkingStatusName = Convert.ToString(reader["parking_status"])
            };

            return(ps);
        }
Ejemplo n.º 8
0
        public ParkingSummaryViewModel(ParkingReservedViewModel parentViewModel, ParkingStatus status, IPlatformService platformService, IApiService apiService, ICacheService cacheService)
            : base(apiService, cacheService)
        {
            this.mParentViewModel = parentViewModel;
            this.Status           = status;
            this.mPlatformService = platformService;
            Reservation           = mCacheService.CurrentReservation;

            IsShowLeaveReportButton = Reservation.LeavingStatus == null || Reservation.LeavingStatus.Equals("na");
        }
Ejemplo n.º 9
0
        public async Task <ParkingStatus> GetParkingStatusAsync(int parkingId)
        {
            if (!IsInizialized)
            {
                return(null);
            }

            ParkingStatus status = await DocumentDBRepository <ParkingStatus> .GetItemAsync("_status_" + parkingId);

            return(status);
        }
Ejemplo n.º 10
0
 public object ParkStatus(ParkingStatus parkingStatus)
 {
     try
     {
         var result = parkingRepository.ParkStatus(parkingStatus);
         return(result);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
        public void UnParkDetails_ReturnOKResult()
        {
            //Arrange
            ParkingStatus details = new ParkingStatus()
            {
                ReceiptNo = 2010
            };
            // Act
            var okResult = parkingLotController.ParkStatus(details);

            // Assert
            Assert.IsType <OkObjectResult>(okResult);
        }
Ejemplo n.º 12
0
        public IActionResult Get(int id)
        {
            ParkingStatus ps = parkingStatusDAO.Get(id);

            if (ps == null)
            {
                return(NoContent());
            }
            else
            {
                return(Ok(ps));
            }
        }
        public void UnParkDetails_ReturnBadRequest()
        {
            ParkingStatus details = new ParkingStatus()
            {
                ReceiptNo = 10
            };

            // Act
            var badRequest = parkingLotController.ParkStatus(details);

            // Assert
            Assert.IsType <BadRequestObjectResult>(badRequest);
        }
Ejemplo n.º 14
0
        public async void Init(ParkingStatus status, int timeLeft, long startTime)
        {
            Status           = status;
            TotalParkingTime = timeLeft;
            Title            = startTime.UnixTimeStampToDateTime().ToString("MM/dd/yyyy");

            await Task.Delay(100);

            OverviewResumeTitle = TextSource.GetText("OverviewText");

            if (View != null)
            {
                View.ChangeBarButton();
            }
        }
Ejemplo n.º 15
0
        public async Task <ParkingStatus> GetParkingStatusAsync(int parkingId)
        {
            using (HttpClient client = new HttpClient())
            {
                try
                {
                    client.BaseAddress = Endpoint;
                    var result = await client.GetAsync("getparkingstatus/" + parkingId);

                    result.EnsureSuccessStatusCode();
                    ParkingStatus status = JsonConvert.DeserializeObject <ParkingStatus>(await result.Content.ReadAsStringAsync());
                    return(status);
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
        }
Ejemplo n.º 16
0
        public async void Init(ParkingStatus status, bool isReadOnly)
        {
            IsReadOnly = isReadOnly;
            Status     = status;
            SummaryVM  = new ParkingSummaryViewModel(this, Status, mPlatformService, mApiService, mCacheService);
            //if (mCacheService.CurrentReservation != null)
            SummaryVM.Reservation = mCacheService.CurrentReservation;
            SummaryVM.IsReadOnly  = IsReadOnly;
            //MapVM = new ParkingMapViewModel(this, mPlatformService, mApiService, mCacheService);
            SummaryVM.Init();
            //MapVM.Init();

            await Task.Delay(100);

            OverviewResumeTitle = TextSource.GetText("OverviewText");

            //TotalParkingTime = (int)(long.Parse(SummaryVM.Reservation.EndTimestamp) - long.Parse(SummaryVM.Reservation.StartTimestamp));

            CheckTotalParkingTime();
        }
Ejemplo n.º 17
0
        public static IActionResult GetParkingStatusAsync(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "getparkingstatus/{parkingId}")] HttpRequestMessage req,
            [CosmosDB("ParkingLedger", "VehicleAccesses", ConnectionStringSetting = "CosmosDBEndpoint",
                      SqlQuery = "SELECT * FROM c WHERE c.ParkingID = {parkingId}", CreateIfNotExists = true, PartitionKey = "/Access/ParkingID")] IEnumerable <dynamic> docs,
            int parkingId,
            ILogger log)
        {
            if (docs == null || docs.Count() == 0)
            {
                return(new NotFoundResult());
            }
            var doc = docs.FirstOrDefault();

            ParkingStatus status = new ParkingStatus
            {
                BusySpaces = (int)doc.busySpaces,
                ParkingId  = doc.ParkingID
            };

            return(new OkObjectResult(status));
        }
        public object ParkStatus(ParkingStatus parkingStatus)
        {
            try
            {
                double total = db.parkingPortals.Where(p => p.ReceiptNo == parkingStatus.ReceiptNo)
                               .Select(i => (DateTime.Now.Subtract(i.ParkingDate).TotalMinutes)).Sum();

                parkingStatus.Date    = DateTime.Now;
                parkingStatus.Charges = Convert.ToInt32(total * 10);

                var Status = db.parkingPortals.Find(parkingStatus.ReceiptNo);
                Status.Status = "UnPark";
                db.parkingPortals.Update(Status);
                db.Add(parkingStatus);
                db.SaveChanges();

                var data = (from p in db.parkingPortals
                            where p.ReceiptNo == parkingStatus.ReceiptNo
                            from q in db.ParkingStatuses
                            select new
                {
                    p.ReceiptNo,
                    p.DriverName,
                    p.Brand,
                    p.VehicleColor,
                    p.Slot,
                    p.VehicleNumber,
                    p.ParkingDate,
                    parkingStatus.Date,
                    parkingStatus.Charges
                }).FirstOrDefault();

                return(data);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Ejemplo n.º 19
0
        public async Task <IActionResult> GetStatus(int parkingId)
        {
            if (!_store.IsInitialized)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Not initialized"));
            }

            if (parkingId <= 0)
            {
                return(BadRequest());
            }

            var parking = _store.GetParking(parkingId);

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

            ParkingStatus status = await _store.GetParkingStatus(parkingId);

            return(Json(status));
        }
 private void AllocateParkingSlots(bool isCalledFromBarcodeScanner, string barcodeNo, ParkingStatus parkStatus)
 {
     WebAPICaller myWebAPICaller = new WebAPICaller();
     string selParking = IsolatedStorageSettings.ApplicationSettings[_SelParking].ToString();
     
     string urlParam = "userId=" + UserID + "&parkingId=" + selParking + "&slotNo=" + barcodeNo + "&SlotStatus=" + ((int)parkStatus).ToString();
     myWebAPICaller.POST_urlParam("SlotMaster/PostParkUnPark",  urlParam );
     if (isCalledFromBarcodeScanner)
     {
         object slot = _SlotContainer.FindName(barcodeNo);
         if (slot == null) return;
         ((ParkingSlot)slot).ParkStatus = parkStatus;
     }
 }
 public void MakeMeFree()
 {
     Background = new SolidColorBrush(Colors.White);
     _ParkStatus = ParkingStatus.Free;
 }