public void Execute() { FileInfo[] extractedFiles = _ListExtractedFiles(); foreach (FileInfo extractedFile in extractedFiles) { try { ITranslateFile fileTranslator = new FileTranslator(); ITelegram telegram = fileTranslator.Translate(extractedFile); string serializedTelegram = JsonConvert.SerializeObject(telegram); IWriteFile fileWriter = new FileWriter(); fileWriter .WithPath(Config.Instance.TranslatedFilesPath) .WithFilename(_CreateFilename(extractedFile)) .WithContents(serializedTelegram) .Write(); extractedFile.Delete(); Console.WriteLine($"{DateTime.UtcNow}: Translated '{extractedFile.Name}'"); } catch (Exception ex) { Console.WriteLine($"An error occured while translating file '{extractedFile.FullName}': {ex}"); } } }
public IActionResult GetCurrent() { IManageTelegram telegramManager = new TelegramManager(); ITelegram telegram = telegramManager.SelectCurrent(); return(Ok(telegram)); }
public FireScheduler(ILoggerFactory logger, ISettings settings, ITelegram telegram, IForecaster forecaster) { _logger = logger.CreateLogger("BotTools"); _settings = settings; _telegram = telegram; _forecaster = forecaster; }
/// <summary> /// Public constructor. /// </summary> /// <param name="deviceId">Device Id.</param> /// <param name="nuvoTelegram">Optional. Used in case of unit test to pass a mock telegram object.</param> public NuvoEssentiaProtocol(int deviceId, ITelegram nuvoTelegram) { _deviceId = deviceId; _serialPort = ((nuvoTelegram == null)?new NuvoCommandTelegram(null):nuvoTelegram); _serialPort.onTelegramReceived += new TelegramEventHandler(_serialPort_onTelegramReceived); }
public void HandleMessage(ITelegram telegram) { if (!telegram.Global && owner == telegram.Receiver) owner.Receive(telegram); else if (telegram.Global && owner.GetType() == telegram.Receiver.GetType()) owner.Receive(telegram); }
public static void SetStopLoss(this ITelegram ctx, Position position, IStrategyBase strategy) { ctx.GetPips("Select SL (pips)", (double pips) => { if (double.IsNaN(pips)) { strategy.Robot.Print("setSL output no good"); return; } double sl = 0; if (position.TradeType == TradeType.Buy) { sl = position.EntryPrice - (pips * strategy.Symbol.TickSize); } else { sl = position.EntryPrice + (pips * strategy.Symbol.TickSize); } var result = strategy.Robot.ModifyPosition(position, sl, position.TakeProfit); if (result.IsSuccessful) { ctx.SendMessage("SL Set {0}", sl); } else { ctx.SendMessage("SL failed"); } }, new TimeSpan(1, 0, 0)); }
public DataController(IHelpers helpers, IForecaster forecaster, ISettings settings, ITelegram telegram, ILoggerFactory logger) { _helpers = helpers; _forecaster = forecaster; _settings = settings; _telegram = telegram; _logger = logger.CreateLogger("Controller.DataController"); }
public override void Receive(ITelegram telegram) { /// TODO replace with Switch Statement if (telegram.Receiver == this) { if(telegram.Message is UnitPhysicsMediator) { unitPhysicsMediatorsTempList.Add((UnitPhysicsMediator)telegram.Message); unitPhysicsMediators = unitPhysicsMediatorsTempList.ToArray(); if (telegram.Message is Player) player = unitPhysicsMediatorsTempList.Find(p => p is Player); } else if (telegram.Message is Ground) { grounds.Add((Ground)telegram.Message); if (grounds.Count == groundCount) { groundsArray = grounds.ToArray(); quicksort(groundsArray, 0, groundsArray.Length - 1); for (int i = 0; i < groundsArray.Length; i++) { var b0 = groundsArray[i].BoundingBox; for (int j = 1; j < groundsArray.Length; j++) { var b1 = groundsArray[j].BoundingBox; if (b0.HalfHeight > b0.HalfWidth && b1.HalfHeight > b1.HalfWidth && Math.Abs(Vector3.Cross(groundsArray[i].BoundingBox.Center.normalized, groundsArray[j].BoundingBox.Center.normalized).y) <= 20.0f) { groundsArray[i].BoundingBox.IgnoreCollision = IgnoreCollision.Y_AXIS; groundsArray[j].BoundingBox.IgnoreCollision = IgnoreCollision.Y_AXIS; } if (b0.HalfWidth > b0.HalfHeight && b1.HalfWidth > b1.HalfHeight && Math.Abs(Vector3.Cross(groundsArray[i].BoundingBox.Center.normalized, groundsArray[j].BoundingBox.Center.normalized).x) <= 130f) { groundsArray[i].BoundingBox.IgnoreCollision = IgnoreCollision.X_AXIS; groundsArray[j].BoundingBox.IgnoreCollision = IgnoreCollision.X_AXIS; } } } } } else if(telegram.Message is ItemPickUp) itemPickUps.Add((ItemPickUp)telegram.Message); else if (telegram.Message is Bullet) { bullets.Add((Bullet)telegram.Message); } else if (telegram.Message is Trigger) { trigger = (Trigger) telegram.Message; } } }
public void TranslatesWithCorrectElectricityDeliveredActual() { decimal expectedElectricityDeliveredActual = 0.848m; string filePath = $"{Directory.GetCurrentDirectory()}/Files/CreatesFileWithCorrectContents.txt"; FileInfo fileInfo = new FileInfo(filePath); FileTranslator fileTranslator = new FileTranslator(); ITelegram telegram = fileTranslator.Translate(fileInfo); Assert.AreEqual(expectedElectricityDeliveredActual, telegram.ElectricityDeliveredActual); }
public void TranslatesWithCorrectElectricityConsumedTariff2() { decimal expectedElectricityConsumedTariff2 = 1356.036m; string filePath = $"{Directory.GetCurrentDirectory()}/Files/CreatesFileWithCorrectContents.txt"; FileInfo fileInfo = new FileInfo(filePath); FileTranslator fileTranslator = new FileTranslator(); ITelegram telegram = fileTranslator.Translate(fileInfo); Assert.AreEqual(expectedElectricityConsumedTariff2, telegram.ElectricityConsumedTariff2); }
public void TranslatesWithCorrectTimestamp() { DateTime expectedTimestamp = new DateTime(2017, 08, 31, 10, 55, 07); string filePath = $"{Directory.GetCurrentDirectory()}/Files/CreatesFileWithCorrectContents.txt"; FileInfo fileInfo = new FileInfo(filePath); FileTranslator fileTranslator = new FileTranslator(); ITelegram telegram = fileTranslator.Translate(fileInfo); Assert.AreEqual(expectedTimestamp, telegram.Timestamp); }
public ForecasterSheduled(ITelegram messenger, IProcessModel processModel, IDirectoryManager directoryManager, IFileManager fileManager, IPythonExec pythonExec, IUtility utility, IRequests requests) { _messenger = messenger; _processModel = processModel; _fileManager = fileManager; _directoryManager = directoryManager; _pythonExec = pythonExec; _utility = utility; _requestHelper = requests; }
private void initializeTelegram() { try { if (this.Robot.IsBacktesting) { _nooptelegramClient = new NoopTelegram(); } else { _telegramClient = new StrategyTelegram(this); } } catch (Exception ex) { Robot.Print("StrategyBase: Error starting telegram client {0}", ex.Message); } }
public void Save(ITelegram telegram) { string statement = @" INSERT INTO `electricity` (Timestamp, ElectricityConsumedTariff1, ElectricityConsumedTariff2, ElectricityDeliveredTariff1, ElectricityDeliveredTariff2, ElectrictyConsumedActual, ElectricityDeliveredActual) VALUES (@Timestamp, @ElectricityConsumedTariff1, @ElectricityConsumedTariff2, @ElectricityDeliveredTariff1, @ElectricityDeliveredTariff2, @ElectrictyConsumedActual, @ElectricityDeliveredActual) ON DUPLICATE KEY UPDATE ElectricityConsumedTariff1 = VALUES(ElectricityConsumedTariff1), ElectricityConsumedTariff2 = VALUES(ElectricityConsumedTariff2), ElectricityDeliveredTariff1 = VALUES(ElectricityDeliveredTariff1), ElectricityDeliveredTariff2 = VALUES(ElectricityDeliveredTariff2), ElectrictyConsumedActual = VALUES(ElectrictyConsumedActual), ElectricityDeliveredActual = VALUES(ElectricityDeliveredActual); "; using (IDbConnection connection = new DatabaseConnection().CreateConnection()) { connection.Execute(statement, telegram); } }
public static void GetPips(this ITelegram ctx, string msg, DoubleResponse callback, TimeSpan expiration) { var commands = new List <string>() { "5", "10", "15", "20", "30", "40", "50" }; ctx.GetChoice(msg, commands, (string s) => { double outVal = 0; if (double.TryParse(s, out outVal)) { callback(outVal); } else { callback(double.NaN); } }, expiration); }
public void Execute() { IManageTelegram telegramManager = new TelegramManager(); FileInfo[] translatedFiles = _ListTranslatedFiles(); foreach (FileInfo translatedFile in translatedFiles) { try { string serializedTelegram = File.ReadAllText(translatedFile.FullName); ITelegram telegram = JsonConvert.DeserializeObject <Telegram>(serializedTelegram); telegramManager.Save(telegram); translatedFile.Delete(); Console.WriteLine($"{DateTime.UtcNow}: Loaded '{translatedFile.Name}'"); } catch (Exception ex) { Console.WriteLine($"An error occured while loading file '{translatedFile.FullName}': {ex}"); } } }
public SendScheduledMessage(ITelegram messenger) { _messenger = messenger; }
public virtual void Receive(ITelegram telegram) { throw new NotImplementedException(); }
public void DispatchMessage(ITelegram telegram) { if (SendMessage != null) SendMessage(telegram); }
protected void makeMessageSystem() { telegram = Substitute.For<ITelegram>(); receiver = Substitute.For<IReceiver>(); messageDispatcher = Substitute.For<IMessageDispatcher>(); }
public void Receive(ITelegram telegram) { if(telegram.Message is StatusEffect) GainStatusEffect((StatusEffect)telegram.Message); }