переименовал ряд методов для лучшего понимания

This commit is contained in:
Фролов 2021-09-23 10:53:48 +05:00 committed by KharchenkoVV
parent a2345cc8f2
commit 956e564f56
8 changed files with 30 additions and 23 deletions

View File

@ -55,7 +55,7 @@ namespace AsbCloudInfrastructure.Services
var fileNames = filesInfos var fileNames = filesInfos
.Where(f => f.Name != resultFileName) .Where(f => f.Name != resultFileName)
.Select(f => fileService.GetFileName(f)); .Select(f => fileService.GetUrl(f));
var stream = new MemoryStream(1024 * 1024); var stream = new MemoryStream(1024 * 1024);
UniteExcelFiles(fileNames, stream); UniteExcelFiles(fileNames, stream);

View File

@ -52,10 +52,8 @@ namespace AsbCloudInfrastructure.Services
Directory.CreateDirectory(Path.GetDirectoryName(relativePath)); Directory.CreateDirectory(Path.GetDirectoryName(relativePath));
using (var newfileStream = new FileStream(relativePath, FileMode.Create)) using var newfileStream = new FileStream(relativePath, FileMode.Create);
{ await fileStream.CopyToAsync(newfileStream, token).ConfigureAwait(false);
await fileStream.CopyToAsync(newfileStream);
}
var dto = entry.Entity.Adapt<FileInfoDto>(); var dto = entry.Entity.Adapt<FileInfoDto>();
return dto; return dto;
@ -164,7 +162,7 @@ namespace AsbCloudInfrastructure.Services
if (fileInfo is null) if (fileInfo is null)
return 0; return 0;
var fileName = GetFileName(fileInfo.Adapt<FileInfoDto>()); var fileName = GetUrl(fileInfo.Adapt<FileInfoDto>());
if (File.Exists(fileName)) if (File.Exists(fileName))
File.Delete(fileName); File.Delete(fileName);
@ -172,12 +170,22 @@ namespace AsbCloudInfrastructure.Services
return await db.SaveChangesAsync(token).ConfigureAwait(false); return await db.SaveChangesAsync(token).ConfigureAwait(false);
} }
public string GetFileName(FileInfoDto fileInfo) public string GetUrl(FileInfoDto fileInfo) =>
GetUrl(fileInfo.IdWell, fileInfo.IdCategory, fileInfo.Id, Path.GetExtension(fileInfo.Name));
public string GetUrl(int idFile)
{ {
var fileName = $"{fileInfo.Id}{Path.GetExtension(fileInfo.Name)}"; var fileInfo = db.Files
fileName = Path.Combine(RootPath, fileInfo.IdWell.ToString(), fileInfo.IdCategory.ToString(), fileName); .FirstOrDefault(f => f.Id == idFile);
fileName = Path.GetFullPath(fileName);
return fileName; if (fileInfo is null)
return null;
return GetUrl(fileInfo.IdWell, fileInfo.IdCategory, fileInfo.Id, Path.GetExtension(fileInfo.Name));
} }
public string GetUrl(int idWell, int idCategory, int idFile, string dotExtention) =>
Path.Combine(RootPath, idWell.ToString(), idCategory.ToString(), $"{idFile}{dotExtention}");
} }
} }

View File

@ -12,7 +12,7 @@ using System.Threading.Tasks;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {
public abstract class TelemetryDataService<TDto, TModel> : ITelemetryDataService<TDto>, IConverter<TDto, TModel> public abstract class TelemetryDataBaseService<TDto, TModel> : ITelemetryDataService<TDto>, IConverter<TDto, TModel>
where TDto : AsbCloudApp.Data.ITelemetryData where TDto : AsbCloudApp.Data.ITelemetryData
where TModel : class, AsbCloudDb.Model.ITelemetryData where TModel : class, AsbCloudDb.Model.ITelemetryData
{ {
@ -23,7 +23,7 @@ namespace AsbCloudInfrastructure.Services
protected readonly CacheTable<TelemetryUser> cacheTelemetryUsers; protected readonly CacheTable<TelemetryUser> cacheTelemetryUsers;
protected readonly CacheTable<Well> cacheWells; protected readonly CacheTable<Well> cacheWells;
public TelemetryDataService( public TelemetryDataBaseService(
IAsbCloudDbContext db, IAsbCloudDbContext db,
ITelemetryService telemetryService, ITelemetryService telemetryService,
CacheDb cacheDb) CacheDb cacheDb)

View File

@ -6,7 +6,7 @@ using Mapster;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {
public class TelemetryDataSaubService: TelemetryDataService<AsbCloudApp.Data.TelemetryDataSaubDto, AsbCloudDb.Model.TelemetryDataSaub> public class TelemetryDataSaubService: TelemetryDataBaseService<AsbCloudApp.Data.TelemetryDataSaubDto, AsbCloudDb.Model.TelemetryDataSaub>
{ {
public TelemetryDataSaubService( public TelemetryDataSaubService(
IAsbCloudDbContext db, IAsbCloudDbContext db,
@ -18,18 +18,18 @@ namespace AsbCloudInfrastructure.Services
public override TelemetryDataSaub Convert(TelemetryDataSaubDto src) public override TelemetryDataSaub Convert(TelemetryDataSaubDto src)
{ {
var entity = src.Adapt<TelemetryDataSaub>(); var entity = src.Adapt<TelemetryDataSaub>();
var telemetryUser = cacheTelemetryUsers var telemetryUser = cacheTelemetryUsers?
.FirstOrDefault(u => u.IdTelemetry == src.IdTelemetry && (u.Name == src.User || u.Surname == src.User)); .FirstOrDefault(u => u.IdTelemetry == src.IdTelemetry && (u.Name == src.User || u.Surname == src.User));
entity.IdUser = telemetryUser.IdUser; entity.IdUser = telemetryUser?.IdUser;
return entity; return entity;
} }
public override TelemetryDataSaubDto Convert(TelemetryDataSaub src) public override TelemetryDataSaubDto Convert(TelemetryDataSaub src)
{ {
var dto = src.Adapt<TelemetryDataSaubDto>(); var dto = src.Adapt<TelemetryDataSaubDto>();
var telemetryUser = cacheTelemetryUsers var telemetryUser = cacheTelemetryUsers?
.FirstOrDefault(u => u.IdTelemetry == src.IdTelemetry && u.IdUser == src.IdUser); .FirstOrDefault(u => u.IdTelemetry == src.IdTelemetry && u.IdUser == src.IdUser);
dto.User = telemetryUser.MakeDisplayName(); dto.User = telemetryUser?.MakeDisplayName();
return dto; return dto;
} }
} }

View File

@ -6,7 +6,7 @@ using Mapster;
namespace AsbCloudInfrastructure.Services namespace AsbCloudInfrastructure.Services
{ {
public class TelemetryDataSpinService : TelemetryDataService<AsbCloudApp.Data.TelemetryDataSpinDto, AsbCloudDb.Model.TelemetryDataSpin> public class TelemetryDataSpinService : TelemetryDataBaseService<AsbCloudApp.Data.TelemetryDataSpinDto, AsbCloudDb.Model.TelemetryDataSpin>
{ {
public TelemetryDataSpinService( public TelemetryDataSpinService(
IAsbCloudDbContext db, IAsbCloudDbContext db,

View File

@ -52,7 +52,7 @@ namespace AsbCloudInfrastructure.Services
} }
private Telemetry GetOrCreateTelemetryByUid(string uid) private Telemetry GetOrCreateTelemetryByUid(string uid)
=> cacheTelemetry.FirstOrDefault(t => t.RemoteUid == uid, RefreshMode.IfResultEmpty) => cacheTelemetry.FirstOrDefault(t => t.RemoteUid == uid)
?? cacheTelemetry.Insert(new Telemetry { RemoteUid = uid, }); ?? cacheTelemetry.Insert(new Telemetry { RemoteUid = uid, });
} }

View File

@ -29,7 +29,7 @@ namespace AsbCloudWebApi.Controllers
.ConfigureAwait(false); .ConfigureAwait(false);
if (fileInfo is null) if (fileInfo is null)
return NoContent(); return NoContent();
var relativePath = fileService.GetFileName(fileInfo); var relativePath = fileService.GetUrl(fileInfo);
return PhysicalFile(Path.GetFullPath(relativePath), "application/octet-stream", fileInfo.Name); return PhysicalFile(Path.GetFullPath(relativePath), "application/octet-stream", fileInfo.Name);
} }
} }

View File

@ -157,8 +157,7 @@ namespace AsbCloudWebApi.Controllers
if (fileInfo is null) if (fileInfo is null)
throw new FileNotFoundException(); throw new FileNotFoundException();
// TODO: словарь content typoв var relativePath = fileService.GetUrl(fileInfo);
var relativePath = fileService.GetFileName(fileInfo);
return PhysicalFile(Path.GetFullPath(relativePath), "application/octet-stream", fileInfo.Name); return PhysicalFile(Path.GetFullPath(relativePath), "application/octet-stream", fileInfo.Name);
} }
catch (FileNotFoundException ex) catch (FileNotFoundException ex)