Refactor using extensions
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using PlantBox.Shared.Extensions;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -36,16 +37,21 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
throw new ArgumentException($"Excepted 3 arguments, got {arguments.Length}");
|
throw new ArgumentException($"Excepted 3 arguments, got {arguments.Length}");
|
||||||
}
|
}
|
||||||
|
|
||||||
Humidity = double.Parse(arguments[0], CultureInfo.InvariantCulture);
|
Humidity = arguments[0].ToDouble();
|
||||||
Luminosity = double.Parse(arguments[1], CultureInfo.InvariantCulture);
|
Luminosity = arguments[1].ToDouble();
|
||||||
Temperature = double.Parse(arguments[2], CultureInfo.InvariantCulture);
|
Temperature = arguments[2].ToDouble();
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string[] Serialize()
|
public override string[] Serialize()
|
||||||
{
|
{
|
||||||
return new[] { Humidity, Luminosity, Temperature }.Select(x => x.ToString(CultureInfo.InvariantCulture)).ToArray();
|
return new[]
|
||||||
|
{
|
||||||
|
Humidity.ToArgument(),
|
||||||
|
Luminosity.ToArgument(),
|
||||||
|
Temperature.ToArgument()
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using PlantBox.Shared.Extensions;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -33,15 +34,19 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
throw new ArgumentException($"Excepted 2 arguments, got {arguments.Length}");
|
throw new ArgumentException($"Excepted 2 arguments, got {arguments.Length}");
|
||||||
}
|
}
|
||||||
|
|
||||||
Interval = (HistoricInterval)Enum.Parse(typeof(HistoricInterval), arguments[0], true);
|
Interval = arguments[0].ToEnumValue<HistoricInterval>();
|
||||||
Number = int.Parse(arguments[0], CultureInfo.InvariantCulture);
|
Number = arguments[1].ToInt();
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string[] Serialize()
|
public override string[] Serialize()
|
||||||
{
|
{
|
||||||
return new[] { Interval.ToString(), Number.ToString(CultureInfo.InvariantCulture) };
|
return new[]
|
||||||
|
{
|
||||||
|
Interval.ToString(),
|
||||||
|
Number.ToArgument()
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using PlantBox.Shared.Extensions;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@@ -33,7 +34,7 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
{
|
{
|
||||||
double[] GetArray(string argument)
|
double[] GetArray(string argument)
|
||||||
{
|
{
|
||||||
return argument.Split(ValueSeparator).Select(x => double.Parse(x, CultureInfo.InvariantCulture)).ToArray();
|
return argument.Split(ValueSeparator).Select(x => x.ToDouble()).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arguments == null)
|
if (arguments == null)
|
||||||
@@ -45,7 +46,7 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
throw new ArgumentException($"Excepted 4 arguments, got {arguments.Length}");
|
throw new ArgumentException($"Excepted 4 arguments, got {arguments.Length}");
|
||||||
}
|
}
|
||||||
|
|
||||||
Time = TimeSpan.FromMinutes(double.Parse(arguments[0]));
|
Time = TimeSpan.FromMinutes(arguments[0].ToDouble());
|
||||||
Humidities = GetArray(arguments[1]);
|
Humidities = GetArray(arguments[1]);
|
||||||
Luminosities = GetArray(arguments[2]);
|
Luminosities = GetArray(arguments[2]);
|
||||||
Temperatures = GetArray(arguments[3]);
|
Temperatures = GetArray(arguments[3]);
|
||||||
@@ -62,7 +63,7 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
|
|
||||||
return new[]
|
return new[]
|
||||||
{
|
{
|
||||||
Time.TotalMinutes.ToString(CultureInfo.InvariantCulture),
|
Time.TotalMinutes.ToArgument(),
|
||||||
Join(Humidities),
|
Join(Humidities),
|
||||||
Join(Luminosities),
|
Join(Luminosities),
|
||||||
Join(Temperatures)
|
Join(Temperatures)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using PlantBox.Shared.Extensions;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -26,9 +27,9 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
Name = arguments[0];
|
Name = arguments[0];
|
||||||
Type = (PlantType)Enum.Parse(typeof(PlantType), arguments[1], true);
|
Type = arguments[1].ToEnumValue<PlantType>();
|
||||||
State = (PlantState)Enum.Parse(typeof(PlantState), arguments[2], true);
|
State = arguments[2].ToEnumValue<PlantState>();
|
||||||
Water = double.Parse(arguments[3], CultureInfo.InvariantCulture);
|
Water = arguments[3].ToDouble();
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@@ -40,7 +41,7 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
Name,
|
Name,
|
||||||
Type.ToString(),
|
Type.ToString(),
|
||||||
State.ToString(),
|
State.ToString(),
|
||||||
Water.ToString(CultureInfo.InvariantCulture)
|
Water.ToArgument()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,10 @@ namespace PlantBox.Shared.Communication.Commands
|
|||||||
|
|
||||||
public override string[] Serialize()
|
public override string[] Serialize()
|
||||||
{
|
{
|
||||||
return new[] { Message };
|
return new[]
|
||||||
|
{
|
||||||
|
Message
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
36
PlantBox.Shared/Extensions/CommandSerializeExtensions.cs
Normal file
36
PlantBox.Shared/Extensions/CommandSerializeExtensions.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace PlantBox.Shared.Extensions
|
||||||
|
{
|
||||||
|
public static class CommandSerializeExtensions
|
||||||
|
{
|
||||||
|
// String conversion
|
||||||
|
public static T ToEnumValue<T>(this string argument)
|
||||||
|
{
|
||||||
|
return (T)Enum.Parse(typeof(T), argument, true);
|
||||||
|
}
|
||||||
|
public static int ToInt(this string argument)
|
||||||
|
{
|
||||||
|
return int.Parse(argument, CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
public static double ToDouble(this string argument)
|
||||||
|
{
|
||||||
|
return double.Parse(argument, CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Double conversion
|
||||||
|
public static string ToArgument(this double argument)
|
||||||
|
{
|
||||||
|
return argument.ToString(CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Int conversion
|
||||||
|
public static string ToArgument(this int argument)
|
||||||
|
{
|
||||||
|
return argument.ToString(CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user