using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; namespace AsbCloudDb.Model { public interface IAsbCloudDbContext { DbSet Clusters { get; set; } DbSet Companies { get; set; } DbSet TelemetryDataSaub { get; set; } DbSet Deposits { get; set; } DbSet TelemetryEvents { get; set; } DbSet TelemetryMessages { get; set; } DbSet Users { get; set; } DbSet UserRoles { get; set; } DbSet ReportProperties { get; set; } DbSet Files { get; set; } DbSet FileCategories { get; set; } DbSet Telemetries { get; set; } DbSet TelemetryUsers { get; set; } DbSet WellOperationCategories { get; set; } DbSet TelemetryAnalysis { get; set; } DbSet Wells { get; set; } DbSet WellComposites { get; set; } DbSet WellSectionTypes { get; set; } DbSet WellOperations { get; set; } DbSet WellTypes { get; set; } DbSet Measures { get; set; } DbSet MeasureCategories { get; set; } DbSet TelemetryDataSpin { get; set; } DbSet DrillParams { get; set; } DatabaseFacade Database { get; } int SaveChanges(); int SaveChanges(bool acceptAllChangesOnSuccess); Task SaveChangesAsync(CancellationToken cancellationToken); DbSet Set(string name) where TEntity : class; DbSet Set() where TEntity : class; IQueryable GetWellsForCompany(int idCompany); IQueryable GetUsersByLogin(string login); Task<(DateTime From, DateTime To)> GetDatesRangeAsync(int idTelemetry, CancellationToken token) where T : class, ITelemetryData; Task> GetDepthToIntervalAsync(int telemetryId, int intervalHoursTimestamp, int workStartTimestamp, double timezoneOffset, CancellationToken token); Task CreatePartitionAsync(string propertyName, int id, CancellationToken token = default) where TEntity : class; } }