Esempio n. 1
0
        public IActionResult Edit(long id)
        {
            FormField frmField = formFieldService.GetFormField(id);

            if (frmField != null)
            {
                FormFieldViewModel formFieldVM = new FormFieldViewModel();
                formFieldVM.Id           = frmField.Id;
                formFieldVM.Name         = frmField.Name;
                formFieldVM.Position     = frmField.Position;
                formFieldVM.Required     = frmField.Required;
                formFieldVM.Value        = frmField.Value;
                formFieldVM.FormId       = frmField.FormId;
                formFieldVM.FieldType    = frmField.FieldType;
                formFieldVM.ModifiedDate = frmField.ModifiedDate;
                formFieldVM.ModifiedBy   = frmField.ModifiedBy;
                formFieldVM.AddedBy      = frmField.AddedBy;
                formFieldVM.AddedDate    = frmField.AddedDate;

                ViewBag.FormField = new SelectList(formFieldService.GetFormFields(), "Id", "Name", frmField.Id);
                ViewBag.Forms     = new SelectList(formService.GetForms(), "Id", "FormName", frmField.FormId);
                return(View(formFieldVM));
            }
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public IActionResult Details(long id)
        {
            var frmField = formFieldService.GetFormField(id);

            if (frmField != null)
            {
                FormFieldViewModel formFieldVM = new FormFieldViewModel();
                formFieldVM.Id           = frmField.Id;
                formFieldVM.Name         = frmField.Name;
                formFieldVM.Position     = frmField.Position;
                formFieldVM.Required     = frmField.Required;
                formFieldVM.Value        = frmField.Value;
                formFieldVM.FormId       = frmField.FormId;
                formFieldVM.FieldType    = frmField.FieldType;
                formFieldVM.ModifiedDate = frmField.ModifiedDate;
                formFieldVM.ModifiedBy   = frmField.ModifiedBy;
                formFieldVM.AddedBy      = frmField.AddedBy;
                formFieldVM.AddedDate    = frmField.AddedDate;

                var form = formFieldService.GetForms((long)frmField.FormId);
                ViewBag.Form = form.FormName;

                return(View(formFieldVM));
            }
            return(View());
        }
Esempio n. 3
0
        public IActionResult Create(FormFieldViewModel formField)
        {
            if (ModelState.IsValid)
            {
                var frm = new FormField();

                frm.FieldType = formField.FieldType;
                frm.FormId    = (long)formField.FormId;
                frm.Value     = formField.Value;
                frm.Required  = formField.Required;
                frm.Name      = formField.Name;

                var formfields = formService.GetFormFieldsByFormId((long)formField.FormId);
                frm.Position = formfields.Count + 1;

                frm.AddedBy      = User.Identity.Name ?? "User";
                frm.AddedDate    = DateTime.Now;
                frm.ModifiedBy   = User.Identity.Name ?? "User";
                frm.ModifiedDate = DateTime.Now;

                formFieldService.CreateFormField(frm);
                formFieldService.SaveFormField();
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Esempio n. 4
0
        public IActionResult Edit(FormFieldViewModel frmField)
        {
            ViewBag.Forms       = new SelectList(formService.GetForms(), "Id", "FormName", frmField.FormId);
            ViewBag.FormFieldId = new SelectList(formFieldService.GetFormFields(), "Id", "Name", frmField.Id);
            if (ModelState.IsValid)
            {
                FormField formFieldVM = new FormField();
                formFieldVM.Id           = frmField.Id;
                formFieldVM.Name         = frmField.Name;
                formFieldVM.Position     = frmField.Position;
                formFieldVM.Required     = frmField.Required;
                formFieldVM.Value        = frmField.Value;
                formFieldVM.FormId       = frmField.FormId;
                formFieldVM.FieldType    = frmField.FieldType;
                formFieldVM.ModifiedDate = DateTime.Now;
                formFieldVM.ModifiedBy   = User.Identity.Name ?? "username";
                formFieldVM.AddedBy      = User.Identity.Name ?? "username";
                formFieldVM.AddedDate    = DateTime.Now;

                formFieldService.UpdateFormField(formFieldVM);
                formFieldService.SaveFormField();
                return(RedirectToAction("Index"));
            }
            return(View(frmField));
        }
Esempio n. 5
0
        public IActionResult Edit(FormFieldViewModel formField)
        {
            ViewBag.Forms       = new SelectList(formService.GetForms(), "Id", "FormName");
            ViewBag.FormFieldId = new SelectList(formFieldService.GetFormFields(), "Id", "Description");


            return(View(formField));
        }
Esempio n. 6
0
        public ActionResult Edit(Guid id)
        {
            var viewModel = new FormViewModel {
                Form = _mvcForms.Forms.Single(form => form.Uid == id)
            };
            var formFields = _mvcForms.FormFields.Where(items => items.FormUid == id && items.IsHidden == 0).OrderBy(items => items.SortOrder);

            if (formFields.Count() > 0)
            {
                var countFields = 1;
                var listFields  = String.Empty;
                foreach (var formField in formFields)
                {
                    var thisField     = formField;
                    var thisFieldType =
                        _mvcForms.FormFieldTypes.Single(fieldtype => fieldtype.Uid == thisField.FormFieldTypeUid);
                    var editFormField = new FormFieldViewModel
                    {
                        Uid                   = formField.Uid,
                        FormFieldName         = formField.FormFieldName,
                        FormFieldPrompt       = formField.FormFieldPrompt,
                        ControlType           = thisFieldType.ControlType,
                        SelectedFormFieldType = thisFieldType.Uid.ToString(),
                        IsRequired            = Convert.ToBoolean(formField.IsRequired),
                        ShowDelete            = (countFields > 1) ? true : false,
                        FormFieldTypes        = GetFormFieldTypes(),
                        //TODO: Not sure if this is per field type, but it shouldn't matter
                        Options          = formField.Options,
                        Orientation      = formField.Orientation,
                        IsMultipleSelect = Convert.ToBoolean(formField.IsMultipleSelect),
                        ListSize         = formField.ListSize,
                        IsEmptyOption    = Convert.ToBoolean(formField.IsEmptyOption),
                        EmptyOption      = formField.EmptyOption,
                        Rows             = formField.Rows,
                        Cols             = formField.Cols,
                        ValidExtensions  = formField.ValidExtensions,
                        ErrorExtensions  = formField.ErrorExtensions,
                        MaxSizeBytes     = formField.MaxSizeBytes,
                        LiteralText      = formField.LiteralText
                    };
                    viewModel.FormFields.Add(editFormField);
                    listFields += "," + thisField.Uid;
                    countFields++;
                }
                ViewData["ListFields"] = listFields.Substring(1); //Starts at 0; remove the first ','
            }
            else
            {
                var createFormField = new FormFieldViewModel
                {
                    Uid            = Guid.NewGuid(),
                    ShowDelete     = false,
                    FormFieldTypes = GetFormFieldTypes()
                };
                viewModel.FormFields.Add(createFormField);
            }
            return(View(viewModel));
        }
Esempio n. 7
0
        public IActionResult Edit(long id)
        {
            var formField = formFieldService.GetFormField(id);
            FormFieldViewModel formFieldVM = new FormFieldViewModel();

            formFieldVM.Id   = formField.Id;
            formFieldVM.Name = formField.Name;
            return(View(formFieldVM));
        }
Esempio n. 8
0
        public IActionResult Create(long id)
        {
            FormFieldViewModel formFieldVM = new FormFieldViewModel();

            formFieldVM.FormId  = id;
            ViewBag.Forms       = new SelectList(formService.GetForms(), "Id", "FormName");
            ViewBag.FormFieldId = new SelectList(formFieldService.GetFormFields(), "Id", "Description");
            return(View(formFieldVM));
        }
Esempio n. 9
0
        public ActionResult Create()
        {
            var viewModel = new FormViewModel();
            var newField  = new FormFieldViewModel {
                FormFieldTypes = GetFormFieldTypes()
            };

            viewModel.FormFields.Add(newField);
            return(View(viewModel));
        }
Esempio n. 10
0
        public AjaxViewResult NewFormField(string formId, Guid selectedFieldType)
        {
            var fieldType = _mvcForms.FormFieldTypes.Single(type => type.Uid == selectedFieldType);
            var viewModel = new FormFieldViewModel
            {
                Uid                   = Guid.NewGuid(),
                ShowDelete            = true,
                FormFieldTypes        = GetFormFieldTypes(),
                SelectedFormFieldType = selectedFieldType.ToString(),
                //TODO: Not sure if this is per field type, but it shouldn't matter
                //Create a default radiobutton selection
                Orientation = "vertical"
            };

            return(new AjaxViewResult(fieldType.ControlType, viewModel)
            {
                UpdateValidationForFormId = formId
            });
        }
Esempio n. 11
0
 public IActionResult Create(FormFieldViewModel formField)
 {
     return(View());
 }
Esempio n. 12
0
        /// <summary>
        /// Adds a new form field or updates an existing form field in the form.
        /// This will also handle creating the attribute if a new form field must
        /// be created.
        /// </summary>
        /// <param name="actionForm">The <see cref="WorkflowActionForm"/> being updated.</param>
        /// <param name="workflowType">The <see cref="WorkflowType"/> being updated.</param>
        /// <param name="attributeService">The database service that provides access to attributes.</param>
        /// <param name="formAttributeService">The database service that provides access to form attributes.</param>
        /// <param name="formSection">The <see cref="WorkflowActionFormSection"/> being updated.</param>
        /// <param name="field">The field view model that contains the source information.</param>
        /// <param name="nextAttributeOrder">The next attribute Order value to use when adding a new attribute.</param>
        /// <returns>The <see cref="WorkflowActionFormAttribute"/> that was either created or updated.</returns>
        private static WorkflowActionFormAttribute AddOrUpdateFormField(WorkflowActionForm actionForm, WorkflowType workflowType, AttributeService attributeService, WorkflowActionFormAttributeService formAttributeService, WorkflowActionFormSection formSection, FormFieldViewModel field, List <FormFieldViewModel> formFields, ref int nextAttributeOrder)
        {
            var fieldType = FieldTypeCache.Get(field.FieldTypeGuid);

            // If the field type or its C# component could not be found then
            // we abort with a hard error. We need it to convert data.
            if (fieldType == null || fieldType.Field == null)
            {
                throw new Exception($"Field type '{field.FieldTypeGuid}' not found.");
            }

            var formField = actionForm.FormAttributes.FirstOrDefault(a => a.Attribute.Guid == field.Guid);

            // If the form field was not found then create a new attribute and
            // new form field.
            if (formField == null)
            {
                var attribute = new Rock.Model.Attribute
                {
                    Guid         = field.Guid,
                    EntityTypeId = EntityTypeCache.Get <Rock.Model.Workflow>().Id,
                    EntityTypeQualifierColumn = nameof(Rock.Model.Workflow.WorkflowTypeId),
                    EntityTypeQualifierValue  = workflowType.Id.ToString(),
                    FieldTypeId = fieldType.Id,
                    IsSystem    = true,
                    Order       = nextAttributeOrder++
                };

                formField = new WorkflowActionFormAttribute
                {
                    Attribute = attribute
                };

                actionForm.FormAttributes.Add(formField);
                attributeService.Add(attribute);
                formAttributeService.Add(formField);
            }

            // Convert the attribute configuration into values that can be stored
            // in the database.
            var configurationValues = fieldType.Field.GetPrivateConfigurationValues(field.ConfigurationValues);

            // Update all the standard properties.
            formField.ActionFormSection      = formSection;
            formField.Attribute.DefaultValue = fieldType.Field.GetPrivateEditValue(field.DefaultValue, configurationValues);
            formField.Attribute.Description  = field.Description;
            formField.Attribute.IsRequired   = field.IsRequired;
            formField.IsRequired             = field.IsRequired;
            formField.Attribute.IsGridColumn = field.IsShowOnGrid;
            formField.Attribute.Key          = field.Key;
            formField.Attribute.Name         = field.Name;
            formField.ColumnSize             = field.Size;
            formField.IsVisible            = true;
            formField.HideLabel            = field.IsHideLabel;
            formField.FieldVisibilityRules = field.VisibilityRule?.FromViewModel(formFields);

            // Add or update the attribute qualifiers. Do not delete any old ones.
            foreach (var kvp in configurationValues)
            {
                var qualifier = formField.Attribute.AttributeQualifiers.FirstOrDefault(q => q.Key == kvp.Key);

                if (qualifier == null)
                {
                    formField.Attribute.AttributeQualifiers.Add(new AttributeQualifier
                    {
                        IsSystem = false,
                        Key      = kvp.Key,
                        Value    = kvp.Value ?? string.Empty
                    });
                }
                else
                {
                    qualifier.Value = kvp.Value ?? string.Empty;
                }
            }

            return(formField);
        }