public static AliasTimeSlot FromDescriptor(string descriptor, IAliasProvider provider) { if (!descriptor.StartsWith(":")) { throw new Exception("Not an alias descriptor"); } return(new AliasTimeSlot(descriptor.TrimStart(':'), provider)); }
private AliasTimeSlot(string name, IAliasProvider provider) { if (!Regex.IsMatch(name, "^[a-zA-Z0-9]+$")) { throw new Exception("Name can only contain letters A-Z or a-z or numbers"); } _nom = name; _behind = provider.Fetch(_nom); }
internal static ComplexTimeSlot FromDescriptor(string descriptor, IAliasProvider provider) { if (!descriptor.Contains(Descriptor.Keywords.Or) && !descriptor.Contains(Descriptor.Keywords.But) && !descriptor.Contains(Descriptor.Keywords.Intersecting)) { throw new Exception("Not a complex time slot"); } var words = CleanAndSplit(descriptor); var extracted = ExtractTimeslots(words); var rpn = new ShuntingYard(new Dictionary <string, Operator> { { Descriptor.Keywords.Or, new Operator(3, true) }, { Descriptor.Keywords.Intersecting, new Operator(2, true) }, { Descriptor.Keywords.But, new Operator(2, true) } }).ToReversePolishNotation(extracted.Key.Aggregate((c, e) => c + ' ' + e)); return(BuildFromReversePolish(rpn, extracted.Value, provider)); }
public AnchorAssigningObjectGraphVisitor(IObjectGraphVisitor <IEmitter> nextVisitor, IEventEmitter eventEmitter, IAliasProvider aliasProvider) : base(nextVisitor) { this.eventEmitter = eventEmitter; this.aliasProvider = aliasProvider; }
public AliasController(IAliasProvider aliasProvider) { _aliasProvider = aliasProvider; }
public PersonBuilder(IAliasProvider aliasProvider) { _aliases = aliasProvider.GetAlias(); }
public AlertPolicyService(IHttpClient httpClient, IAliasProvider aliasProvider) { _httpClient = httpClient; _aliasProvider = aliasProvider; }
public AntiAffinityPolicyService(IHttpClient httpClient, IAliasProvider aliasProvider) { _httpClient = httpClient; _aliasProvider = aliasProvider; }
public TimeSlotBuilder(IAliasProvider aliases, CultureInfo culture) { _aliasesProvider = aliases; _culture = culture; }
public AliasExpanderPipe(IAliasProvider provider) { _aliases = provider.GetAliases().ToDictionary(x => x.Key, y => y.Value); }
public ColumnDefinition(string columnName, IAliasProvider alias = null) : base(alias == null ? columnName : string.Format("{0}.{1}", alias.Parent, columnName)) { }
public AccountService(IHttpClient httpClient, IAliasProvider aliasProvider) { _httpClient = httpClient; _aliasProvider = aliasProvider; }
/// <summary> /// Default constructor /// </summary> public ShowInformationManager(IEnumerable <ISeasonEpisodeShowInfoProvider> seasonShowInfoProviders, IEnumerable <IAirdateShowInfoProvider> airshowInfoProviders, IAliasProvider aliasProvider) { // Load our aliases showAliases = aliasProvider.ShowAliases.ToList(); // Load our provider plugins //Compose(); SEShowInfoProviders = seasonShowInfoProviders; ADShowInfoProviders = airshowInfoProviders; }
public AnchorAssigningObjectGraphVisitor(IObjectGraphVisitor nextVisitor, IEventEmitter eventEmitter, IAliasProvider aliasProvider) : base(nextVisitor) { this.emittedAliases = new HashSet <string>(); this.eventEmitter = eventEmitter; this.aliasProvider = aliasProvider; }
public TimeSlotBuilder(IAliasProvider aliases) : this(aliases, CultureInfo.InvariantCulture) { }
private static ComplexTimeSlot BuildFromReversePolish(string rpn, IList <string> extracted, IAliasProvider provider) { var stack = new Stack <ITimeSlot>(); foreach (var symbol in rpn.Split(' ')) { if (symbol == Descriptor.Keywords.Or) { var first = stack.Pop(); stack.Push(CreateOr(stack.Pop(), first)); } else if (symbol == Descriptor.Keywords.But) { var first = stack.Pop(); stack.Push(CreateBut(stack.Pop(), first)); } else if (symbol == Descriptor.Keywords.Intersecting) { var first = stack.Pop(); stack.Push(CreateIntersecting(stack.Pop(), first)); } else { stack.Push(new TimeSlotBuilder(provider).Build(extracted[(int.Parse(symbol))])); } } return((ComplexTimeSlot)stack.Pop()); }
public AnchorAssigningObjectGraphVisitor(IObjectGraphVisitor nextVisitor, IEventEmitter eventEmitter, IAliasProvider aliasProvider) : base(nextVisitor) { this.eventEmitter = eventEmitter; this.aliasProvider = aliasProvider; }