예제 #1
0
        /// <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));
        }
예제 #2
0
        public void NearestStops()
        {
            var result = new ScheduleService(requestState).NearestStops(new decimal(37.87515475), new decimal(-122.2938555));

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Any());
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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);
        }