public void PerformModification(ContentModifierForm modifierForm, ContentField field, ContentModifyOperation operation, ProtoContent content, ContentFieldDefinition fieldDefinition) { var f = modifierForm.DirectCastTo <SelectFieldModifierForm>(); var fnPrefix = $"{fieldDefinition.FieldName}.{nameof(SelectField.Val)}."; var existingCfs = content.ContentFields.Where(x => x.FieldName.StartsWith(fnPrefix)) .ToArray(); foreach (var excf in existingCfs) { content.ContentFields.Remove(excf); _dbContext.ProtoFields.Remove(excf); } var idx = 0; foreach (var fv in f.Val) { if (fv == null) { continue; } var cf = new ProtoField { ContentId = content.Id, FieldName = $"{fnPrefix}{idx}" }; content.ContentFields.Add(cf); cf.FieldClassTypeName = typeof(SelectField).FullName; cf.StringValue = fv; idx++; } }
public void PerformModification(ContentModifierForm modifierForm, ContentField field, ContentModifyOperation operation, ProtoContent content, ContentFieldDefinition fieldDefinition) { var fm = modifierForm.DirectCastTo <FilePickerFieldModifierForm>(); var fnPrefix = $"{fieldDefinition.FieldName}.{nameof(FilePickerField.Val)}."; var existing = content.ContentFields.Where(x => x.FieldName.StartsWith(fnPrefix)).ToArray(); foreach (var cfe in existing) { content.ContentFields.Remove(cfe); _dbContext.ProtoFields.Remove(cfe); } var idx = 0; foreach (var path in fm.Val) { var cf = new ProtoField { ContentId = content.Id, StringValue = path, FieldName = $"{fnPrefix}{idx}", FieldClassTypeName = typeof(FilePickerField).FullName }; content.ContentFields.Add(cf); idx++; } }
public static ProtoField GetFieldFromFile(string path) { FileStream fs = new FileStream(path, FileMode.Open); ProtoField field = ProtoField.Parser.ParseFrom(fs); fs.Close(); return(field); }
public void PerformModification(ContentModifierForm modifierForm, ContentField field, ContentModifyOperation operation, ProtoContent content, ContentFieldDefinition fieldDefinition) { var fn = $"{fieldDefinition.FieldName}.{nameof(TrashingField.TrashedUtc)}"; var fp = modifierForm.DirectCastTo <TrashingFieldModifierForm>(); var trashedUtc = fp?.TrashedAt?.ToUniversalTime(); var cf = content.ContentFields.FirstOrDefault(x => x.FieldName == fn); if (cf == null) { cf = new ProtoField { FieldName = fn, ContentId = content.Id }; content.ContentFields.Add(cf); } cf.FieldClassTypeName = typeof(TrashingField).FullName; cf.DateTimeValue = trashedUtc; }
public void PerformModification(ContentModifierForm modifierForm, ContentField field, ContentModifyOperation operation, ProtoContent content, ContentFieldDefinition fieldDefinition) { var f = modifierForm.DirectCastTo <TextFieldModifierForm>(); var cfg = fieldDefinition.Config.DirectCastTo <TextFieldConfiguration>(); var fn = $"{fieldDefinition.FieldName}.{nameof(f.Val)}"; var cf = content.ContentFields.FirstOrDefault(x => x.FieldName == fn); if (cf == null) { cf = new ProtoField { ContentId = content.Id, FieldName = fn }; content.ContentFields.Add(cf); } cf.FieldClassTypeName = typeof(TextField).FullName; cf.StringValue = string.IsNullOrWhiteSpace(f.Val) ? cfg.DefaultValue?.Trim() : f.Val; }
public void PerformModification(ContentModifierForm modifierForm, ContentField field, ContentModifyOperation operation, ProtoContent content, ContentFieldDefinition fieldDefinition) { var cfg = fieldDefinition.Config.DirectCastTo <BooleanFieldConfiguration>(); var form = modifierForm.DirectCastTo <BooleanFieldModifierForm>(); var fn = $"{fieldDefinition.FieldName}.{nameof(BooleanField.Val)}"; var cf = content.ContentFields.FirstOrDefault(x => x.FieldName == fn); if (cf == null) { cf = new ProtoField { ContentId = content.Id, FieldName = fn }; content.ContentFields.Add(cf); } cf.FieldClassTypeName = typeof(BooleanField).FullName; cf.BooleanValue = form.Val ?? cfg.DefaultValue; }
public void PerformModification(ContentModifierForm modifierForm, ContentField field, ContentModifyOperation operation, ProtoContent content, ContentFieldDefinition fieldDefinition) { var pfn = $"{fieldDefinition.FieldName}.{nameof(PublishingField.PublishedUtc)}"; var ufn = $"{fieldDefinition.FieldName}.{nameof(PublishingField.UnpublishedUtc)}"; var fp = modifierForm.DirectCastTo <PublishingFieldModifierForm>(); var publishedUtc = fp?.PublishedAt?.ToUniversalTime(); var pcf = content.ContentFields.FirstOrDefault(x => x.FieldName == pfn); if (pcf == null) { pcf = new ProtoField { FieldName = pfn, ContentId = content.Id }; content.ContentFields.Add(pcf); } pcf.FieldClassTypeName = typeof(PublishingField).FullName; pcf.DateTimeValue = publishedUtc; var unpublishedUtc = fp?.UnpublishedAt?.ToUniversalTime(); var ucf = content.ContentFields.FirstOrDefault(x => x.FieldName == ufn); if (ucf == null) { ucf = new ProtoField { FieldName = ufn, ContentId = content.Id }; content.ContentFields.Add(ucf); } ucf.FieldClassTypeName = typeof(PublishingField).FullName; ucf.DateTimeValue = unpublishedUtc; }