/// <summary> /// Defines a Scheduler resource. /// </summary> public SchedulerResourceBuilder <TModel> Add <TValue>(Expression <Func <TModel, TValue> > expression) { //TODO: Refactor and add validation for fields if (!typeof(TModel).IsPlainType() && !expression.IsBindable()) { throw new InvalidOperationException(Exceptions.MemberExpressionRequired); } string memberName = ExpressionHelper.GetExpressionText(expression); SchedulerResource <TModel> resource = new SchedulerResource <TModel>(memberName); container.Resources.Add(resource); return(new SchedulerResourceBuilder <TModel>(resource, container.ViewContext, container.UrlGenerator)); }
/// <summary> /// Initializes a new instance of the <see cref="SchedulerResourceBuilder{TModel}"/> class. /// </summary> /// <param name="resource">The resource</param> /// <param name="viewContext">The viewContext</param> /// <param name="urlGenerator">The resource</param> public SchedulerResourceBuilder(SchedulerResource <TModel> resource, ViewContext viewContext, IUrlGenerator urlGenerator) { this.resource = resource; this.viewContext = viewContext; this.urlGenerator = urlGenerator; }