//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TicketManager.Data;
namespace TicketManager.Migrations
{
[DbContext(typeof(AppDbContext))]
partial class AppDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.1");
modelBuilder.Entity("TicketManager.Models.Activity", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("ActivityType")
.HasColumnType("INTEGER");
b.Property("AppUserId")
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnType("TEXT");
b.Property("ProjectId")
.HasColumnType("INTEGER");
b.Property("TaskId")
.HasColumnType("INTEGER");
b.Property("TicketId")
.HasColumnType("INTEGER");
b.Property("UpdateDate")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("AppUserId");
b.HasIndex("ProjectId");
b.HasIndex("TicketId");
b.ToTable("Activities");
});
modelBuilder.Entity("TicketManager.Models.AppUser", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Email")
.HasColumnType("TEXT");
b.Property("FirstName")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(50);
b.Property("LastName")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(50);
b.Property("Phone")
.HasColumnType("TEXT");
b.Property("Picture")
.HasColumnType("TEXT");
b.Property("Presentation")
.HasColumnType("TEXT")
.HasMaxLength(200);
b.HasKey("Id");
b.ToTable("AppUsers");
});
modelBuilder.Entity("TicketManager.Models.Assignment", b =>
{
b.Property("ProjectId")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("TEXT");
b.HasKey("ProjectId", "UserId");
b.HasIndex("UserId");
b.ToTable("Assignments");
});
modelBuilder.Entity("TicketManager.Models.File", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AddedById")
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnType("TEXT");
b.Property("FileName")
.HasColumnType("TEXT");
b.Property("Format")
.HasColumnType("TEXT");
b.Property("Location")
.HasColumnType("TEXT");
b.Property("ProjectId")
.HasColumnType("INTEGER");
b.Property("Size")
.HasColumnType("INTEGER");
b.Property("TicketId")
.HasColumnType("INTEGER");
b.Property("UserId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("AddedById");
b.HasIndex("ProjectId");
b.HasIndex("TicketId");
b.ToTable("Files");
});
modelBuilder.Entity("TicketManager.Models.Note", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnType("TEXT");
b.Property("TicketId")
.HasColumnType("INTEGER");
b.Property("Title")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("TicketId");
b.ToTable("Notes");
});
modelBuilder.Entity("TicketManager.Models.Project", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnType("TEXT")
.HasMaxLength(200);
b.Property("EndingDate")
.HasColumnType("TEXT");
b.Property("ManagerId")
.HasColumnType("TEXT");
b.Property("Status")
.HasColumnType("INTEGER");
b.Property("Title")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(50);
b.HasKey("Id");
b.HasIndex("ManagerId");
b.ToTable("Projects");
});
modelBuilder.Entity("TicketManager.Models.Ticket", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("AppUserId")
.HasColumnType("TEXT");
b.Property("Category")
.HasColumnType("INTEGER");
b.Property("CreationDate")
.HasColumnType("TEXT");
b.Property("CreatorId")
.HasColumnType("TEXT");
b.Property("Description")
.HasColumnType("TEXT")
.HasMaxLength(100);
b.Property("Difficulty")
.HasColumnType("INTEGER");
b.Property("EndingDate")
.HasColumnType("TEXT");
b.Property("Impact")
.HasColumnType("INTEGER");
b.Property("ProjectId")
.HasColumnType("INTEGER");
b.Property("Status")
.HasColumnType("INTEGER");
b.Property("Title")
.IsRequired()
.HasColumnType("TEXT")
.HasMaxLength(100);
b.HasKey("Id");
b.HasIndex("AppUserId");
b.HasIndex("ProjectId");
b.ToTable("Tickets");
});
modelBuilder.Entity("TicketManager.Models.Activity", b =>
{
b.HasOne("TicketManager.Models.AppUser", null)
.WithMany("Activities")
.HasForeignKey("AppUserId");
b.HasOne("TicketManager.Models.Project", null)
.WithMany("Activities")
.HasForeignKey("ProjectId");
b.HasOne("TicketManager.Models.Ticket", null)
.WithMany("Activities")
.HasForeignKey("TicketId");
});
modelBuilder.Entity("TicketManager.Models.Assignment", b =>
{
b.HasOne("TicketManager.Models.Project", "Project")
.WithMany("Assignments")
.HasForeignKey("ProjectId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("TicketManager.Models.AppUser", "User")
.WithMany("Assignments")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("TicketManager.Models.File", b =>
{
b.HasOne("TicketManager.Models.AppUser", "AddedBy")
.WithMany()
.HasForeignKey("AddedById");
b.HasOne("TicketManager.Models.Project", null)
.WithMany("Files")
.HasForeignKey("ProjectId");
b.HasOne("TicketManager.Models.Ticket", null)
.WithMany("Files")
.HasForeignKey("TicketId");
});
modelBuilder.Entity("TicketManager.Models.Note", b =>
{
b.HasOne("TicketManager.Models.Ticket", "Ticket")
.WithMany("Notes")
.HasForeignKey("TicketId");
});
modelBuilder.Entity("TicketManager.Models.Project", b =>
{
b.HasOne("TicketManager.Models.AppUser", "Manager")
.WithMany()
.HasForeignKey("ManagerId");
});
modelBuilder.Entity("TicketManager.Models.Ticket", b =>
{
b.HasOne("TicketManager.Models.AppUser", null)
.WithMany("Tickets")
.HasForeignKey("AppUserId");
b.HasOne("TicketManager.Models.Project", "Project")
.WithMany("Tickets")
.HasForeignKey("ProjectId");
});
#pragma warning restore 612, 618
}
}
}