public new void StartRecording()
        {
            var vehicleBasicInfoModel = new VehicleBasicInfoModel
            {
                DateTime = DateTime.Now,
                UniqueEntryId = Guid.NewGuid().ToString()
            };

            //vehicleBasicInfoModel.Number = ""
            var number = newvehiclenumber++;

            vehicleBasicInfoModel.Number = number.ToString();
            vehicleBasicInfoModel.IsBlackListed = base.IsBlackListedNumber(number.ToString());

            var vehicleImagesModel = new VehicleImagesModel(vehicleBasicInfoModel.UniqueEntryId);

            var resourceDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            
            vehicleImagesModel.ChaisisImage = File.ReadAllBytes(Path.Combine(resourceDir, "chasis.jpg"));
            vehicleImagesModel.DriverImage = File.ReadAllBytes(Path.Combine(resourceDir, "driver.jpg"));
            vehicleImagesModel.NumberPlateImage = File.ReadAllBytes(Path.Combine(resourceDir, "driver.jpg")); 
            vehicleImagesModel.VehicleOverallImage = File.ReadAllBytes(Path.Combine(resourceDir, "car-topview.jpg"));
            
            base.OnVehicleInformationRecived(vehicleBasicInfoModel, vehicleImagesModel);
        }
        public void TestAddVehicleEntryBasicInfo()
        {
            var mySqlProvider = new MySqlDatabaseProvider
            {
                ConnectionString = ValidConnectionString
            };

            var vehicleBasicInfoModel = new VehicleBasicInfoModel
            {
                UniqueEntryId = Guid.NewGuid().ToString(),
                Number = "TN 07 1234",
                DateTime = DateTime.Now
            };

            Assert.IsTrue(mySqlProvider.AddVehicleEntryBasicInfo(vehicleBasicInfoModel));
        }
Beispiel #3
0
        public void RecordCurrentSnapshots(out VehicleBasicInfoModel vehicleBasicInfoModel, out VehicleImagesModel vehicleImagesModel)
        {
            Logger.Info("RecordCurrentSnapshots Started..");

            vehicleBasicInfoModel = new VehicleBasicInfoModel
            {
                DateTime = DateTime.Now,
                UniqueEntryId = Guid.NewGuid().ToString()
            };

            //vehicleBasicInfoModel.Number = ""
            var vehicleNumber = this.GateProvider.LicenceNumberProvider.Read();

            vehicleBasicInfoModel.Number = vehicleNumber;
            vehicleBasicInfoModel.IsBlackListed = this.IsBlackListedNumber(vehicleNumber);

            vehicleImagesModel = new VehicleImagesModel(vehicleBasicInfoModel.UniqueEntryId);

            //var chasisImages = new List<byte[]>();

            foreach (var cameraProvider in this.GateProvider.CameraProviders)
            {
                byte[] image = cameraProvider.Read();
                switch (cameraProvider.CameraModel.ImageType)
                {
                    case ImageType.ChaisisImage:
                        //chasisImages.Add(image);
                        vehicleImagesModel.ChaisisImage = image;
                        break;
                    case ImageType.DriverImage:
                        vehicleImagesModel.DriverImage = image;
                        break;
                    case ImageType.NumberPlateImage:
                        vehicleImagesModel.NumberPlateImage = image;
                        break;
                    case ImageType.VehicleOverallImage:
                        vehicleImagesModel.VehicleOverallImage = image;
                        break;
                }
            }

            //vehicleImagesModel.ChaisisImage = ImageSticher.Sticher(chasisImages);

            Logger.Info("RecordCurrentSnapshots Ended..");
        }
Beispiel #4
0
        public bool StartRecordingInfo(out VehicleBasicInfoModel vehicleBasicInfoModel, out VehicleImagesModel vehicleImagesModel)
        {
            vehicleBasicInfoModel = null;
            vehicleImagesModel = null;

            try
            {
                if (!this.HasLoopStarted()) return false;
 
                // There is a NEW Vehicle entered, Start capturing
                this.RecordCurrentSnapshots(out vehicleBasicInfoModel, out vehicleImagesModel);

                // Done Capturing, signal Firmware
                this.EndLoop(vehicleBasicInfoModel.IsBlackListed);
                return true;
            }
            catch (Exception ex)
            {
                Logger.Error("StartRecordingInfo Failed, Exception ", ex);
                return false;
            }
        }
        public bool AddVehicleEntryBasicInfo(VehicleBasicInfoModel vehicleBasicInfoModel)
        {
            lock (LockObject)
            {
                const string insertQueryFormat =
                    "INSERT INTO vehicle_entry_info(id,number, entrytime) VALUES(@id, @vehiclenumber, @time)";
                try
                {
                    if (this.Open())
                    {
                        var mySqlCommand = this.connection.CreateCommand();

                        mySqlCommand.CommandText = insertQueryFormat;
                        mySqlCommand.Parameters.AddWithValue("@id", vehicleBasicInfoModel.UniqueEntryId);
                        mySqlCommand.Parameters.AddWithValue("@vehiclenumber", vehicleBasicInfoModel.Number);
                        mySqlCommand.Parameters.AddWithValue("@time",
                            vehicleBasicInfoModel.DateTime.ConvertToMySqlFormat());

                        mySqlCommand.ExecuteNonQuery();

                        return true;
                    }
                    return false;
                }
                catch (Exception ex)
                {
                    Logger.Error("Add AddVehicleEntryBasicInfo Item Failed..", ex);
                    return false;
                }
            }
        }
Beispiel #6
0
        protected void OnVehicleInformationRecived(VehicleBasicInfoModel vehicleBasicInfoModel, VehicleImagesModel vehicleImagesModel)
        {
            Logger.Info("Inside OnVehicleInformationRecived");

            if (VehicleInformationRecived != null)
            {
                Logger.Info("Firing OnVehicleInformationRecived");

                this.VehicleInformationRecived(vehicleBasicInfoModel, vehicleImagesModel);
                this._dataAccessLayer.AddVehicleEntryBasicInfo(vehicleBasicInfoModel);
                this._dataAccessLayer.AddVehicleEntryImges(vehicleImagesModel);
            }
        }
 public bool AddVehicleEntryBasicInfo(VehicleBasicInfoModel vehicleBasicInfoModel)
 {
     return this._databaseProvider.AddVehicleEntryBasicInfo(vehicleBasicInfoModel);
 }
 public bool AddVehicleEntryBasicInfo(VehicleBasicInfoModel vehicleBasicInfoModel)
 {
     return true;
 }