/// <summary> /// Returns the field's current value(s) /// </summary> /// <param name="parentControl">The parent control.</param> /// <param name="value">Information about the value</param> /// <param name="configurationValues">The configuration values.</param> /// <param name="condensed">Flag indicating if the value should be condensed (i.e. for use in a grid column)</param> /// <returns></returns> public override string FormatValue(Control parentControl, string value, Dictionary <string, ConfigurationValue> configurationValues, bool condensed) { string formattedValue = string.Empty; if (!string.IsNullOrWhiteSpace(value)) { var names = new List <string>(); var guids = new List <Guid>(); foreach (string guidValue in value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { Guid?guid = guidValue.AsGuidOrNull(); if (guid.HasValue) { guids.Add(guid.Value); } } if (guids.Any()) { using (var rockContext = new RockContext()) { var schedules = new ScheduleService(rockContext).Queryable().AsNoTracking().Where(a => guids.Contains(a.Guid)); if (schedules.Any()) { formattedValue = string.Join(", ", (from schedule in schedules select schedule.Name).ToArray()); } } } } return(base.FormatValue(parentControl, formattedValue, null, condensed)); }
public void NearestStops() { var result = new ScheduleService(requestState).NearestStops(new decimal(37.87515475), new decimal(-122.2938555)); Assert.IsNotNull(result); Assert.IsTrue(result.Any()); }
/// <summary> /// Reads new values entered by the user for the field /// </summary> /// <param name="control">Parent control that controls were added to in the CreateEditControl() method</param> /// <param name="configurationValues">The configuration values.</param> /// <returns></returns> public override string GetEditValue(Control control, Dictionary <string, ConfigurationValue> configurationValues) { var picker = control as SchedulePicker; string result = null; if (picker != null) { var ids = picker.SelectedValuesAsInt(); var schedules = new ScheduleService(new RockContext()).Queryable().Where(a => ids.Contains(a.Id)); if (schedules.Any()) { result = schedules.Select(s => s.Guid.ToString()).ToList().AsDelimited(","); } } return(result); }
/// <summary> /// Reads new values entered by the user for the field /// </summary> /// <param name="control">Parent control that controls were added to in the CreateEditControl() method</param> /// <param name="configurationValues">The configuration values.</param> /// <returns></returns> public override string GetEditValue(Control control, Dictionary <string, ConfigurationValue> configurationValues) { var picker = control as SchedulePicker; string result = null; if (picker != null) { var ids = picker.SelectedValuesAsInt().ToList(); using (var rockContext = new RockContext()) { var schedules = new ScheduleService(rockContext).GetByIds(ids).ToList(); if (schedules.Any()) { result = schedules.Select(s => s.Guid.ToString()).ToList().AsDelimited(","); } } } return(result); }