public override void OnFinish(object sender, EventArgs e) { var token = (FormFolderEntityToken)EntityToken; var name = GetBinding <string>("Name"); var type = GetBinding <string>("SubmitHandlerType"); var definition = DefinitionsFacade.GetDefinition(token.FormName); var handlerType = Type.GetType(type); var instance = (FormSubmitHandler)Activator.CreateInstance(handlerType); instance.Name = name; definition.SubmitHandlers.Add(instance); DefinitionsFacade.Save(definition); CreateSpecificTreeRefresher().PostRefreshMessages(token); var editWorkFlowAttribute = handlerType.GetCustomAttribute <EditWorkflowAttribute>(); if (editWorkFlowAttribute != null) { var workflowToken = new WorkflowActionToken(editWorkFlowAttribute.EditWorkflowType); ExecuteAction(new FormSubmitHandlerEntityToken(handlerType, token.FormName, name), workflowToken); } }
public override void OnFinish(object sender, EventArgs e) { var name = GetBinding <string>("Name"); var includeAttachments = GetBinding <bool>("IncludeAttachments"); var from = GetBinding <string>("From"); var to = GetBinding <string>("To"); var cc = GetBinding <string>("Cc"); var bcc = GetBinding <string>("Bcc"); var subject = GetBinding <string>("Subject"); var body = GetBinding <string>("Body"); var encryptMessage = GetBinding <bool>("EncryptMessage"); var encryptPassword = GetBinding <string>("EncryptPassword"); var definition = GetDefinition(); var handler = GetHandler(); var existingHandler = definition.SubmitHandlers.Single(h => h.Name == handler.Name); handler.Name = name; handler.IncludeAttachments = includeAttachments; using (var data = new DataConnection()) { var templateKey = definition.Name + "." + handler.Name; var template = data.Get <IMailTemplate>().SingleOrDefault(t => t.Key == templateKey) ?? data.CreateNew <IMailTemplate>(); template.Key = templateKey; template.From = from; template.To = to; template.Cc = cc; template.Bcc = bcc; template.EncryptMessage = encryptMessage; template.EncryptPassword = encryptPassword; if (template.DataSourceId.ExistsInStore) { data.Update(template); } else { data.Add(template); } var templateContent = template.GetContent(); templateContent.Subject = subject; templateContent.Body = body; data.Update(templateContent); } definition.SubmitHandlers.Remove(existingHandler); definition.SubmitHandlers.Add(handler); DefinitionsFacade.Save(definition); CreateSpecificTreeRefresher().PostRefreshMessages(EntityToken); SetSaveStatus(true); }
protected void Save(IDynamicDefinition definition) { SaveExtraSettings(definition); var token = GetBinding <DataEntityToken>("BoundToken"); var modelReference = (IModelReference)token.Data; var name = GetBinding <string>("Name"); var introText = GetBinding <string>("IntroText"); var successResponse = GetBinding <string>("SuccessResponse"); using (var writer = ResourceFacade.GetResourceWriter()) { writer.AddResource(GetKey("IntroText"), introText); writer.AddResource(GetKey("SuccessResponse"), successResponse); } var isNewName = name != modelReference.Name; if (isNewName) { LocalizationsFacade.RenameNamespace(Localization.KeyPrefix + "." + modelReference.Name, Localization.KeyPrefix + "." + name, Localization.ResourceSet); DefinitionsFacade.Copy(definition, name); DefinitionsFacade.Delete(definition); modelReference = ModelReferenceFacade.GetModelReference(name); token = modelReference.GetDataEntityToken(); UpdateBinding("BoundToken", token); SetSaveStatus(true, token); } else { DefinitionsFacade.Save(definition); SetSaveStatus(true); } CreateParentTreeRefresher().PostRefreshMessages(EntityToken); }