// Edytuje nazwę pliku ebooka. public StatusResult <EditFileNameStatus> EditFileName(int id, FileNameDto dto) { var toEdit = context.Files .SingleOrDefault(x => x.Id == id); if (toEdit == null) { return(new StatusResult <EditFileNameStatus> { Status = EditFileNameStatus.BadId }); } var directoryName = hostingEnvironment.ContentRootPath + "/private_static/files"; var isFilenameUnique = !System.IO.Directory.GetFiles(directoryName).Select(x => x.Split(Path.DirectorySeparatorChar).Last().Split('.').First()).Any(x => x == dto.Name); if (!isFilenameUnique) { return(new StatusResult <EditFileNameStatus> { Status = EditFileNameStatus.Conflict }); } System.IO.File.Move($"{hostingEnvironment.ContentRootPath}{toEdit.Name}", $"{hostingEnvironment.ContentRootPath}/private_static/files/{dto.Name}.{toEdit.Name.Split('.').Last()}"); toEdit.Name = $"/private_static/files/{dto.Name}.{toEdit.Name.Split('.').Last()}"; context.SaveChanges(); return(new StatusResult <EditFileNameStatus> { Status = EditFileNameStatus.Ok }); }
internal void GenerateResponseWithError(FileNameDto file, IEnumerable <ErrorDto> errorList) { var fileInformation = new List <string>(); var serializeError = serialize.Execute(errorList); if (serializeError.Failure) { fileInformation.Add(serializeError.ErrorList.FirstOrDefault().Message); } fileInformation.Add(serializeError.Result); GenerateFile(fileInformation, file.BuildNameErrorResponse()); MoveFileReqProcessed(file); }
public async ValueTask <IActionResult> DeleteAsync(FileNameDto fileName) { string path = this.GetPathTo(fileName.FileName); var fileInfo = new FileInfo(path); if (!fileInfo.Exists) { return(StatusCode((int)HttpStatusCode.BadRequest, new { Message = $"File not found." })); } fileInfo.Delete(); await ValueTask.CompletedTask; return(Accepted(new { Message = "The file was deleted." })); }
internal void GenerateResponse(FileNameDto file) { var fileInformation = new List <string>(); var serializeResponse = serialize.Execute <SellOrderResponseDto>(file.SellOrderResponse); if (serializeResponse.Failure) { fileInformation.Add(serializeResponse.ErrorList.FirstOrDefault().Message); } fileInformation.Add(serializeResponse.Result); fileManager.CreateFile( Path.Combine(directoryPath.FileResponseInPath, serializeResponse.Failure ? file.BuildNameErrorResponse() : file.BuildNameResponse()), fileInformation); MoveFileReqProcessed(file); }
internal OperationResult <FileNameDto> ProcessFile(FileNameDto processingFile) { var linesResult = fileManager.ReadLines(Path.Combine(directoryPathConfig.FileProcess, processingFile.FileInfoName)); if (linesResult.Failure) { return(new OperationResult <FileNameDto>(ErrorDto.BuildTechnical(FAILURE_READ_FILE))); } var mapAndValidateProcess = MapAndValidateFileStructure(linesResult.Result); if (mapAndValidateProcess.Failure) { return(new OperationResult <FileNameDto>(mapAndValidateProcess.ErrorList)); } processingFile.SellOrdersRequest = mapAndValidateProcess.Result; return(new OperationResult <FileNameDto>(processingFile)); }
public IActionResult EditFileName(int id, [FromBody] FileNameDto dto) { if (!ModelState.IsValid) { return(BadRequest()); } var editStatus = bookService.EditFileName(id, dto).Status; switch (editStatus) { case EditFileNameStatus.BadId: return(NotFound()); case EditFileNameStatus.Conflict: return(StatusCode(409)); case EditFileNameStatus.Ok: return(NoContent()); default: return(StatusCode(500)); } }
private void MoveFileReqProcessed(FileNameDto file) { var moveFileToBackUp = fileManager.MoveFile(Path.Combine(directoryPath.FileProcess, file.FileInfoName), Path.Combine(directoryPath.BackUpFilesRequestPath, file.FileInfoName)); }