private async Task <IAssemblyMetadata> LoadRootAssembly(string target) { if (IsTracingEnabled) { Tracer.LogLoadingModel(target); Tracer.Flush(); } AssemblyMetadata graph = null; try { graph = await AssemblyMetadata.Load(Persister, target); } catch (Exception e) { string errorMessage = $"Error during retrieval of elements from repository. {e.Message}"; ErrorMessageTarget.SendMessage("Loading error", errorMessage); if (IsTracingEnabled) { Tracer.LogFailure($"{target}; {errorMessage}"); Tracer.Flush(); } return(null); } finally { Persister.Dispose(); } return(graph); }
private async Task Save(ISourceProvider targetPathProvider) { if (targetPathProvider == null) { throw new ArgumentNullException(nameof(targetPathProvider), "SourceProvider can't be null."); } if (Persister.FileSystemDependency == FileSystemDependency.Independent) { targetPathProvider = new NullSourceProvider(); } if (targetPathProvider.GetAccess()) { try { string target = targetPathProvider.GetPath(); await Task.Run(async() => { if (IsTracingEnabled) { Tracer.LogSavingModel(target); Tracer.Flush(); } Persister.Access(target); await(ObjectsList?.FirstOrDefault().ModelObject as AssemblyMetadata)?.Save(Persister, target); Persister.Dispose(); InformationMessageTarget.SendMessage("Saving completed", "Model was successfully saved."); if (IsTracingEnabled) { Tracer.LogModelSaved(target); Tracer.Flush(); } }); } catch (Exception ex) { ErrorMessageTarget.SendMessage("Saving error", ex.Message); if (IsTracingEnabled) { Tracer.LogFailure( $"Exception caught when trying to open a file for writing {Environment.NewLine}{ex.Message}"); Tracer.Flush(); } } } }
public void TestCleanup() { _categoryPersister?.Dispose(); }
public void TestCleanup() { _transactionPersister?.Dispose(); }