rendered paste body List<Object> ParseCommand(string command) {
List<Object> parsedData = new List<Object>();
string[] parts = command.Split(',');
Response.Write(parts[1]);
// time
string hours = parts[2].Substring(0, 2);
string minutes = parts[2].Substring(2, 2);
string seconds = parts[2].Substring(4, 2);
string timestamp = Convert.ToInt32(hours) + 1 + ":" + minutes + ":" + seconds;
// accuracy
bool isAccurate = parts[3] == "A";
// latitude
int latitudeDegrees = Convert.ToInt32(parts[4].Substring(0, 2));
string minuteString = parts[4].Substring(2, 7);
Response.Write(minuteString);
double latitudeMinutes = Convert.ToDouble(minuteString) / 60;
double latitude = latitudeDegrees + latitudeMinutes;
// hemisphere north-south
string hemisphereNS = parts[5] == "N" ? "É" : "D";
// longitude
int longitudeDegrees = Convert.ToInt32(parts[6].Substring(1, 2));
minuteString = parts[6].Substring(3, 7);
double longitudeMinutes = Convert.ToDouble(minuteString) / 60;
double longitude = longitudeDegrees + longitudeMinutes;
// hemisphere east-west
string hemisphereEW = parts[7] == "E" ? "K" : "Ny";
// velocity
double velocity = Convert.ToDouble(parts[8]);
double velocitySI = velocity * 0.5144 * 3.6;
// direction
double directionDegrees = Convert.ToDouble(parts[9]);
// date
string day = parts[10].Substring(0, 2);
string month = parts[10].Substring(2, 2);
string year = parts[10].Substring(4, 2);
string date = year + "/" + month + "/" + day;
parsedData.Add(date + " " + timestamp);
parsedData.Add(hemisphereNS + " " + latitude);
parsedData.Add(hemisphereEW + " " + longitude);
parsedData.Add(velocitySI);
parsedData.Add(directionDegrees);
return parsedData;
}