public object PersistConfiguredForm(PersistConfiguredFormRequest request) { // Variables. var result = default(object); var rootId = CoreConstants.System.Root.ToInvariantString(); var parentId = GuidHelper.GetGuid(request.ParentId); // Catch all errors. try { // Parse or create the configured form ID. var conFormId = string.IsNullOrWhiteSpace(request.ConFormId) ? Guid.NewGuid() : GuidHelper.GetGuid(request.ConFormId); // Get the ID path. var parent = Entities.Retrieve(parentId); var path = parent.Path.Concat(new[] { conFormId }).ToArray(); // Create configured form. var configuredForm = new ConfiguredForm() { Id = conFormId, Path = path, Name = request.Name, TemplateId = string.IsNullOrWhiteSpace(request.TemplateId) ? null as Guid? : GuidHelper.GetGuid(request.TemplateId), LayoutId = string.IsNullOrWhiteSpace(request.LayoutId) ? null as Guid? : GuidHelper.GetGuid(request.LayoutId) }; // Persist configured form. Persistence.Persist(configuredForm); // Variables. var fullPath = new[] { rootId } .Concat(path.Select(x => GuidHelper.GetString(x))) .ToArray(); // Success. result = new { Success = true, Id = GuidHelper.GetString(conFormId), Path = fullPath }; } catch (Exception ex) { // Error. LogHelper.Error <ConfiguredFormsController>(PersistConFormError, ex); result = new { Success = false, Reason = UnhandledError }; } // Return result. return(result); }
public object PersistConfiguredForm(PersistConfiguredFormRequest request) { // Variables. var result = default(object); var rootId = CoreConstants.System.Root.ToInvariantString(); var parentId = GuidHelper.GetGuid(request.ParentId); // Catch all errors. try { // Parse or create the configured form ID. var conFormId = string.IsNullOrWhiteSpace(request.ConFormId) ? Guid.NewGuid() : GuidHelper.GetGuid(request.ConFormId); // Get the ID path. var parent = Entities.Retrieve(parentId); var path = parent.Path.Concat(new[] { conFormId }).ToArray(); // Create configured form. var configuredForm = new ConfiguredForm() { Id = conFormId, Path = path, Name = request.Name, TemplateId = string.IsNullOrWhiteSpace(request.TemplateId) ? null as Guid? : GuidHelper.GetGuid(request.TemplateId), LayoutId = string.IsNullOrWhiteSpace(request.LayoutId) ? null as Guid? : GuidHelper.GetGuid(request.LayoutId) }; // Persist configured form. Persistence.Persist(configuredForm); // Variables. var fullPath = new[] { rootId } .Concat(path.Select(x => GuidHelper.GetString(x))) .ToArray(); // Success. result = new { Success = true, Id = GuidHelper.GetString(conFormId), Path = fullPath }; } catch (Exception ex) { // Error. LogHelper.Error<ConfiguredFormsController>(PersistConFormError, ex); result = new { Success = false, Reason = UnhandledError }; } // Return result. return result; }