diff --git a/TaskTrackerRestAPI/TaskTrackerDatabaseImplement/TasktrackerContext.cs b/TaskTrackerRestAPI/TaskTrackerDatabaseImplement/TasktrackerContext.cs deleted file mode 100644 index cf86c90..0000000 --- a/TaskTrackerRestAPI/TaskTrackerDatabaseImplement/TasktrackerContext.cs +++ /dev/null @@ -1,196 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore; - -namespace TaskTrackerDatabaseImplement; - -public partial class TasktrackerContext : DbContext -{ - public TasktrackerContext() - { - } - - public TasktrackerContext(DbContextOptions options) - : base(options) - { - } - - public virtual DbSet Companies { get; set; } - - public virtual DbSet Employees { get; set; } - - public virtual DbSet Projects { get; set; } - - public virtual DbSet Tasks { get; set; } - - public virtual DbSet TaskAssigments { get; set; } - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) -#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263. - => optionsBuilder.UseNpgsql("Host=192.168.56.101;Port=5432;Database=tasktracker;Username=postgres;Password=******"); - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity(entity => - { - entity.HasKey(e => e.Id).HasName("company_pkey"); - - entity.ToTable("company", tb => tb.HasComment("Сущность \"Компания\"")); - - entity.Property(e => e.Id) - .HasComment("Идентификатор сущности \"Компания\"") - .UseIdentityAlwaysColumn() - .HasColumnName("id"); - entity.Property(e => e.Login) - .HasColumnType("character varying") - .HasColumnName("login"); - entity.Property(e => e.Name) - .HasMaxLength(50) - .HasDefaultValueSql("'Моя компания'::character varying") - .HasComment("Название компании") - .HasColumnName("name"); - entity.Property(e => e.Password) - .HasColumnType("character varying") - .HasColumnName("password"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => e.Id).HasName("employee_pkey"); - - entity.ToTable("employee", tb => tb.HasComment("Сущность \"Сотрудник\"")); - - entity.Property(e => e.Id) - .HasComment("Идентификатор сущности \"Сотрудник\"") - .UseIdentityAlwaysColumn() - .HasColumnName("id"); - entity.Property(e => e.CompanyId) - .HasComment("Ссылка на идентификатор компании в которой работает сотрудник") - .HasColumnName("company_id"); - entity.Property(e => e.Email) - .HasMaxLength(50) - .HasDefaultValueSql("'email сотрудника'::character varying") - .HasComment("E-mail сотрудника") - .HasColumnName("email"); - entity.Property(e => e.JobTitle) - .HasMaxLength(50) - .HasDefaultValueSql("'Должность'::character varying") - .HasComment("Должность сотрудника") - .HasColumnName("job_title"); - entity.Property(e => e.Name) - .HasMaxLength(50) - .HasDefaultValueSql("'Сотрудник'::character varying") - .HasComment("ФИО сотрудника") - .HasColumnName("name"); - - entity.HasOne(d => d.Company).WithMany(p => p.Employees) - .HasForeignKey(d => d.CompanyId) - .OnDelete(DeleteBehavior.SetNull) - .HasConstraintName("employee_company_id_fkey"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => e.Id).HasName("project_pkey"); - - entity.ToTable("project", tb => tb.HasComment("Сущность \"Проект\"")); - - entity.Property(e => e.Id) - .HasComment("Идентификатор сущности \"Проект\"") - .UseIdentityAlwaysColumn() - .HasColumnName("id"); - entity.Property(e => e.CompanyId) - .HasComment("Ссылка на компанию, делающая проект") - .HasColumnName("company_id"); - entity.Property(e => e.Name) - .HasMaxLength(50) - .HasDefaultValueSql("'Проект'::character varying") - .HasComment("Название проекта") - .HasColumnName("name"); - entity.Property(e => e.State) - .HasMaxLength(50) - .HasDefaultValueSql("'Создан'::character varying") - .HasComment("Статус проекта") - .HasColumnName("state"); - - entity.HasOne(d => d.Company).WithMany(p => p.Projects) - .HasForeignKey(d => d.CompanyId) - .HasConstraintName("project_company_id_fkey"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => e.Id).HasName("task_pkey"); - - entity.ToTable("task", tb => tb.HasComment("Сущность \"Задача\"")); - - entity.Property(e => e.Id) - .HasComment("Идентификатор сущности \"Задача\"") - .UseIdentityAlwaysColumn() - .HasColumnName("id"); - entity.Property(e => e.Deadline) - .HasDefaultValueSql("(CURRENT_DATE + '7 days'::interval)") - .HasComment("Дедлайн") - .HasColumnType("timestamp without time zone") - .HasColumnName("deadline"); - entity.Property(e => e.EndDate) - .HasComment("Дата выполнения задачи") - .HasColumnType("timestamp without time zone") - .HasColumnName("end_date"); - entity.Property(e => e.Name) - .HasMaxLength(50) - .HasDefaultValueSql("'Задача'::character varying") - .HasComment("Название задачи") - .HasColumnName("name"); - entity.Property(e => e.ProjectId) - .HasComment("Ссылка на проект задачи") - .HasColumnName("project_id"); - entity.Property(e => e.StartDate) - .HasDefaultValueSql("CURRENT_DATE") - .HasComment("Дата создания задачи") - .HasColumnType("timestamp without time zone") - .HasColumnName("start_date"); - entity.Property(e => e.State) - .HasMaxLength(50) - .HasDefaultValueSql("'Задача созадна'::character varying") - .HasComment("Статус задачи") - .HasColumnName("state"); - - entity.HasOne(d => d.Project).WithMany(p => p.Tasks) - .HasForeignKey(d => d.ProjectId) - .HasConstraintName("task_project_id_fkey"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.EmployeeId, e.TaskId }).HasName("pk_employee_task"); - - entity.ToTable("task_assigment", tb => tb.HasComment("Сущность \"Назначение на задачу\"")); - - entity.Property(e => e.EmployeeId) - .HasComment("Ссылка на сотрудника") - .HasColumnName("employee_id"); - entity.Property(e => e.TaskId) - .HasComment("Ссылка на задачу") - .HasColumnName("task_id"); - entity.Property(e => e.Role) - .HasMaxLength(50) - .HasDefaultValueSql("'Роль'::character varying") - .HasComment("Роль в задаче") - .HasColumnName("role"); - - entity.HasOne(d => d.Employee).WithMany(p => p.TaskAssigments) - .HasForeignKey(d => d.EmployeeId).IsRequired() - .HasConstraintName("employee_task_employee_id_fkey"); - - entity.HasOne(d => d.Task).WithMany(p => p.TaskAssigments) - .HasForeignKey(d => d.TaskId).IsRequired() - .HasConstraintName("employee_task_task_id_fkey"); - }); - modelBuilder.HasSequence("company_id_seq"); - - OnModelCreatingPartial(modelBuilder); - } - - partial void OnModelCreatingPartial(ModelBuilder modelBuilder); -}