Minor refactoring to remote redundant code

This commit is contained in:
vdemydiuk
2018-02-19 17:12:26 +02:00
parent f1c1df1e00
commit 83776f8b7a
2 changed files with 13 additions and 51 deletions
+12 -8
View File
@@ -81,7 +81,7 @@ namespace MtApi5
{
var client = Client;
var quotes = client?.GetQuotes();
return quotes?.Select(q => q.Parse());
return quotes?.Select(q => q.Convert());
}
///<summary>
@@ -2490,11 +2490,9 @@ namespace MtApi5
private void _client_QuoteUpdated(MtQuote quote)
{
if (quote != null)
{
QuoteUpdate?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask)));
QuoteUpdated?.Invoke(this, quote.Instrument, quote.Bid, quote.Ask);
}
if (quote == null) return;
QuoteUpdate?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask)));
QuoteUpdated?.Invoke(this, quote.Instrument, quote.Bid, quote.Ask);
}
private void _client_ServerDisconnected(object sender, EventArgs e)
@@ -2509,12 +2507,18 @@ namespace MtApi5
private void _client_QuoteRemoved(MtQuote quote)
{
QuoteRemoved?.Invoke(this, new Mt5QuoteEventArgs(quote.Parse()));
if (quote != null)
{
QuoteRemoved?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask)));
}
}
private void _client_QuoteAdded(MtQuote quote)
{
QuoteAdded?.Invoke(this, new Mt5QuoteEventArgs(quote.Parse()));
if (quote != null)
{
QuoteAdded?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask)));
}
}
private void OnConnected()
+1 -43
View File
@@ -9,53 +9,11 @@ namespace MtApi5
private static readonly MtLog Log = LogConfigurator.GetLogger(typeof(MtConverters));
#region Values Converters
public static Mt5Quote Parse(this MtQuote quote)
public static Mt5Quote Convert(this MtQuote quote)
{
return quote != null ? new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask) : null;
}
public static bool ParseResult(this string inputString, char separator, out MqlTradeCheckResult result)
{
Log.Debug($"ParseResult: inputString = {inputString}, separator = {separator}");
var retVal = false;
result = null;
if (string.IsNullOrEmpty(inputString) == false)
{
var values = inputString.Split(separator);
if (values.Length == 10)
{
try
{
retVal = int.Parse(values[0]) != 0;
var retcode = uint.Parse(values[1]);
var balance = double.Parse(values[2]);
var equity = double.Parse(values[3]);
var profit = double.Parse(values[4]);
var margin = double.Parse(values[5]);
var marginFree = double.Parse(values[6]);
var marginLevel = double.Parse(values[7]);
var comment = values[8];
result = new MqlTradeCheckResult(retcode, balance, equity, profit, margin, marginFree, marginLevel, comment);
}
catch (Exception ex)
{
retVal = false;
Log.Error($"ParseResult: {ex.Message}");
}
}
}
else
{
Log.Warn("ParseResult: input srting is null or empty!");
}
return retVal;
}
public static bool ParseResult(this string inputString, char separator, out double result)
{
Log.Debug($"ParseResult: inputString = {inputString}, separator = {separator}");