static bool RunBetween(IEnumerable <DataASTMutable.WarewolfAtom> warewolfAtoms, IEnumerable <DataASTMutable.WarewolfAtom> tovals, DataASTMutable.WarewolfAtom a) { WarewolfListIterator iterator = new WarewolfListIterator(); var from = new WarewolfAtomIterator(warewolfAtoms); var to = new WarewolfAtomIterator(tovals); iterator.AddVariableToIterateOn(@from); iterator.AddVariableToIterateOn(to); while (iterator.HasMoreData()) { var fromval = iterator.FetchNextValue(@from); var toVal = iterator.FetchNextValue(to); DateTime fromDt; if (DateTime.TryParse(fromval, out fromDt)) { DateTime toDt; if (!DateTime.TryParse(toVal, out toDt)) { throw new InvalidDataException("IsBetween Numeric and DateTime mis-match"); } DateTime recDateTime; if (DateTime.TryParse(a.ToString(), out recDateTime)) { if (recDateTime > fromDt && recDateTime < toDt) { return(true); } } } double fromNum; if (double.TryParse(fromval, out fromNum)) { double toNum; if (!double.TryParse(toVal, out toNum)) { return(false); } double recNum; if (!double.TryParse(a.ToString(), out recNum)) { continue; } if (recNum > fromNum && recNum < toNum) { return(true); } } } return(false); }
public static string WarewolfAtomToString(DataASTMutable.WarewolfAtom a) { if (a == null) { return(""); } return(a.ToString()); }
public static string WarewolfAtomToStringErrorIfNull(DataASTMutable.WarewolfAtom a) { if (a == null) { return(""); } if (a.IsNothing) { throw new NullValueInVariableException("Variable is null", ""); } return(a.ToString()); }
public static string WarewolfAtomToStringNullAsNothing(DataASTMutable.WarewolfAtom a) { return(a == null ? null : (a.IsNothing ? null : a.ToString())); }