public override Result VisitCase_condition(RateGrammarParser.Case_conditionContext context) { CaseCondition condition = new CaseCondition(); if (context.left_parktime() != null) { int leftParkTime = Convert.ToInt32(context.left_parktime().GetChild(0).GetText()); condition.ParkTimeRange.LeftParkTime = leftParkTime; } if (context.right_parktime() != null) { int rightParkTime = Convert.ToInt32(context.right_parktime().GetChild(0).GetText()); condition.ParkTimeRange.RightParkTime = rightParkTime; } if (context.left_time() != null) { string leftTime = context.left_time().GetText(); condition.TimeRegion.LeftTime = leftTime; rule.IsTimeRegion = true; } if (context.middle_time() != null) { string middleTime = context.middle_time().GetText(); condition.TimeRegion.MiddleTime = middleTime; } if (context.right_time() != null) { string rightTime = context.right_time().GetText(); condition.TimeRegion.RightTime = rightTime; } if (context.OUTDAY() != null) { string outDay = context.OUTDAY().GetText(); condition.IsOutDay = outDay == OUTDAY ? true : false; } if (context.workday() != null) { string workday = context.workday().WORKDAY().GetText(); condition.WorkDay = workday; } caseDataObject.CaseCondition = condition; return null; }
public void CallAction(object input) { if (input is T) { Action((T)input); } else { var exception = new InvalidCastException(string.Format("Invalid Cast to {0} from {1}. Input = {2}, Case condition = {3}, StackTrace: \r\n{4}", typeof(T).FullName, input.GetType().FullName, input.ToString(), CaseCondition.ToString(), StackTrace)); throw exception; } }