private static void form_FormClosed(object sender, FormClosedEventArgs e) { lock (frmIO) { frmIO = null; Application.Exit(); } }
public static void IOThreadProc() { InteractiveForm form = new InteractiveForm(); form.Shown += new EventHandler(form_Show); form.FormClosed += new FormClosedEventHandler(form_FormClosed); Application.Run(form); }
/// <summary> /// Deleted a banner /// </summary> /// <param name="banner">Banner</param> public virtual void DeleteForm(InteractiveForm form) { if (form == null) { throw new ArgumentNullException("form"); } _formRepository.Delete(form); //event notification _eventPublisher.EntityDeleted(form); }
/// <summary> /// Deleted a interactive form /// </summary> /// <param name="form">Interactive form</param> public virtual async Task DeleteForm(InteractiveForm form) { if (form == null) { throw new ArgumentNullException(nameof(form)); } await _formRepository.DeleteAsync(form); //event notification await _mediator.EntityDeleted(form); }
/// <summary> /// Updates a form /// </summary> /// <param name="Form">Form</param> public virtual async Task UpdateForm(InteractiveForm form) { if (form == null) { throw new ArgumentNullException("form"); } await _formRepository.UpdateAsync(form); //event notification await _eventPublisher.EntityUpdated(form); }
/// <summary> /// Inserts a form /// </summary> /// <param name="InteractiveForm">InteractiveForm</param> public virtual async Task InsertForm(InteractiveForm form) { if (form == null) { throw new ArgumentNullException("form"); } await _formRepository.InsertAsync(form); //event notification await _mediator.EntityInserted(form); }
protected async Task PrepareInteractiveForm(CustomerAction action, InteractiveForm form, string customerId) { var body = PrepareDataInteractiveForm(form); var formactive = new PopupActive() { Body = body, CreatedOnUtc = DateTime.UtcNow, CustomerId = customerId, CustomerActionId = action.Id, Name = form.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id), PopupTypeId = (int)PopupType.InteractiveForm }; await _popupService.InsertPopupActive(formactive); }
protected void PrepareInteractiveForm(CustomerAction action, InteractiveForm form, string customerId) { var body = PrepareDataInteractiveForm(form); var formactive = new PopupActive() { Body = body, CreatedOnUtc = DateTime.UtcNow, CustomerId = customerId, CustomerActionId = action.Id, Name = form.GetLocalized(x => x.Name), PopupTypeId = (int)PopupType.InteractiveForm }; _popupService.InsertPopupActive(formactive); }
protected virtual List <LocalizedProperty> UpdateLocales(InteractiveForm iform, InteractiveFormModel model) { List <LocalizedProperty> localized = new List <LocalizedProperty>(); foreach (var local in model.Locales) { localized.Add(new LocalizedProperty() { LanguageId = local.LanguageId, LocaleKey = "Name", LocaleValue = local.Name }); localized.Add(new LocalizedProperty() { LanguageId = local.LanguageId, LocaleKey = "Body", LocaleValue = local.Body }); } return(localized); }
protected string PrepareDataInteractiveForm(InteractiveForm form) { var body = form.GetLocalized(x => x.Body, _workContext.WorkingLanguage.Id); body += $"<input type='hidden' name='Id' value='{form.Id}'>"; foreach (var item in form.FormAttributes) { if (item.AttributeControlType == FormControlType.TextBox) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control", item.Class); string _value = item.DefaultValue; var textbox = string.Format("<input type='text' name='{0}' class='{1}' style='{2}' value='{3}' {4}>", item.SystemName, _class, _style, _value, item.IsRequired ? "required" : ""); body = body.Replace(string.Format("%{0}%", item.SystemName), textbox); } if (item.AttributeControlType == FormControlType.MultilineTextbox) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control", item.Class); string _value = item.DefaultValue; var textarea = string.Format("<textarea name='{0}' class='{1}' style='{2}' {3}> {4} </textarea>", item.SystemName, _class, _style, item.IsRequired ? "required" : "", _value); body = body.Replace(string.Format("%{0}%", item.SystemName), textarea); } if (item.AttributeControlType == FormControlType.Checkboxes) { var checkbox = "<div class='custom-controls-stacked'>"; foreach (var itemcheck in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "custom-control-input", item.Class); checkbox += "<div class='custom-control custom-checkbox'>"; checkbox += string.Format("<input type='checkbox' class='{0}' style='{1}' {2} id='{3}' name='{4}' value='{5}'>", _class, _style, itemcheck.IsPreSelected ? "checked" : "", itemcheck.Id, item.SystemName, itemcheck.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); checkbox += string.Format("<label class='custom-control-label' for='{0}'>{1}</label>", itemcheck.Id, itemcheck.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); checkbox += "</div>"; } checkbox += "</div>"; body = body.Replace(string.Format("%{0}%", item.SystemName), checkbox); } if (item.AttributeControlType == FormControlType.DropdownList) { var dropdown = string.Empty; string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control custom-select", item.Class); dropdown = string.Format("<select name='{0}' class='{1}' style='{2}'>", item.SystemName, _class, _style); foreach (var itemdropdown in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { dropdown += string.Format("<option value='{0}' {1}>{2}</option>", itemdropdown.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id), itemdropdown.IsPreSelected ? "selected" : "", itemdropdown.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); } dropdown += "</select>"; body = body.Replace(string.Format("%{0}%", item.SystemName), dropdown); } if (item.AttributeControlType == FormControlType.RadioList) { var radio = "<div class='custom-controls-stacked'>"; foreach (var itemradio in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "custom-control-input", item.Class); radio += "<div class='custom-control custom-radio'>"; radio += string.Format("<input type='radio' class='{0}' style='{1}' {2} id='{3}' name='{4}' value='{5}'>", _class, _style, itemradio.IsPreSelected ? "checked" : "", itemradio.Id, item.SystemName, itemradio.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); radio += string.Format("<label class='custom-control-label' for='{0}'>{1}</label>", itemradio.Id, itemradio.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); radio += "</div>"; } radio += "</div>"; body = body.Replace(string.Format("%{0}%", item.SystemName), radio); } } body = body.Replace("%sendbutton%", "<input type='submit' id='send-interactive-form' class='btn btn-success interactive-form-button' value='Send' />"); body = body.Replace("%errormessage%", "<div class='message-error'><div class='validation-summary-errors'><div id='errorMessages'></div></div></div>"); return(body); }
protected string PrepareDataInteractiveForm(InteractiveForm form) { var body = form.GetLocalized(x => x.Body, _workContext.WorkingLanguage.Id); body += "<input type=\"hidden\" name=\"Id\" value=\"" + form.Id + "\">"; foreach (var item in form.FormAttributes) { if (item.AttributeControlType == FormControlType.TextBox) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control", item.Class); string _value = item.DefaultValue; var textbox = string.Format("<input type=\"text\" name=\"{0}\" class=\"{1}\" style=\"{2}\" value=\"{3}\" {4}>", item.SystemName, _class, _style, _value, item.IsRequired ? "required" : ""); body = body.Replace(string.Format("%{0}%", item.SystemName), textbox); } if (item.AttributeControlType == FormControlType.MultilineTextbox) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control", item.Class); string _value = item.DefaultValue; var textarea = string.Format("<textarea name=\"{0}\" class=\"{1}\" style=\"{2}\" {3}> {4} </textarea>", item.SystemName, _class, _style, item.IsRequired ? "required" : "", _value); body = body.Replace(string.Format("%{0}%", item.SystemName), textarea); } if (item.AttributeControlType == FormControlType.Checkboxes) { var checkbox = "<div class=\"custom-controls-stacked\">"; foreach (var itemcheck in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "custom-control-input", item.Class); checkbox += "<div class=\"custom-control custom-checkbox\">"; checkbox += string.Format("<input type=\"checkbox\" class=\"{0}\" style=\"{1}\" {2} id=\"{3}\" name=\"{4}\" value=\"{5}\">", _class, _style, itemcheck.IsPreSelected ? "checked" : "", itemcheck.Id, item.SystemName, itemcheck.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); checkbox += string.Format("<label class=\"custom-control-label\" for=\"{0}\">{1}</label>", itemcheck.Id, itemcheck.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); checkbox += "</div>"; } checkbox += "</div>"; body = body.Replace(string.Format("%{0}%", item.SystemName), checkbox); } if (item.AttributeControlType == FormControlType.DropdownList) { var dropdown = string.Empty; string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control custom-select", item.Class); dropdown = string.Format("<select name=\"{0}\" class=\"{1}\" style=\"{2}\">", item.SystemName, _class, _style); foreach (var itemdropdown in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { dropdown += string.Format("<option value=\"{0}\" {1}>{2}</option>", itemdropdown.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id), itemdropdown.IsPreSelected ? "selected" : "", itemdropdown.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); } dropdown += "</select>"; body = body.Replace(string.Format("%{0}%", item.SystemName), dropdown); } if (item.AttributeControlType == FormControlType.RadioList) { var radio = "<div class=\"custom-controls-stacked\">"; foreach (var itemradio in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "custom-control-input", item.Class); radio += "<div class=\"custom-control custom-radio\">"; radio += string.Format("<input type=\"radio\" class=\"{0}\" style=\"{1}\" {2} id=\"{3}\" name=\"{4}\" value=\"{5}\">", _class, _style, itemradio.IsPreSelected ? "checked" : "", itemradio.Id, item.SystemName, itemradio.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); radio += string.Format("<label class=\"custom-control-label\" for=\"{0}\">{1}</label>", itemradio.Id, itemradio.GetLocalized(x => x.Name, _workContext.WorkingLanguage.Id)); radio += "</div>"; } radio += "</div>"; body = body.Replace(string.Format("%{0}%", item.SystemName), radio); } } body = body.Replace("%sendbutton%", "<input type=\"submit\" id=\"send-interactive-form\" class=\"btn btn-success interactive-form-button\" value=\"" + _localizationService.GetResource("PopupInteractiveForm.Send", _workContext.WorkingLanguage.Id) + " \" />"); body = body.Replace("%errormessage%", "<div class=\"message-error\"><div class=\"validation-summary-errors\"><div id=\"errorMessages\"></div></div></div>"); return(body); }
public static InteractiveFormModel ToModel(this InteractiveForm entity) { return(entity.MapTo <InteractiveForm, InteractiveFormModel>()); }
public static InteractiveForm ToEntity(this InteractiveFormModel model, InteractiveForm destination) { return(model.MapTo(destination)); }
protected string PrepareDataInteractiveForm(InteractiveForm form) { var body = form.GetLocalized(x => x.Body); body += "<input type=\"hidden\" name=\"Id\" value=\"" + form.Id + "\">"; foreach (var item in form.FormAttributes) { if (item.AttributeControlType == FormControlType.TextBox) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control", item.Class); string _value = item.DefaultValue; var textbox = string.Format("<input type=\"text\" name=\"{0}\" class=\"{1}\" style=\"{2}\" value=\"{3}\" {4}>", item.SystemName, _class, _style, _value, item.IsRequired ? "required" : ""); body = body.Replace(string.Format("%{0}%", item.SystemName), textbox); } if (item.AttributeControlType == FormControlType.MultilineTextbox) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control", item.Class); string _value = item.DefaultValue; var textarea = string.Format("<textarea name=\"{0}\" class=\"{1}\" style=\"{2}\" {3}> {4} </textarea>", item.SystemName, _class, _style, item.IsRequired ? "required" : "", _value); body = body.Replace(string.Format("%{0}%", item.SystemName), textarea); } if (item.AttributeControlType == FormControlType.Checkboxes) { var checkbox = "<div class=\"custom-controls-stacked\">"; foreach (var itemcheck in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "custom-control-input", item.Class); checkbox += "<label class=\"custom-control custom-checkbox\">"; checkbox += string.Format("<input type=\"checkbox\" class=\"{0}\" style=\"{1}\" {2} id=\"{3}\" name=\"{4}\" value=\"{5}\" >", _class, _style, itemcheck.IsPreSelected ? "checked" : "", itemcheck.Id, item.SystemName, itemcheck.GetLocalized(x => x.Name)); checkbox += "<span class=\"custom-control-indicator\"></span>"; checkbox += string.Format("<span class=\"custom-control-description\">{0}</span>", itemcheck.GetLocalized(x => x.Name)); checkbox += "</label>"; } checkbox += "</div>"; body = body.Replace(string.Format("%{0}%", item.SystemName), checkbox); } if (item.AttributeControlType == FormControlType.DropdownList) { var dropdown = string.Empty; string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "form-control custom-select", item.Class); dropdown = string.Format("<select name=\"{0}\" class=\"{1}\" style=\"{2}\" >", item.SystemName, _class, _style); foreach (var itemdropdown in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { dropdown += string.Format("<option value=\"{0}\" {1}>{2}</option>", itemdropdown.GetLocalized(x => x.Name), itemdropdown.IsPreSelected ? "selected" : "", itemdropdown.GetLocalized(x => x.Name)); } dropdown += "</select>"; body = body.Replace(string.Format("%{0}%", item.SystemName), dropdown); } if (item.AttributeControlType == FormControlType.RadioList) { var radio = "<div class=\"custom-controls-stacked\">"; foreach (var itemradio in item.FormAttributeValues.OrderBy(x => x.DisplayOrder)) { string _style = string.Format("{0}", item.Style); string _class = string.Format("{0} {1}", "custom-control-input", item.Class); radio += "<label class=\"custom-control custom-radio\">"; radio += string.Format("<input type=\"radio\" class=\"{0}\" style=\"{1}\" {2} id=\"{3}\" name=\"{4}\" value=\"{5}\">", _class, _style, itemradio.IsPreSelected ? "checked" : "", itemradio.Id, item.SystemName, itemradio.GetLocalized(x => x.Name)); radio += "<span class=\"custom-control-indicator\"></span>"; radio += string.Format("<span class=\"custom-control-description\">{0}</span>", itemradio.GetLocalized(x => x.Name)); radio += "</label>"; } radio += "</div>"; body = body.Replace(string.Format("%{0}%", item.SystemName), radio); } } return(body); }
private static void form_Show(object sender, EventArgs e) { frmIO = sender as InteractiveForm; EventStarted.Set(); }