using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Threading; using System.Threading.Tasks; namespace AsbCloudDb.Model { public interface IAsbCloudDbContext { DbSet<Cluster> Clusters { get; set; } DbSet<Customer> Customers { get; set; } DbSet<DataSaubBase> DataSaubBases { get; set; } DbSet<Deposit> Deposits { get; set; } DbSet<Event> Events { get; set; } DbSet<Message> Messages { get; set; } DbSet<Telemetry> Telemetries { get; set; } DbSet<TelemetryUser> TelemetryUsers { get; set; } DbSet<User> Users { get; set; } DbSet<Well> Wells { get; set; } DbSet<UserRole> UserRoles { get; set; } DbSet<Report> Reports { get; set; } DbSet<Operation> Operations { get; set; } DbSet<DrillingAnalysis> DrillingAnalysis { get; set; } int SaveChanges(); int SaveChanges(bool acceptAllChangesOnSuccess); Task<int> SaveChangesAsync(CancellationToken cancellationToken); IQueryable<Well> GetWellsByCustomer(int idCustomer); IQueryable<User> GetUsersByLogin(string login); (DateTime From, DateTime To) GetDatesRange<T>(int idTelemetry) where T : class, IIdTelemetryDate; IEnumerable<(double?, double?, DateTime)> GetDepthToInterval(int telemetryId, int intervalHoursTimestamp, int workStartTimestamp, double timezoneOffset); Task<int> CreatePartitionAsync<TEntity>(string propertyName, int id, CancellationToken token = default) where TEntity : class; } }