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

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
.Where(f => f.Name != resultFileName)
.Select(f => fileService.GetFileName(f));
.Select(f => fileService.GetUrl(f));
var stream = new MemoryStream(1024 * 1024);
UniteExcelFiles(fileNames, stream);

View File

@ -52,10 +52,8 @@ namespace AsbCloudInfrastructure.Services
Directory.CreateDirectory(Path.GetDirectoryName(relativePath));
using (var newfileStream = new FileStream(relativePath, FileMode.Create))
{
await fileStream.CopyToAsync(newfileStream);
}
using var newfileStream = new FileStream(relativePath, FileMode.Create);
await fileStream.CopyToAsync(newfileStream, token).ConfigureAwait(false);
var dto = entry.Entity.Adapt<FileInfoDto>();
return dto;
@ -164,7 +162,7 @@ namespace AsbCloudInfrastructure.Services
if (fileInfo is null)
return 0;
var fileName = GetFileName(fileInfo.Adapt<FileInfoDto>());
var fileName = GetUrl(fileInfo.Adapt<FileInfoDto>());
if (File.Exists(fileName))
File.Delete(fileName);
@ -172,12 +170,22 @@ namespace AsbCloudInfrastructure.Services
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)}";
fileName = Path.Combine(RootPath, fileInfo.IdWell.ToString(), fileInfo.IdCategory.ToString(), fileName);
fileName = Path.GetFullPath(fileName);
return fileName;
var fileInfo = db.Files
.FirstOrDefault(f => f.Id == idFile);
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
{
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 TModel : class, AsbCloudDb.Model.ITelemetryData
{
@ -23,7 +23,7 @@ namespace AsbCloudInfrastructure.Services
protected readonly CacheTable<TelemetryUser> cacheTelemetryUsers;
protected readonly CacheTable<Well> cacheWells;
public TelemetryDataService(
public TelemetryDataBaseService(
IAsbCloudDbContext db,
ITelemetryService telemetryService,
CacheDb cacheDb)

View File

@ -6,7 +6,7 @@ using Mapster;
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(
IAsbCloudDbContext db,
@ -18,18 +18,18 @@ namespace AsbCloudInfrastructure.Services
public override TelemetryDataSaub Convert(TelemetryDataSaubDto src)
{
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));
entity.IdUser = telemetryUser.IdUser;
entity.IdUser = telemetryUser?.IdUser;
return entity;
}
public override TelemetryDataSaubDto Convert(TelemetryDataSaub src)
{
var dto = src.Adapt<TelemetryDataSaubDto>();
var telemetryUser = cacheTelemetryUsers
var telemetryUser = cacheTelemetryUsers?
.FirstOrDefault(u => u.IdTelemetry == src.IdTelemetry && u.IdUser == src.IdUser);
dto.User = telemetryUser.MakeDisplayName();
dto.User = telemetryUser?.MakeDisplayName();
return dto;
}
}

View File

@ -6,7 +6,7 @@ using Mapster;
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(
IAsbCloudDbContext db,

View File

@ -52,7 +52,7 @@ namespace AsbCloudInfrastructure.Services
}
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, });
}

View File

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

View File

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