public static IGroupContainer <T, TField> AddDescription <T, TField>(this IGroupContainer <T> root, TField fieldDescription) where TField : IFieldDescription { root.GroupDescription.FieldDescriptions.Add(fieldDescription); return(new GroupAdapter <T, TField>(root.GroupDescription, fieldDescription)); }
public static IGroupContainer <T, DateRangeDescription> DateRange <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T, DateTime?> > startDate, Expression <PropertyGetter <T, DateTime?> > endDate) { return(root.AddDescription(new DateRangeDescription( displayName, PropertyPath.GetPropertyPath(startDate), PropertyPath.GetPropertyPath(endDate)))); }
private GetGroupResult GetGroup(Guid groupId, IGroupContainer parent) { if (parent.Groups == null) { return(null); } var foundGroup = parent.Groups.FirstOrDefault(x => x.Id == groupId); if (foundGroup != null) { return(new GetGroupResult(foundGroup, parent)); } foreach (var group in parent.Groups) { var result = GetGroup(groupId, group); if (result != null) { return(result); } } return(null); }
public static IGroupContainer <T, TField> AddExtension <T, TField>(this IGroupContainer <T, TField> root, IFieldExtensionDescription fieldDescription) where TField : IFieldDescription { root.LastDescription.Extensions.Add(fieldDescription); return(root); }
private void AssignIds(IGroupContainer node) { //Assign IDs to all groups directly descending from this node foreach (var group in node.Groups) { group.Id = factory.GetGroupId(); group.Parent = node; } //Assogm IDs to all devices directly descending from this node foreach (var device in node.Devices) { device.Id = factory.GetDeviceId(); device.Parent = node; //Assign IDs to all sensors directly descending from each device foreach (var sensor in device.Sensors) { sensor.Id = factory.GetSensorId(); sensor.Parent = device; } } foreach (var group in node.Groups) { AssignIds(group); } }
/// <summary> /// Button /// </summary> /// <param name="displayName"></param> /// <param name="command"></param> /// <returns></returns> public static IGroupContainer <T, ButtonDescription> Button <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T, ICommand> > command) { var item = new ButtonDescription( displayName, PropertyPath.GetPropertyPath(command)); return(root.AddDescription(item)); }
/// <summary> /// Date /// </summary> /// <param name="displayName"></param> /// <param name="selectedDate"></param> /// <returns></returns> public static IGroupContainer <T, DateDescription> Date <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T, DateTime?> > selectedDate) { var item = new DateDescription( displayName, PropertyPath.GetPropertyPath(selectedDate)); return(root.AddDescription(item)); }
/// <summary> /// Id /// </summary> /// <returns></returns> public static IGroupContainer <T, IdDescription> Id <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T> > text, String stringFormat = null) { var item = new IdDescription( displayName, PropertyPath.GetPropertyPath(text), stringFormat); return(root.AddDescription(item)); }
public static IGroupContainer <T, TreeViewDescription> TreeView <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T> > itemsSource, DataTemplate itemTemplate = null) { var item = new TreeViewDescription( displayName, PropertyPath.GetPropertyPath(itemsSource), itemTemplate); return(root.AddDescription(item)); }
public static IGroupContainer <T, CustomDescription> Custom <T>(this IGroupContainer <T> root, String displayName, Type controlType, Action <FrameworkElementFactory> action) { var item = new CustomDescription( displayName, controlType, action); return(root.AddDescription(item)); }
/// <summary> /// ComboBox /// </summary> public static IGroupContainer <T, ComboBoxDescription> ComboBox <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T> > selectedItem, Expression <PropertyGetter <T, IEnumerable> > itemsSource) { var item = new ComboBoxDescription( displayName, PropertyPath.GetPropertyPath(selectedItem), PropertyPath.GetPropertyPath(itemsSource)); return(root.AddDescription(item)); }
/// <summary> /// Text /// </summary> /// <param name="displayName"></param> /// <param name="text"></param> /// <returns></returns> public static IGroupContainer <T, TextBoxDescription> Text <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T> > text, String stringFormat = null, Expression <PropertyGetter <T> > command = null) { var item = new TextBoxDescription( displayName, PropertyPath.GetPropertyPath(text), stringFormat, true, PropertyPath.GetPropertyPath(command)); return(root.AddDescription(item)); }
/// <summary> /// ItemsControl /// </summary> /// <typeparam name="T"></typeparam> /// <param name="root"></param> /// <param name="itemsSource"></param> /// <param name="itemTemplate"></param> /// <param name="rows"></param> /// <param name="columns"></param> /// <param name="itemDefinition"></param> /// <returns></returns> public static IGroupContainer <T, ItemsControlDescription> ItemsControl <T>(this IGroupContainer <T> root, Expression <PropertyGetter <T> > itemsSource, DataTemplate itemTemplate = null, int?rows = null, int?columns = null, FieldDescription itemDefinition = null) { var item = new ItemsControlDescription( PropertyPath.GetPropertyPath(itemsSource), itemTemplate, rows, columns, itemDefinition ); return(root.AddDescription(item)); }
public async Task ValidateAsync(IGroupContainer groupContainer) { if (groupContainer == null) { throw new ArgumentNullException(nameof(groupContainer)); } var reservation = await this.GetBy(groupContainer); if (groupContainer.GroupId.HasValue && reservation == null) { throw new InvalidOperationException($"Reservation not found by id {groupContainer.GroupId}"); } }
private GetEntryResult GetEntry(Guid entryId, IGroupContainer groupContainer) { if (groupContainer.Groups == null) { return(null); } foreach (var group in groupContainer.Groups) { var foundEntry = group.Entries.FirstOrDefault(x => x.Id == entryId); if (foundEntry != null) { return(new GetEntryResult(foundEntry, group)); } var result = GetEntry(entryId, group); if (result != null) { return(result); } } return(null); }
public GetGroupResult(Group group, IGroupContainer parent) { this.Group = group; this.Parent = parent; }
/// <summary> /// StaticText /// </summary> /// <typeparam name="T"></typeparam> /// <param name="root"></param> /// <param name="text"></param> /// <param name="background"></param> /// <returns></returns> public static IGroupContainer <T, StaticTextDescription> StaticText <T>(this IGroupContainer <T> root, String text) { return(root.AddDescription(new StaticTextDescription(text))); }
protected int GetTotalDevices(IGroupContainer node) { return(node.Devices.Count + node.Groups.Sum(GetTotalDevices)); }
private Task <Group> GetBy(IGroupContainer departmentContainer) { return(this.GroupDataAccess.GetByAsync(departmentContainer)); }
/// <summary> /// Label /// </summary> /// <returns></returns> public static IGroupContainer <T, TextBoxDescription> WithBorder <T>(this IGroupContainer <T, TextBoxDescription> root, Color color) { return(root.AddExtension(new BorderExtensionDescription(color))); }
public async Task <Group> GetByAsync(IGroupContainer group) { return(group.GroupId.HasValue ? this.Mapper.Map <Group>(await this.Context.Group.FirstOrDefaultAsync(x => x.Id == group.GroupId)) : null); }
protected int GetTotalSensors(IGroupContainer node) { return(node.Devices.Sum(d => d.Sensors.Count) + node.Groups.Sum(GetTotalSensors)); }
/// <summary> /// MultiLineText /// </summary> /// <typeparam name="T"></typeparam> /// <param name="root"></param> /// <param name="displayName"></param> /// <param name="text"></param> /// <returns></returns> public static IGroupContainer <T, MultiLineTextDescription> MultiLineText <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T, String> > text) { var item = new MultiLineTextDescription( displayName, PropertyPath.GetPropertyPath(text)); return(root.AddDescription(item)); }
/// <summary> /// CheckBox /// </summary> /// <typeparam name="T"></typeparam> /// <param name="root"></param> /// <param name="displayName"></param> /// <param name="selectedItem"></param> /// <returns></returns> public static IGroupContainer <T, CheckBoxDescription> CheckBox <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T> > selectedItem) { var item = new CheckBoxDescription(displayName, PropertyPath.GetPropertyPath(selectedItem)); return(root.AddDescription(item)); }
/// <summary> /// Image /// </summary> /// <typeparam name="T"></typeparam> /// <param name="root"></param> /// <param name="displayName"></param> /// <param name="image"></param> /// <param name="stretch"></param> /// <returns></returns> public static IGroupContainer <T, ImageDescription> Image <T>(this IGroupContainer <T> root, String displayName, Expression <PropertyGetter <T> > image, Stretch stretch = Stretch.None) { var item = new ImageDescription(displayName, PropertyPath.GetPropertyPath(image), stretch); return(root.AddDescription(item)); }
public static IGroupContainer <T> WithConfig <T>(this IGroupContainer <T> root, Action <IFieldDescription> config) { config(root.LastDescription); return(root); }