// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using TaskTracker.Infrastructure.Data; #nullable disable namespace TaskTracker.Infrastructure.Migrations { [DbContext(typeof(TaskTrackerDbContext))] [Migration("20260226032729_InitialCreate")] partial class InitialCreate { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.3") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("TaskTracker.Core.Entities.AppMapping", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Category") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("FriendlyName") .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("MatchType") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Pattern") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.HasKey("Id"); b.ToTable("AppMappings"); b.HasData( new { Id = 1, Category = "Engineering", FriendlyName = "SolidWorks", MatchType = "ProcessName", Pattern = "SLDWORKS" }, new { Id = 2, Category = "Email", FriendlyName = "Outlook", MatchType = "ProcessName", Pattern = "OUTLOOK" }, new { Id = 3, Category = "General", FriendlyName = "Notepad", MatchType = "ProcessName", Pattern = "notepad" }, new { Id = 4, Category = "LaserCutting", FriendlyName = "PEP System", MatchType = "UrlContains", Pattern = "pep" }, new { Id = 5, Category = "Engineering", FriendlyName = "SolidWorks", MatchType = "TitleContains", Pattern = "solidworks" }); }); modelBuilder.Entity("TaskTracker.Core.Entities.ContextEvent", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("AppName") .IsRequired() .HasMaxLength(200) .HasColumnType("nvarchar(200)"); b.Property("Source") .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("Timestamp") .HasColumnType("datetime2"); b.Property("Url") .HasMaxLength(2000) .HasColumnType("nvarchar(2000)"); b.Property("WindowTitle") .IsRequired() .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); b.Property("WorkTaskId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("Timestamp"); b.HasIndex("WorkTaskId"); b.ToTable("ContextEvents"); }); modelBuilder.Entity("TaskTracker.Core.Entities.TaskNote", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Content") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Type") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("WorkTaskId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("WorkTaskId"); b.ToTable("Notes"); }); modelBuilder.Entity("TaskTracker.Core.Entities.WorkTask", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("Category") .HasMaxLength(100) .HasColumnType("nvarchar(100)"); b.Property("CompletedAt") .HasColumnType("datetime2"); b.Property("CreatedAt") .HasColumnType("datetime2"); b.Property("Description") .HasColumnType("nvarchar(max)"); b.Property("StartedAt") .HasColumnType("datetime2"); b.Property("Status") .IsRequired() .HasMaxLength(50) .HasColumnType("nvarchar(50)"); b.Property("Title") .IsRequired() .HasMaxLength(500) .HasColumnType("nvarchar(500)"); b.HasKey("Id"); b.ToTable("Tasks"); }); modelBuilder.Entity("TaskTracker.Core.Entities.ContextEvent", b => { b.HasOne("TaskTracker.Core.Entities.WorkTask", "WorkTask") .WithMany("ContextEvents") .HasForeignKey("WorkTaskId"); b.Navigation("WorkTask"); }); modelBuilder.Entity("TaskTracker.Core.Entities.TaskNote", b => { b.HasOne("TaskTracker.Core.Entities.WorkTask", "WorkTask") .WithMany("Notes") .HasForeignKey("WorkTaskId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("WorkTask"); }); modelBuilder.Entity("TaskTracker.Core.Entities.WorkTask", b => { b.Navigation("ContextEvents"); b.Navigation("Notes"); }); #pragma warning restore 612, 618 } } }