/// <summary>Retrieving maximum time for a specified TimeRange enum value (in hours)</summary> public static int MaxTime_Hrs(this TimeRangeTag value) { int res = 0; switch (value) { case TimeRangeTag.time_0_15: res = 0; break; case TimeRangeTag.time_16_30: res = 0; break; case TimeRangeTag.time_31_60: res = 1; break; case TimeRangeTag.time_61_120: res = 2; break; case TimeRangeTag.time_121_240: res = 4; break; case TimeRangeTag.time_over_2hrs: res = int.MaxValue; break; } return(res); }
/// <summary>Retrieving minimum time for a specified TimeRange enum value (in minutes)</summary> public static int MinTime_Min(this TimeRangeTag value) { int res = 0; switch (value) { case TimeRangeTag.time_0_15: res = 0; break; case TimeRangeTag.time_16_30: res = 16; break; case TimeRangeTag.time_31_60: res = 31; break; case TimeRangeTag.time_61_120: res = 61; break; case TimeRangeTag.time_121_240: res = 121; break; case TimeRangeTag.time_over_2hrs: res = 121; break; } return(res); }
public TimeRange() { RawText = ""; Tag = TimeRangeTag.undef; HasTimeRangeTag = false; MinTime = MINVALUE; MaxTime = MAXVALUE; }
public TimeRange(TimeRangeTag trTag) { Tag = trTag; HasTimeRangeTag = true; RawText = ""; switch (trTag) { case TimeRangeTag.undef: MinTime = MINVALUE; MaxTime = MAXVALUE; break; case TimeRangeTag.time_0_15: MinTime = 0; MaxTime = 15; break; case TimeRangeTag.time_16_30: MinTime = 16; MaxTime = 30; break; case TimeRangeTag.time_31_60: MinTime = 31; MaxTime = 60; break; case TimeRangeTag.time_61_120: MinTime = 61; MaxTime = 120; break; case TimeRangeTag.time_121_240: MinTime = 121; MaxTime = 240; break; case TimeRangeTag.time_over_2hrs: MinTime = 121; MaxTime = MAXVALUE; break; case TimeRangeTag.time_121_360: MinTime = 121; MaxTime = 360; break; default: MinTime = MINVALUE; MaxTime = MAXVALUE; break; } }
/// <summary>Converting a string value into TimeRange enum from minutes</summary> /// <param name="value">input string</param> /// <param name="OptionalTimeRange">TimeRange (intended to be optional)</param> public static TimeRangeTag ToTimeRangeTag(this string value) { // Sample: <div class="time" title="Время игры: от 60 до 120 минут"> TimeRangeTag res = TimeRangeTag.undef; TimeRange TR = new TimeRange(value); // now converting to a tag //else // case 'undef', by default return(res); }
public TimeRange(string rawText) { Tag = TimeRangeTag.undef; HasTimeRangeTag = false; MinTime = MINVALUE; MaxTime = MAXVALUE; RawText = rawText; int pos = RawText.IndexOf(HGNot.GameParamsTimeTitleText); if (pos >= 0) { RawText = RawText.Substring(pos + HGNot.GameParamsTimeTitleText.Length).TrimStart(); } pos = RawText.IndexOf(HGNot.GameParamsTimePostfix); if (pos >= 0) { RawText = RawText.Substring(0, pos).Trim(); } // now there can be "0-15" or "от 2 до 10" or "до 360" or "240+" RawText.ToRange(MINVALUE, MAXVALUE, out MinTime, out MaxTime); }