using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.LyngsatMapsScraper.Model
{
	public class IndexJsonKml
	{
		public string id;
		public string name;
		public string satpos;
		public string beams_process_timestamp;
		public string url;

		public SaneSatellitePointer Sanitize()
		{
			return new SaneSatellitePointer(Int32.Parse(id), name, float.Parse(satpos,CultureInfo.InvariantCulture), UnixTimeStampToDateTime(Int64.Parse(beams_process_timestamp)));
		}

		//stolen from https://stackoverflow.com/a/250400
		private static DateTime UnixTimeStampToDateTime(long unixTimeStamp)
		{
			// Unix timestamp is seconds past epoch
			DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
			dateTime = dateTime.AddSeconds(unixTimeStamp).ToLocalTime();
			return dateTime;
		}
	}

	public record SaneSatellitePointer(int id, string name, float satpos, DateTime beamsProcessTimestamp);
}
