private async void Load() { IWorkflowDesignerProxy proxy = new DesignerProxy(); Definitions = await proxy.Get(); if (Definitions == null) { ShowMessage("Error"); return; } if (Definitions.Count == 0) { ShowMessage("No actieve definctions found"); } }
private async void LoadDesigner() { using (IWorkflowDesignerProxy proxy = new DesignerProxy()) { var definition = await proxy.GetById(Id.Value); if (definition == null) { base.ShowMessage("Could not pick the values"); } var xaml = definition.Xaml; Designer.Text = xaml; this.Name = definition.Name; this.Description = definition.Description; this.Designer.Text = xaml; this.Designer.Load(); } }
internal async void Save() { try { if (string.IsNullOrEmpty(this.Name)) { ShowMessage("Name can't be empty"); return; } var validationService = this.Designer.Context.Services.GetService <IValidationErrorService>(); var errorService = validationService as DesignerValidationService; if (errorService.ErrorCount > 0) { string errorMessage = string.Join(Environment.NewLine, errorService.Errors); base.ShowMessage(string.Format("Please fix the errors before saving {0} {1}", errorMessage, Environment.NewLine)); return; } string tempFileName = string.Empty; tempFileName = Path.Combine(Environment.CurrentDirectory, Path.GetRandomFileName()); this.Designer.Flush(); const int defaultsize = 1326; FileHelper.WriteTextToFile(tempFileName, Designer.Text); var fileContents = FileHelper.ReadFromFile(tempFileName); if (fileContents.Length <= defaultsize) { ShowMessage("There should me minimum values for workflow"); return; } try { ActivityXamlServicesSettings settings = new ActivityXamlServicesSettings() { CompileExpressions = true, }; XamlReader reader = new XamlReader(); var CompiliedActivity = ActivityXamlServices.Load(tempFileName, settings); } catch (Exception cex) { base.ShowMessage(cex.Message); } var dto = new DefinitionDto() { Name = this.Name, Description = this.Description, Id = this.Id, Xaml = fileContents }; FileHelper.Delete(tempFileName); using (IWorkflowDesignerProxy proxy = new DesignerProxy()) { var res = await proxy.Save(dto); this.Id = res; if (Id > 0) { ShowMessage("Saved Successfully"); return; } } } catch (Exception ex) { base.ShowMessage(ex.Message); } }