public override FileActionStatus Save(FileDefinition fileDefinition, ContainerDefinition containerDefinition, FileCreateOptions fileCreateOptions, ContainerCreateOptions containerCreateOptions) { var status = new FileActionStatus(); // If we aren't allowing auto creation of directories, fail if (!Directory.Exists(containerDefinition.Path) && !_createPathsAutomatically) { status.Status = Status.NoAction; status.Message = Constants.Messages.NoAction + " Path does not exist, and config to create paths automatically is false."; return status; } // Create directory if it doesn't exist Directory.CreateDirectory(containerDefinition.Path); var path = GetFullFilePath(fileDefinition, containerDefinition); // Overwrite based on provided option if (!fileCreateOptions.OverwriteExisting && File.Exists(path)) { status.Status = Status.NoAction; status.Message = Constants.Messages.NoAction + " File already exists; must explicitly set option to overwrite."; return status; } SaveFile(path, fileDefinition.Data).Wait(); status.Status = Status.Success; status.Message = Constants.Messages.Success; return status; }
public override FileActionStatus Save(FileDefinition fileDefinition, ContainerDefinition containerDefinition, FileCreateOptions fileCreateOptions, ContainerCreateOptions containerCreateOptions) { var status = new FileActionStatus(); // If we aren't allowing auto creation of directories, fail if (!Directory.Exists(containerDefinition.Path) && !_createPathsAutomatically) { status.Status = Status.NoAction; status.Message = Constants.Messages.NoAction + " Path does not exist, and config to create paths automatically is false."; return(status); } // Create directory if it doesn't exist Directory.CreateDirectory(containerDefinition.Path); var path = GetFullFilePath(fileDefinition, containerDefinition); // Overwrite based on provided option if (!fileCreateOptions.OverwriteExisting && File.Exists(path)) { status.Status = Status.NoAction; status.Message = Constants.Messages.NoAction + " File already exists; must explicitly set option to overwrite."; return(status); } SaveFile(path, fileDefinition.Data).Wait(); status.Status = Status.Success; status.Message = Constants.Messages.Success; return(status); }
public override ContainerActionStatus CreateContainer(ContainerDefinition containerDefinition, ContainerCreateOptions options) { throw new NotImplementedException("Do not use CreateContainer for file system storage."); }
/// <summary> /// Save a file object into the NStore repository asynchronously. If the target container doesn't exist, create it with /// the provided options. /// </summary> /// <param name="fileDefinition"></param> /// <param name="containerDefinition"></param> /// <param name="fileCreateOptions"></param> /// <param name="containerCreateOptions"></param> /// <returns></returns> public abstract Task <FileActionStatus> SaveAsync(FileDefinition fileDefinition, ContainerDefinition containerDefinition, FileCreateOptions fileCreateOptions, ContainerCreateOptions containerCreateOptions);
/// <summary> /// Save a file object into the NStore repository. If the target container doesn't exist, create it with the provided /// options. /// </summary> /// <param name="fileDefinition"></param> /// <param name="containerDefinition"></param> /// <param name="fileCreateOptions"></param> /// <param name="containerCreateOptions"></param> /// <returns></returns> public abstract FileActionStatus Save(FileDefinition fileDefinition, ContainerDefinition containerDefinition, FileCreateOptions fileCreateOptions, ContainerCreateOptions containerCreateOptions);
/// <summary> /// Create a container in the NStore repository. /// </summary> /// <param name="containerDefinition"></param> /// <param name="options"></param> /// <returns></returns> public abstract ContainerActionStatus CreateContainer(ContainerDefinition containerDefinition, ContainerCreateOptions options);
/// <summary> /// Save a file object into the NStore repository asynchronously. If the target container doesn't exist, create it with /// the provided options. /// </summary> /// <param name="fileDefinition"></param> /// <param name="containerDefinition"></param> /// <param name="fileCreateOptions"></param> /// <param name="containerCreateOptions"></param> /// <returns></returns> public abstract Task<FileActionStatus> SaveAsync(FileDefinition fileDefinition, ContainerDefinition containerDefinition, FileCreateOptions fileCreateOptions, ContainerCreateOptions containerCreateOptions);