1
0
DD.WellWorkover.Cloud/AsbCloudInfrastructure/Repository/TrajectoryFactRepository.cs

117 lines
4.5 KiB
C#
Raw Normal View History

//using AsbCloudApp.Data;
//using AsbCloudApp.Exceptions;
//using AsbCloudApp.Repositories;
//using AsbCloudApp.Services;
//using AsbCloudDb.Model;
//using Mapster;
//using Microsoft.EntityFrameworkCore;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Threading;
//using System.Threading.Tasks;
//namespace AsbCloudInfrastructure.Repository
//{
// internal class TrajectoryFactRepository : ITrajectoryEditableRepository<TrajectoryGeoFactDto>
// {
// private readonly IAsbCloudDbContext db;
// private readonly IWellService wellService;
// public TrajectoryFactRepository(IAsbCloudDbContext db, IWellService wellService)
// {
// this.db = db;
// this.wellService = wellService;
// }
// public async Task<int> AddAsync(TrajectoryGeoFactDto importedFactTrajectoryRow, CancellationToken token)
// {
// var offsetHours = wellService.GetTimezone(importedFactTrajectoryRow.IdWell).Hours;
// var entity = Convert(importedFactTrajectoryRow, offsetHours);
// entity.Id = 0;
// db.FactTrajectories.Add(entity);
// return await db.SaveChangesAsync(token)
// .ConfigureAwait(false);
// }
// public async Task<int> AddRangeAsync(IEnumerable<TrajectoryGeoFactDto> trajectoryRows, CancellationToken token)
// {
// var idWell = trajectoryRows.First().IdWell;
// if (!trajectoryRows.All(r => r.IdWell == idWell))
// throw new ArgumentInvalidException(nameof(trajectoryRows), "Все строки должны относиться к одной скважине");
// var offsetHours = wellService.GetTimezone(idWell).Hours;
// var entities = trajectoryRows
// .Select(e =>
// {
// var entity = Convert(e, offsetHours);
// entity.Id = 0;
// return entity;
// });
// db.FactTrajectories.AddRange(entities);
// return await db.SaveChangesAsync(token)
// .ConfigureAwait(false);
// }
// public async Task<int> DeleteByIdWellAsync(int idWell, CancellationToken token)
// {
// var query = db.FactTrajectories
// .Where(e => e.IdWell == idWell);
// db.FactTrajectories.RemoveRange(query);
// return await db.SaveChangesAsync(token)
// .ConfigureAwait(false);
// }
// public async Task<int> DeleteRangeAsync(IEnumerable<int> ids, CancellationToken token)
// {
// var query = db.FactTrajectories
// .Where(e => ids.Contains(e.Id));
// db.FactTrajectories.RemoveRange(query);
// return await db.SaveChangesAsync(token)
// .ConfigureAwait(false);
// }
// public async Task<IEnumerable<TrajectoryGeoFactDto>> GetAsync(int idWell, CancellationToken token)
// {
// var well = wellService.GetOrDefault(idWell)
// ?? throw new ArgumentInvalidException(nameof(idWell), "idWell doesn`t exist");
// var offsetHours = well.Timezone.Hours;
// var query = db.FactTrajectories
// .AsNoTracking()
// .Where(x => x.IdWell == idWell);
// var entities = await query
// .OrderBy(e => e.WellboreDepth)
// .ToArrayAsync(token);
// var result = entities
// .Select(r => Convert(r, offsetHours));
// return result;
// }
// public async Task<int> UpdateAsync(TrajectoryGeoFactDto row, CancellationToken token)
// {
// var offsetHours = wellService.GetTimezone(row.IdWell).Hours;
// var entity = Convert(row, offsetHours);
// db.FactTrajectories.Update(entity);
// return await db.SaveChangesAsync(token)
// .ConfigureAwait(false);
// }
// private TrajectoryGeoFactDto Convert(FactTrajectory entity, double offsetHours)
// {
// var dto = entity.Adapt<TrajectoryGeoFactDto>();
// dto.UpdateDate = entity.UpdateDate.ToRemoteDateTime(offsetHours);
// return dto;
// }
// private FactTrajectory Convert(TrajectoryGeoFactDto dto, double offsetHours)
// {
// var entity = dto.Adapt<FactTrajectory>();
// entity.UpdateDate = DateTime.Now.ToUtcDateTimeOffset(offsetHours);
// return entity;
// }
// }
//}