Beispiel #1
0
        protected override DriverResult Editor(ContentPart part, MultiDateField field, IUpdateModel updater, dynamic shapeHelper)
        {
            var viewModel = new MultiDateFieldViewModel();

            if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null))
            {
                var settings = field.PartFieldDefinition.Settings.GetModel <MultiDateFieldSettings>();

                if (settings.Required && string.IsNullOrEmpty(viewModel.DatesString))
                {
                    updater.AddModelError(GetPrefix(field, part), T("{0} is required.", field.DisplayName));
                }
                else
                {
                    try {
                        _multiDateService.ParseMultiDates(viewModel.DatesString);
                        field.Value = viewModel.DatesString;
                    }
                    catch {
                        updater.AddModelError(GetPrefix(field, part), T("{0} could not be parsed as a valid date.", field.DisplayName));
                    }
                }
            }

            return(Editor(part, field, shapeHelper));
        }
Beispiel #2
0
        protected override DriverResult Editor(ContentPart part, MultiDateField field, dynamic shapeHelper)
        {
            var settings = field.PartFieldDefinition.Settings.GetModel <MultiDateFieldSettings>();

            var viewModel = new MultiDateFieldViewModel {
                Name        = field.DisplayName,
                Hint        = settings.Hint,
                IsRequired  = settings.Required,
                DatesString = field.Value
            };

            return(ContentShape("Fields_MultiDate_Edit", GetDifferentiator(field, part),
                                () => shapeHelper.EditorTemplate(TemplateName: TemplateName, Model: viewModel, Prefix: GetPrefix(field, part))));
        }