예제 #1
0
        internal bool VehiclePingLogic(VehicleMetadata vehicleMetadata)
        {
            VehiclesDataService        vehiclesDataService        = new VehiclesDataService();
            VehiclePingLogsDataService vehiclePingLogsDataService = new VehiclePingLogsDataService();

            vehiclesDataService.OpenConnection();
            vehiclePingLogsDataService.OpenConnection();
            Vehicle vehicle = vehiclesDataService.find(vehicleMetadata.VIN, vehicleMetadata.Regnr);

            //Add new entry in the log table
            vehiclePingLogsDataService.Add(new VehiclePingLog()
            {
                PingDate  = DateTime.Now,
                VehicleID = vehicle.ID
            });
            vehiclePingLogsDataService.Commit();
            vehiclePingLogsDataService.CloseConnection();

            //Update Vehicle record with the last ping time.
            vehicle.LastPingTime = DateTime.Now;

            vehiclesDataService.Update(vehicle);
            vehiclesDataService.Commit();
            vehiclesDataService.CloseConnection();
            return(true);
        }
예제 #2
0
        private void ReceivedEvent(object sender, BasicDeliverEventArgs e)
        {
            if (e.RoutingKey == "vehicleInsertMsgQ")
            {
                var             message    = Encoding.UTF8.GetString(e.Body);
                VehicleMetadata vehicleObj = JsonConvert.DeserializeObject <VehicleMetadata>(message);

                bool saveFeedback = new VehicleService().VehiclePingLogic(vehicleObj);

                PublishUserSaveFeedback("vehicleInsertMsgQ_feedback", saveFeedback, e.BasicProperties.Headers);
            }
        }