public SmallTime ParseTime(string timeToParse) { b.Info.Flow($"{nameof(timeToParse)} {timeToParse ?? "null"}"); if (string.IsNullOrEmpty(timeToParse)) { throw new ArgumentOutOfRangeException(nameof(timeToParse), "Unable to Parse null or empty strings to words."); } var result = new SmallTime(); try { if (!timeToParse.Contains(":")) { // Special case pass in 0 get 0:00 therefore midnight. timeToParse += ":00"; b.Verbose.Log("Special Case - appending minutes", timeToParse); } result.Hour = DateTime.Parse(timeToParse).Hour; result.Minute = DateTime.Parse(timeToParse).Minute; return(result); } catch (FormatException fx) { b.Error.Dump(fx, $"Exception parsing {timeToParse ?? "null"}"); throw new ArgumentOutOfRangeException(nameof(timeToParse), fx); } }
public SmallTimeRenderer(SmallTime st) { RenderParts.Add(RenderElements.Preamble, string.Empty); RenderParts.Add(RenderElements.MinuteText, string.Empty); RenderParts.Add(RenderElements.Intermediary, string.Empty); RenderParts.Add(RenderElements.Postamble, string.Empty); RenderParts.Add(RenderElements.HourText, string.Empty); Time = st; RenderTime.Hour = st.Hour; RenderTime.Minute = st.Minute; FormatString = "%PRE%%MIN%%INT%%HUR%%PST%"; }