/// <summary> /// Generates device parameters to speed up handling. /// </summary> /// <param name="message"></param> /// <returns></returns> protected override HandleResults OnHandleMessage(T message) { try { if (message.DeviceId == 0) { return(HandleResults.BreakSuccess); } } catch {} try { SessionHelper.CreateSession(); Dispositivo = DaoFactory.DispositivoDAO.FindById(message.DeviceId); if (Dispositivo == null) { return(HandleResults.BreakSuccess); } CalculateDeviceParameters(); Coche = DaoFactory.CocheDAO.FindMobileByDevice(Dispositivo.Id); var result = OnDeviceHandleMessage(message); SessionHelper.CloseSession(); return(result); } catch { if (Coche != null) { Coche.ClearCache(); } if (Dispositivo != null) { Dispositivo.ClearCache(); } throw; } finally { Dispositivo = null; Coche = null; } }