Exemple #1
0
        private void Vh_BatteryLevelChange(object sender, BatteryLevel e)
        {
            AVEHICLE vh = sender as AVEHICLE;

            try
            {
                //LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                //   Data: $"Battery Level Change,Current Level:{e}.low level:{AVEHICLE.BATTERYLEVELVALUE_LOW},middle level:{AVEHICLE.BATTERYLEVELVALUE_MIDDLE}",
                //   VehicleID: vh.VEHICLE_ID);
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                              Data: $"Battery Level Change,Current Level:{e}.low level:{AVEHICLE.BATTERYLEVELVALUE_LOW},Hight level:{AVEHICLE.BATTERYLEVELVALUE_HIGH}",
                              VehicleID: vh.VEHICLE_ID);
                switch (e)
                {
                case BatteryLevel.Full:
                    vehicleBLL.updataVehicleLastFullyChargerTime(vh.VEHICLE_ID);
                    break;

                case BatteryLevel.Low:
                    //if (vh.MODE_STATUS == VHModeStatus.Manual || vh.MODE_STATUS == VHModeStatus.None)
                    //{
                    //    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                    //       Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} can't change to auto charge.",
                    //       VehicleID: vh.VEHICLE_ID);
                    //    return;
                    //}
                    //else
                    //{
                    //    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                    //       Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} change to auto charge.",
                    //       VehicleID: vh.VEHICLE_ID);
                    //}
                    //vehicleService.changeVhStatusToAutoCharging(vh.VEHICLE_ID);
                    if (vh.MODE_STATUS == VHModeStatus.AutoRemote)
                    {
                        LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                                      Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} change to auto charge.",
                                      VehicleID: vh.VEHICLE_ID);
                        vehicleService.changeVhStatusToAutoCharging(vh.VEHICLE_ID);
                    }
                    else
                    {
                        LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                                      Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} can't change to auto charge.",
                                      VehicleID: vh.VEHICLE_ID);
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Warn, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                              Data: ex,
                              VehicleID: vh?.VEHICLE_ID);
            }
        }
        private void Vh_BatteryLevelChange(object sender, BatteryLevel e)
        {
            AVEHICLE vh = sender as AVEHICLE;

            try
            {
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                              Data: $"Battery Level Change,Current Level:{e}.low level:{AVEHICLE.BATTERYLEVELVALUE_LOW},Hight level:{AVEHICLE.BATTERYLEVELVALUE_HIGH}",
                              VehicleID: vh.VEHICLE_ID);
                switch (e)
                {
                case BatteryLevel.Full:
                    vehicleBLL.updataVehicleLastFullyChargerTime(vh.VEHICLE_ID);
                    break;

                case BatteryLevel.Low:
                    //if (vh.MODE_STATUS == VHModeStatus.Manual || vh.MODE_STATUS == VHModeStatus.None)
                    //{
                    //    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                    //       Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} can't change to auto charge.",
                    //       VehicleID: vh.VEHICLE_ID);
                    //    return;
                    //}
                    //else
                    //{
                    //    LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                    //       Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} change to auto charge.",
                    //       VehicleID: vh.VEHICLE_ID);
                    //}
                    //vehicleService.changeVhStatusToAutoCharging(vh.VEHICLE_ID);

                    if (vh.MODE_STATUS == VHModeStatus.AutoRemote)
                    {
                        LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                                      Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} change to auto charge.",
                                      VehicleID: vh.VEHICLE_ID);
                        vehicleService.changeVhStatusToAutoCharging(vh.VEHICLE_ID);
                    }
                    else
                    {
                        LogHelper.Log(logger: logger, LogLevel: LogLevel.Info, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                                      Data: $"vh:{vh.VEHICLE_ID} current mode is:{vh.MODE_STATUS} can't change to auto charge.",
                                      VehicleID: vh.VEHICLE_ID);
                    }
                    break;
                }
                if (e == BatteryLevel.Low)
                {
                    lineService.ProcessAlarmReport(vh, AlarmBLL.VEHICLE_BATTERY_LEVEL_IS_LOW, ErrorStatus.ErrSet, $"vehicle:{vh.VEHICLE_ID} is in low battery status");
                }
                else
                {
                    lineService.ProcessAlarmReport(vh, AlarmBLL.VEHICLE_BATTERY_LEVEL_IS_LOW, ErrorStatus.ErrReset, $"vehicle:{vh.VEHICLE_ID} is in low battery status");
                    lineService.ProcessAlarmReport(vh, AlarmBLL.VEHICLE_CAN_NOT_FIND_THE_COUPLER_TO_CHARGING, ErrorStatus.ErrReset, $"vehicle:{vh.VEHICLE_ID} can't find coupler to charging");
                }
            }
            catch (Exception ex)
            {
                LogHelper.Log(logger: logger, LogLevel: LogLevel.Warn, Class: nameof(VehicleChargerModule), Device: DEVICE_NAME,
                              Data: ex,
                              VehicleID: vh?.VEHICLE_ID);
            }
        }