public IActionResult Get() { List <string> result = new List <string>(); var timeZoneIds = TimeZoneIds.GetAllTimeZoneInfo(); foreach (TimeZoneInfo tzi in timeZoneIds) { result.Add(tzi.Id); } Console.WriteLine("TimeZone Ids fetched" + DateTime.UtcNow); return(Ok(result)); }
public IActionResult GetWorldTime(int id) { var utcTime = DateTime.UtcNow; var serverTime = DateTime.Now; var ip = HttpContext.Connection.RemoteIpAddress.ToString(); var timeZones = TimeZoneIds.GetAllTimeZoneInfo(); if (id > timeZones.Count - 1) { return(StatusCode(404)); } var requestedTimeZone = timeZones[id].Id.ToString(); var convertedDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, timeZones[id]).ToShortTimeString(); var returnVal = new WorldTimeQuery { ClientIp = ip, UTCTime = utcTime, RequestedTimeZone = requestedTimeZone, ConvertedDateTime = convertedDateTime }; using (var db = new ClockworkContext()) { db.WorldTimeQueries.Add(returnVal); var count = db.SaveChanges(); Console.WriteLine("{0} records saved to database", count); Console.WriteLine(); foreach (var WorldTimeQuery in db.WorldTimeQueries) { Console.WriteLine($" - {WorldTimeQuery.RequestedTimeZone} : {WorldTimeQuery.ConvertedDateTime}"); } } return(Ok(returnVal)); }