示例#1
0
        public void SubscriberData(SubscriptionBoardViewModel model)
        {
            IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext <CommunicationHub>();

            foreach (var board in model.Boards)
            {
                hubContext.Clients.Client(board.Token).SubscriptionVehicleMessage(model);
                Console.WriteLine("Server Sending SubscriberBoardViewModel to: " + board.FunctionName + " " + board.Token);
            }
        }
 public bool Recognize(List <List <UMat> > charactersInPlates)
 {
     foreach (var charactersInSinglePlate in charactersInPlates)
     {
         foreach (var characters in charactersInSinglePlate)
         {
             if (characters != null)
             {
                 StartRecognize(characters.Bitmap);
             }
             else
             {
                 _viewModel.LogTextBox += "\n";
             }
         }
         _viewModel.LogTextBox += String.Format("\nRozpoznana tablica - {0}\n", _licencePlate);
         if (_licencePlate != string.Empty)
         {
             var result = _database.CheckPermission(ref _licencePlate, _loosedLicencePlate);
             if (result)
             {
                 SingleVisit singleVisit = _database.SaveSingleVisit(_licencePlate);
                 _prepareDataForBoards = new PrepareDataForBoards(singleVisit);
                 _sendDataToBoards     = new SendDataToBoards();
                 if (singleVisit.Vehicle.ExpirationDate != null && singleVisit.Vehicle.ExpirationDate >= DateTime.Now)
                 {
                     _viewModel.LogTextBox += String.Format("Abonament - Akcja dla pojazdu o numerach {0}\n", _licencePlate);
                     SubscriptionBoardViewModel dataForBoards = _prepareDataForBoards.DataForSubscriptionViewModel();
                     _sendDataToBoards.SubscriberData(dataForBoards);
                     var boardName = dataForBoards.Boards.SingleOrDefault().FunctionName; //TODO: na wyjeździe nie odświeża ilośc wolnych miejsc na wieździe
                     _database.ChangeTheGarageOccupancy(boardName);
                     SendNormalMessageAfter10Second(boardName);
                 }
                 else
                 {
                     _viewModel.LogTextBox += String.Format("Klient jednorazowy - Akcja dla pojazdu o numerach {0}\n", _licencePlate);
                     var dataForBoards = _prepareDataForBoards.DataForGuestBoard();
                     _sendDataToBoards.GuestData(dataForBoards);
                     var boardName = dataForBoards.Boards.SingleOrDefault().FunctionName;
                     _database.ChangeTheGarageOccupancy(boardName);
                     SendNormalMessageAfter10Second(boardName);
                 }
                 return(true);
             }
         }
         _licencePlate = string.Empty;
     }
     return(false);
 }
示例#3
0
        public SubscriptionBoardViewModel DataForSubscriptionViewModel()
        {
            string stringDate = String.Empty;

            //enter
            if (_visit.ExitDate == null)
            {
                stringDate  = _visit.EntryDate.ToShortTimeString();
                stringDate += " " + _visit.EntryDate.ToShortDateString();
                var expirationDate = (DateTime)_visit.Vehicle.ExpirationDate;
                SubscriptionBoardViewModel subscriber = new SubscriptionBoardViewModel
                {
                    Boards          = _database.GetListOfBoards(TypeOfBoards.EnterBoard),
                    EntryOrExitDate = stringDate,
                    LicencePlate    = _visit.Vehicle.NumberPlate,
                    ExpirationDate  = expirationDate.ToShortDateString(),
                    Name            = _visit.Vehicle.Owner.Name
                };
                return(subscriber);
            }
            else //exit
            {
                var date = (DateTime)_visit.ExitDate;
                stringDate  = date.ToShortTimeString();
                stringDate += " " + date.ToShortDateString();
                var expirationDate = (DateTime)_visit.Vehicle.ExpirationDate;
                SubscriptionBoardViewModel subscriber = new SubscriptionBoardViewModel
                {
                    Boards          = _database.GetListOfBoards(TypeOfBoards.ExitBoard),
                    EntryOrExitDate = stringDate,
                    LicencePlate    = _visit.Vehicle.NumberPlate,
                    ExpirationDate  = expirationDate.ToShortDateString(),
                    Name            = _visit.Vehicle.Owner.Name,
                };
                return(subscriber);
            }
        }
示例#4
0
 public void SubscriptionVehicleMessage(SubscriptionBoardViewModel model)
 {
 }