/// <summary> /// Setter for /// </summary> /// <param name="value">Text for longitude</param> /// <returns>true if longitude has been set, otherwise false.</returns> public Boolean setLLLongitude(String value) { ValidationItem vi = InputChecker.checkGeoLongitude(value); if (vi.noErrors) { this.longitude = value; return(true); } else { return(false); } }
/// <summary> /// Check date for correct format and validness. /// </summary> /// <param name="input">String in the format yyyy.mm.dd</param> /// <param name="calendar">Indicates type of calendar, possible values SE_JUL_CAL and SE_GREG_CAL</param> /// <returns>Validated item</returns> public static ValidationItem checkDate(String input, int calendar) { ValidationItem vi = new ValidationItem(input, false); bool result = true; try { input = input.Trim(); vi.resultTxt = input; if (input.Length != 10) { result = false; } else if (!Char.IsDigit(input[0]) || !Char.IsDigit(input[1]) || !Char.IsDigit(input[2]) || !Char.IsDigit(input[3]) || !input[4].Equals('.') || !Char.IsDigit(input[5]) || !Char.IsDigit(input[6]) || !input[7].Equals('.') || !Char.IsDigit(input[8]) || !Char.IsDigit(input[9])) { result = false; } else { int d = Convert.ToInt32(input.Substring(8, 2)); int m = Convert.ToInt32(input.Substring(5, 2)); int y = Convert.ToInt32(input.Substring(0, 4)); double ut = 0.0; double jd = Sweph.getJD(y, m, d, ut, calendar); if (d != Sweph.getDayFromJd(jd, calendar) || m < 1 || m > 12) { result = false; } } vi.noErrors = result; } catch { vi.resultTxt = input; vi.noErrors = false; } return(vi); }
/// <summary> /// Check index for timezone. Syntax check is not necessary as the input /// is already an integer. Condition to check: 0 <= value < Constants.RP_MAX_TIMEZONES /// </summary> /// <param name="input">The value to check</param> /// <returns>Validated item</returns> public static ValidationItem checkTimezone(int input) { ValidationItem vi = new ValidationItem(Convert.ToString(input), false); bool result = true; try { if (input < 0 || input > Constants.RP_MAX_TIMEZONES) { result = false; } vi.noErrors = result; } catch { vi.resultTxt = Convert.ToString(input); vi.noErrors = false; } return(vi); }
/// <summary> /// Check value for name, name should have a minimum length of 1 character /// </summary> /// <param name="input">Value to check</param> /// <returns></returns> public static ValidationItem checkName(String input) { ValidationItem vi; try { input = input.Trim(); if (input.Length > 0) { vi = new ValidationItem(input, true); } else { vi = new ValidationItem(input, false); } } catch { vi = new ValidationItem(input, false); } return(vi); }
/// <summary> /// Check value in geographic latitude for correct syntax. /// 0 < input < 89.59.59 /// </summary> /// <param name="input">String in the format dd.mm.ss</param> /// <returns>Validated item</returns> public static ValidationItem checkGeoLatitude(String input) { ValidationItem vi = new ValidationItem(input, false); bool result = true; try { input = input.Trim(); // check for 1 cipher for degrees if (input.IndexOf('.') == 1) { input = "0" + input; } // check for missing seconds if (input.Length == 5) { input = input + ".00"; } if (input.Length == 6) { input = input + "00"; } vi.resultTxt = input; // check correct formatting if (input.Length != 8) { result = false; } else if (!Char.IsDigit(input[0]) || !Char.IsDigit(input[1]) || !input[2].Equals('.') || !Char.IsDigit(input[3]) || !Char.IsDigit(input[4]) || !input[5].Equals('.') || !Char.IsDigit(input[6]) || !Char.IsDigit(input[7])) { result = false; } else { int d = Convert.ToInt32(input.Substring(0, 2)); int m = Convert.ToInt32(input.Substring(3, 2)); int s = Convert.ToInt32(input.Substring(6, 2)); if (d < 0 || d > 89) { result = false; } if (m < 0 || m > 59) { result = false; } if (s < 0 || s > 59) { result = false; } } vi.noErrors = result; } catch { vi.resultTxt = input; vi.noErrors = false; } return(vi); }