Beispiel #1
0
        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++;
            }
        }
Beispiel #3
0
        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;
        }