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)); }
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)))); }