using AsbCloudDb.Model.GTR; using AsbCloudDb.Model.Subsystems; using AsbCloudDb.Model.WITS; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.Infrastructure; using System; using System.Threading; using System.Threading.Tasks; using AsbCloudDb.Model.Manuals; using AsbCloudDb.Model.ProcessMaps; namespace AsbCloudDb.Model { public interface IAsbCloudDbContext : IDisposable { DbSet<Cluster> Clusters { get; } DbSet<Company> Companies { get; } DbSet<CompanyType> CompaniesTypes { get; } DbSet<DailyReport.DailyReport> DailyReports { get; } DbSet<Deposit> Deposits { get; } DbSet<DetectedOperation> DetectedOperations { get; } DbSet<PlannedTrajectory> PlannedTrajectories { get; } DbSet<ProcessMapWellDrilling> ProcessMapWellDrillings { get; } DbSet<ProcessMapWellReam> ProcessMapWellReams { get; } DbSet<DrillingProgramPart> DrillingProgramParts { 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<RelationUserRoleUserRole> RelationUserRoleUserRoles { get; } DbSet<RelationContactWell> RelationContactsWells { get; } DbSet<ReportProperty> ReportProperties { get; } DbSet<Subsystem> Subsystems { get; } DbSet<SubsystemOperationTime> SubsystemOperationTimes { 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<WitsItemFloat> WitsItemFloat { get; } DbSet<WitsItemInt> WitsItemInt { get; } DbSet<WitsItemString> WitsItemString { get; } DbSet<Driller> Drillers { get; } DbSet<Schedule> Schedule { get; } DbSet<OperationValue> OperationValues { get; } DbSet<WellFinalDocument> WellFinalDocuments { get; } DbSet<LimitingParameter> LimitingParameter { get; } DbSet<TelemetryWirelineRunOut> TelemetryWirelineRunOut { get; } DbSet<Faq> Faqs { 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; } DbSet<HelpPage> HelpPages { get; } DbSet<Notification> Notifications { get; } DbSet<NotificationCategory> NotificationCategories { get; } DbSet<Manual> Manuals { get; } DbSet<ManualDirectory> ManualDirectories { get; } DbSet<Contact> Contacts { get; } DbSet<DrillTest> DrillTests { get; } DatabaseFacade Database { get; } Task<int> RefreshMaterializedViewAsync(string mwName, CancellationToken token); Task<int> RefreshMaterializedViewAsync<TEntity>(CancellationToken token) where TEntity : class; int SaveChanges(); int SaveChanges(bool acceptAllChangesOnSuccess); Task<int> SaveChangesAsync(CancellationToken cancellationToken); DbSet<TEntity> Set<TEntity>() where TEntity : class; EntityEntry<TEntity> Entry<TEntity>(TEntity entity) where TEntity : class; } }