public override void Validated(FormValidatedEventContext context)
        {
            if (!context.ModelState.IsValid)
            {
                return;
            }

            var form                 = context.Form;
            var formName             = form.Name;
            var values               = context.Values;
            var formService          = context.FormService;
            var formValuesDictionary = values.ToTokenDictionary();
            var formTokenContext     = new FormSubmissionTokenContext {
                Form         = form,
                ModelState   = context.ModelState,
                PostedValues = values
            };
            var tokenData = new Dictionary <string, object>(formValuesDictionary)
            {
                { "Updater", context.Updater },
                { "FormSubmission", formTokenContext },
                { "Content", context.Content }
            };

            // Store the submission.
            if (form.StoreSubmission == true)
            {
                formService.CreateSubmission(formName, values);
            }

            // Create content item.
            var contentItem = default(ContentItem);

            if (form.CreateContent == true && !String.IsNullOrWhiteSpace(form.FormBindingContentType))
            {
                contentItem = formService.CreateContentItem(form, context.ValueProvider);
                formTokenContext.CreatedContent = contentItem;
            }

            // Notifiy.
            if (!String.IsNullOrWhiteSpace(form.Notification))
            {
                _notifier.Success(T(_tokenizer.Replace(T(form.Notification).Text, tokenData)));
            }

            // Trigger workflow event.
            _workflowManager.TriggerEvent(DynamicFormSubmittedActivity.EventName, contentItem, () => tokenData);
        }
Exemplo n.º 2
0
        public override void Validated(FormValidatedEventContext context)
        {
            if (!context.ModelState.IsValid)
            {
                //Clean up on validation fail
                foreach (var element in context.Form.Elements)
                {
                    if (element is FileField)
                    {
                        var fileFieldElement = (FileField)element;

                        var path = context.Values[fileFieldElement.Name];

                        if (!string.IsNullOrWhiteSpace(path) && File.Exists(path))
                        {
                            File.Delete(path);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        public override void Validated(FormValidatedEventContext context)
        {
            if (!context.ModelState.IsValid)
            {
                //Clean up on validation fail
                foreach (var element in context.Form.Elements.Flatten())
                {
                    if (element is FileField)
                    {
                        var fileFieldElement = element as FileField;
                        if (fileFieldElement == null)
                        {
                            continue;
                        }

                        var postedFileValue = context.ValueProvider.GetValue(fileFieldElement.Name);
                        if (postedFileValue == null)
                        {
                            continue;
                        }

                        var postedFiles = (HttpPostedFileBase[])postedFileValue.RawValue;
                        if (postedFiles == null && postedFiles.Length != 1)
                        {
                            continue;
                        }

                        var filePath = context.Values[fileFieldElement.Name];
                        if (string.IsNullOrWhiteSpace(filePath))
                        {
                            continue;
                        }

                        _mediaLibraryService.DeleteFile(
                            Path.GetDirectoryName(filePath),
                            Path.GetFileName(filePath));
                    }
                }
            }
            else
            {
                foreach (var element in context.Form.Elements.Flatten())
                {
                    var fileFieldElement = element as FileField;
                    if (fileFieldElement == null)
                    {
                        continue;
                    }

                    var postedFileValue = context.ValueProvider.GetValue(fileFieldElement.Name);
                    if (postedFileValue == null)
                    {
                        continue;
                    }

                    var postedFiles = (HttpPostedFileBase[])postedFileValue.RawValue;
                    if (postedFiles == null && postedFiles.Length != 1)
                    {
                        continue;
                    }

                    var filePath = context.Values[fileFieldElement.Name];
                    if (string.IsNullOrWhiteSpace(filePath))
                    {
                        continue;
                    }

                    var mediaPart = _mediaLibraryService.ImportMedia(
                        Path.GetDirectoryName(filePath),
                        Path.GetFileName(filePath));
                    _contentManager.Create(mediaPart);
                }
            }
        }
Exemplo n.º 4
0
 public virtual void Validated(FormValidatedEventContext context)
 {
 }