using AsbCloudDb.Model.WITS; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using System; using System.Threading; using System.Threading.Tasks; namespace AsbCloudDb.Model { public interface IAsbCloudDbContext : IDisposable { DbSet<Cluster> Clusters { get; } DbSet<Company> Companies { get; } DbSet<DailyReport> DailyReports { get; } DbSet<Deposit> Deposits { get; } DbSet<DetectedOperation> DetectedOperations { get; } DbSet<DrillFlowChart> DrillFlowChart { get; } DbSet<DrillingProgramPart> DrillingProgramParts { get; } DbSet<DrillParams> DrillParams { get; } DbSet<FileCategory> FileCategories { get; } DbSet<FileInfo> Files { get; } DbSet<FileMark> FileMarks { get; } DbSet<Measure> Measures { get; } DbSet<MeasureCategory> MeasureCategories { get; } DbSet<Permission> Permissions { get; } DbSet<RelationCompanyWell> RelationCompaniesWells { get; } DbSet<RelationUserDrillingProgramPart> RelationDrillingProgramPartUsers { get; } DbSet<RelationUserRolePermission> RelationUserRolePermissions { get; } DbSet<RelationUserUserRole> RelationUserUserRoles { get; } DbSet<ReportProperty> ReportProperties { get; } DbSet<Telemetry> Telemetries { get; } DbSet<TelemetryDataSaub> TelemetryDataSaub { get; } DbSet<TelemetryDataSaubStat> TelemetryDataSaubStats { get; } DbSet<TelemetryDataSpin> TelemetryDataSpin { get; } DbSet<TelemetryEvent> TelemetryEvents { get; } DbSet<TelemetryMessage> TelemetryMessages { get; } DbSet<TelemetryUser> TelemetryUsers { get; } DbSet<User> Users { get; } DbSet<UserRole> UserRoles { get; } DbSet<Well> Wells { get; } DbSet<WellComposite> WellComposites { get; } DbSet<WellOperation> WellOperations { get; } DbSet<WellOperationCategory> WellOperationCategories { get; } DbSet<WellSectionType> WellSectionTypes { get; } DbSet<WellType> WellTypes { get; } DbSet<Driller> Drillers { get; } DbSet<Schedule> Schedule { get; } DbSet<Record1> Record1 { get; } DbSet<Record7> Record7 { get; } DbSet<Record8> Record8 { get; } DbSet<Record50> Record50 { get; } DbSet<Record60> Record60 { get; } DbSet<Record61> Record61 { get; } DatabaseFacade Database { get; } Task<int> RefreshMaterializedViewAsync(string? mwName = null, CancellationToken token = default); Task<int> RefreshMaterializedViewAsync<TEntity>(CancellationToken token = default) where TEntity : class; int SaveChanges(); int SaveChanges(bool acceptAllChangesOnSuccess); Task<int> SaveChangesAsync(CancellationToken cancellationToken); DbSet<TEntity> Set<TEntity>(string name) where TEntity : class; DbSet<TEntity> Set<TEntity>() where TEntity : class; } }