changeOfConnections commit

This commit is contained in:
Salikh 2024-05-01 21:18:31 +04:00
parent d4966200cd
commit e8c134f8d3
9 changed files with 13 additions and 200 deletions

View File

@ -28,7 +28,6 @@ namespace HotelDataBaseImplement
public virtual DbSet<ConferenceBookingDinner> ConferenceBookingDinners { set; get; } public virtual DbSet<ConferenceBookingDinner> ConferenceBookingDinners { set; get; }
public virtual DbSet<ConferenceParticipant> ConferenceParticipants { set; get; } public virtual DbSet<ConferenceParticipant> ConferenceParticipants { set; get; }
public virtual DbSet<MealPlanParticipant> MealPlanParticipants { set; get; } public virtual DbSet<MealPlanParticipant> MealPlanParticipants { set; get; }
public virtual DbSet<MealPlanRoom> MealPlanRooms { set; get; }
public virtual DbSet<RoomDinner> RoomDinners { set; get; } public virtual DbSet<RoomDinner> RoomDinners { set; get; }
} }
} }

View File

@ -23,9 +23,6 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.ConferenceParticipants) .ThenInclude(x => x.ConferenceParticipants)
.ThenInclude(x => x.Conference) .ThenInclude(x => x.Conference)
.Include(x => x.Rooms) .Include(x => x.Rooms)
.ThenInclude(x => x.Room)
.ThenInclude(x => x.Dinners)
.ThenInclude(x => x.Dinner)
.Include(x => x.Organiser) .Include(x => x.Organiser)
.Select(x => x.GetViewModel) .Select(x => x.GetViewModel)
.ToList(); .ToList();
@ -48,9 +45,6 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.ConferenceParticipants) .ThenInclude(x => x.ConferenceParticipants)
.ThenInclude(x => x.Conference) .ThenInclude(x => x.Conference)
.Include(x => x.Rooms) .Include(x => x.Rooms)
.ThenInclude(x => x.Room)
.ThenInclude(x => x.Dinners)
.ThenInclude(x => x.Dinner)
.Include(x => x.Organiser) .Include(x => x.Organiser)
.Where(x => x.OrganiserId == model.OrganiserId) .Where(x => x.OrganiserId == model.OrganiserId)
.ToList() .ToList()
@ -64,9 +58,6 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.ConferenceParticipants) .ThenInclude(x => x.ConferenceParticipants)
.ThenInclude(x => x.Conference) .ThenInclude(x => x.Conference)
.Include(x => x.Rooms) .Include(x => x.Rooms)
.ThenInclude(x => x.Room)
.ThenInclude(x => x.Dinners)
.ThenInclude(x => x.Dinner)
.Include(x => x.Organiser) .Include(x => x.Organiser)
.Where(x => x.MealPlanName.Contains(model.MealPlanName)) .Where(x => x.MealPlanName.Contains(model.MealPlanName))
.ToList() .ToList()
@ -89,9 +80,6 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.ConferenceParticipants) .ThenInclude(x => x.ConferenceParticipants)
.ThenInclude(x => x.Conference) .ThenInclude(x => x.Conference)
.Include(x => x.Rooms) .Include(x => x.Rooms)
.ThenInclude(x => x.Room)
.ThenInclude(x => x.Dinners)
.ThenInclude(x => x.Dinner)
.Include(x => x.Organiser) .Include(x => x.Organiser)
.FirstOrDefault(x => (!string.IsNullOrEmpty(model.MealPlanName) && x.MealPlanName == model.MealPlanName) || (model.Id.HasValue && x.Id == model.Id))? .FirstOrDefault(x => (!string.IsNullOrEmpty(model.MealPlanName) && x.MealPlanName == model.MealPlanName) || (model.Id.HasValue && x.Id == model.Id))?
.GetViewModel; .GetViewModel;
@ -115,9 +103,6 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.ConferenceParticipants) .ThenInclude(x => x.ConferenceParticipants)
.ThenInclude(x => x.Conference) .ThenInclude(x => x.Conference)
.Include(x => x.Rooms) .Include(x => x.Rooms)
.ThenInclude(x => x.Room)
.ThenInclude(x => x.Dinners)
.ThenInclude(x => x.Dinner)
.Include(x => x.Organiser) .Include(x => x.Organiser)
.FirstOrDefault(x => x.Id == newMealPlan.Id) .FirstOrDefault(x => x.Id == newMealPlan.Id)
?.GetViewModel; ?.GetViewModel;

View File

@ -23,10 +23,7 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.Dinner) .ThenInclude(x => x.Dinner)
.ThenInclude(x => x.ConferenceBookingDinner) .ThenInclude(x => x.ConferenceBookingDinner)
.ThenInclude(x => x.ConferenceBooking) .ThenInclude(x => x.ConferenceBooking)
.Include(x => x.MealPlanRooms) .Include(x => x.MealPlan)
.ThenInclude(x => x.MealPlan)
.ThenInclude(x => x.Participants)
.ThenInclude(x => x.Participant)
.Include(x => x.Administrator) .Include(x => x.Administrator)
.ToList() .ToList()
.Select(x => x.GetViewModel) .Select(x => x.GetViewModel)
@ -49,10 +46,7 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.Dinner) .ThenInclude(x => x.Dinner)
.ThenInclude(x => x.ConferenceBookingDinner) .ThenInclude(x => x.ConferenceBookingDinner)
.ThenInclude(x => x.ConferenceBooking) .ThenInclude(x => x.ConferenceBooking)
.Include(x => x.MealPlanRooms) .Include(x => x.MealPlan)
.ThenInclude(x => x.MealPlan)
.ThenInclude(x => x.Participants)
.ThenInclude(x => x.Participant)
.Include(x => x.Administrator) .Include(x => x.Administrator)
.Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo && x.AdministratorId == model.AdministratorId) .Where(x => x.DateCreate >= model.DateFrom && x.DateCreate <= model.DateTo && x.AdministratorId == model.AdministratorId)
.Select(x => x.GetViewModel) .Select(x => x.GetViewModel)
@ -65,10 +59,7 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.Dinner) .ThenInclude(x => x.Dinner)
.ThenInclude(x => x.ConferenceBookingDinner) .ThenInclude(x => x.ConferenceBookingDinner)
.ThenInclude(x => x.ConferenceBooking) .ThenInclude(x => x.ConferenceBooking)
.Include(x => x.MealPlanRooms) .Include(x => x.MealPlan)
.ThenInclude(x => x.MealPlan)
.ThenInclude(x => x.Participants)
.ThenInclude(x => x.Participant)
.Include(x => x.Administrator) .Include(x => x.Administrator)
.Where(x => x.AdministratorId == model.AdministratorId) .Where(x => x.AdministratorId == model.AdministratorId)
.ToList() .ToList()
@ -81,10 +72,7 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.Dinner) .ThenInclude(x => x.Dinner)
.ThenInclude(x => x.ConferenceBookingDinner) .ThenInclude(x => x.ConferenceBookingDinner)
.ThenInclude(x => x.ConferenceBooking) .ThenInclude(x => x.ConferenceBooking)
.Include(x => x.MealPlanRooms) .Include(x => x.MealPlan)
.ThenInclude(x => x.MealPlan)
.ThenInclude(x => x.Participants)
.ThenInclude(x => x.Participant)
.Include(x => x.Administrator) .Include(x => x.Administrator)
.Where(x => x.RoomNumber == model.RoomNumber) .Where(x => x.RoomNumber == model.RoomNumber)
.ToList() .ToList()
@ -106,10 +94,7 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.Dinner) .ThenInclude(x => x.Dinner)
.ThenInclude(x => x.ConferenceBookingDinner) .ThenInclude(x => x.ConferenceBookingDinner)
.ThenInclude(x => x.ConferenceBooking) .ThenInclude(x => x.ConferenceBooking)
.Include(x => x.MealPlanRooms) .Include(x => x.MealPlan)
.ThenInclude(x => x.MealPlan)
.ThenInclude(x => x.Participants)
.ThenInclude(x => x.Participant)
.Include(x => x.Administrator) .Include(x => x.Administrator)
.FirstOrDefault(x => (model.RoomNumber != null && x.RoomNumber == model.RoomNumber) || (model.Id.HasValue && x.Id == model.Id)); .FirstOrDefault(x => (model.RoomNumber != null && x.RoomNumber == model.RoomNumber) || (model.Id.HasValue && x.Id == model.Id));
@ -134,10 +119,7 @@ namespace HotelDataBaseImplement.Implements
.ThenInclude(x => x.Dinner) .ThenInclude(x => x.Dinner)
.ThenInclude(x => x.ConferenceBookingDinner) .ThenInclude(x => x.ConferenceBookingDinner)
.ThenInclude(x => x.ConferenceBooking) .ThenInclude(x => x.ConferenceBooking)
.Include(x => x.MealPlanRooms) .Include(x => x.MealPlan)
.ThenInclude(x => x.MealPlan)
.ThenInclude(x => x.Participants)
.ThenInclude(x => x.Participant)
.Include(x => x.Administrator) .Include(x => x.Administrator)
.FirstOrDefault(x => x.Id == newRoom.Id) .FirstOrDefault(x => x.Id == newRoom.Id)
?.GetViewModel; ?.GetViewModel;

View File

@ -12,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace HotelDataBaseImplement.Migrations namespace HotelDataBaseImplement.Migrations
{ {
[DbContext(typeof(HotelDataBase))] [DbContext(typeof(HotelDataBase))]
[Migration("20240501154837_SeqMigration")] [Migration("20240501171235_DeleteManyMigration")]
partial class SeqMigration partial class DeleteManyMigration
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
@ -239,29 +239,6 @@ namespace HotelDataBaseImplement.Migrations
b.ToTable("MealPlanParticipants"); b.ToTable("MealPlanParticipants");
}); });
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanRoom", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("MealPlanId")
.HasColumnType("integer");
b.Property<int>("RoomId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("MealPlanId");
b.HasIndex("RoomId");
b.ToTable("MealPlanRooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b => modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{ {
b.Property<int>("Id") b.Property<int>("Id")
@ -483,25 +460,6 @@ namespace HotelDataBaseImplement.Migrations
b.Navigation("Participant"); b.Navigation("Participant");
}); });
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanRoom", b =>
{
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Rooms")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
.WithMany("MealPlanRooms")
.HasForeignKey("RoomId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MealPlan");
b.Navigation("Room");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b => modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b =>
{ {
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
@ -522,7 +480,7 @@ namespace HotelDataBaseImplement.Migrations
.IsRequired(); .IsRequired();
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan") b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany() .WithMany("Rooms")
.HasForeignKey("MealPlanId"); .HasForeignKey("MealPlanId");
b.Navigation("Administrator"); b.Navigation("Administrator");
@ -603,8 +561,6 @@ namespace HotelDataBaseImplement.Migrations
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{ {
b.Navigation("Dinners"); b.Navigation("Dinners");
b.Navigation("MealPlanRooms");
}); });
#pragma warning restore 612, 618 #pragma warning restore 612, 618
} }

View File

@ -7,7 +7,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace HotelDataBaseImplement.Migrations namespace HotelDataBaseImplement.Migrations
{ {
/// <inheritdoc /> /// <inheritdoc />
public partial class SeqMigration : Migration public partial class DeleteManyMigration : Migration
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
@ -265,32 +265,6 @@ namespace HotelDataBaseImplement.Migrations
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateTable(
name: "MealPlanRooms",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
RoomId = table.Column<int>(type: "integer", nullable: false),
MealPlanId = table.Column<int>(type: "integer", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MealPlanRooms", x => x.Id);
table.ForeignKey(
name: "FK_MealPlanRooms_MealPlans_MealPlanId",
column: x => x.MealPlanId,
principalTable: "MealPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_MealPlanRooms_Rooms_RoomId",
column: x => x.RoomId,
principalTable: "Rooms",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "RoomDinners", name: "RoomDinners",
columns: table => new columns: table => new
@ -367,16 +341,6 @@ namespace HotelDataBaseImplement.Migrations
table: "MealPlanParticipants", table: "MealPlanParticipants",
column: "ParticipantId"); column: "ParticipantId");
migrationBuilder.CreateIndex(
name: "IX_MealPlanRooms_MealPlanId",
table: "MealPlanRooms",
column: "MealPlanId");
migrationBuilder.CreateIndex(
name: "IX_MealPlanRooms_RoomId",
table: "MealPlanRooms",
column: "RoomId");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_MealPlans_OrganiserId", name: "IX_MealPlans_OrganiserId",
table: "MealPlans", table: "MealPlans",
@ -420,9 +384,6 @@ namespace HotelDataBaseImplement.Migrations
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "MealPlanParticipants"); name: "MealPlanParticipants");
migrationBuilder.DropTable(
name: "MealPlanRooms");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "RoomDinners"); name: "RoomDinners");

View File

@ -236,29 +236,6 @@ namespace HotelDataBaseImplement.Migrations
b.ToTable("MealPlanParticipants"); b.ToTable("MealPlanParticipants");
}); });
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanRoom", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("MealPlanId")
.HasColumnType("integer");
b.Property<int>("RoomId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("MealPlanId");
b.HasIndex("RoomId");
b.ToTable("MealPlanRooms");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b => modelBuilder.Entity("HotelDataBaseImplement.Models.Organiser", b =>
{ {
b.Property<int>("Id") b.Property<int>("Id")
@ -480,25 +457,6 @@ namespace HotelDataBaseImplement.Migrations
b.Navigation("Participant"); b.Navigation("Participant");
}); });
modelBuilder.Entity("HotelDataBaseImplement.Models.MealPlanRoom", b =>
{
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany("Rooms")
.HasForeignKey("MealPlanId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("HotelDataBaseImplement.Models.Room", "Room")
.WithMany("MealPlanRooms")
.HasForeignKey("RoomId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MealPlan");
b.Navigation("Room");
});
modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b => modelBuilder.Entity("HotelDataBaseImplement.Models.Participant", b =>
{ {
b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser") b.HasOne("HotelDataBaseImplement.Models.Organiser", "Organiser")
@ -519,7 +477,7 @@ namespace HotelDataBaseImplement.Migrations
.IsRequired(); .IsRequired();
b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan") b.HasOne("HotelDataBaseImplement.Models.MealPlan", "MealPlan")
.WithMany() .WithMany("Rooms")
.HasForeignKey("MealPlanId"); .HasForeignKey("MealPlanId");
b.Navigation("Administrator"); b.Navigation("Administrator");
@ -600,8 +558,6 @@ namespace HotelDataBaseImplement.Migrations
modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b => modelBuilder.Entity("HotelDataBaseImplement.Models.Room", b =>
{ {
b.Navigation("Dinners"); b.Navigation("Dinners");
b.Navigation("MealPlanRooms");
}); });
#pragma warning restore 612, 618 #pragma warning restore 612, 618
} }

View File

@ -29,7 +29,7 @@ namespace HotelDataBaseImplement.Models
public virtual List<MealPlanParticipant> Participants { get; set; } = new(); public virtual List<MealPlanParticipant> Participants { get; set; } = new();
[ForeignKey("MealPlanId")] [ForeignKey("MealPlanId")]
public virtual List<MealPlanRoom> Rooms { get; set; } = new(); public virtual List<Room> Rooms { get; set; } = new();
[NotMapped] [NotMapped]
public Dictionary<int, IParticipantModel> MealPlanParticipants public Dictionary<int, IParticipantModel> MealPlanParticipants

View File

@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HotelDataBaseImplement.Models
{
public class MealPlanRoom
{
public int Id { get; set; }
[Required]
public int RoomId { get; set; }
[Required]
public int MealPlanId { get; set; }
public virtual MealPlan MealPlan { get; set; } = new();
public virtual Room Room { get; set; } = new();
}
}

View File

@ -19,15 +19,12 @@ namespace HotelDataBaseImplement.Models
public int AdministratorId { get; private set; } public int AdministratorId { get; private set; }
public int? MealPlanId { get; private set; } public int? MealPlanId { get; private set; }
public virtual Administrator Administrator { get; set; } public virtual Administrator? Administrator { get; set; }
public virtual MealPlan? MealPlan { get; set; } public virtual MealPlan? MealPlan { get; set; }
[ForeignKey("RoomId")] [ForeignKey("RoomId")]
public virtual List<RoomDinner> Dinners { get; set; } = new(); public virtual List<RoomDinner> Dinners { get; set; } = new();
[ForeignKey("RoomId")]
public virtual List<MealPlanRoom> MealPlanRooms { get; set; }
private Dictionary<int, IDinnerModel> _roomDinners = null; private Dictionary<int, IDinnerModel> _roomDinners = null;
[NotMapped] [NotMapped]
public Dictionary<int, IDinnerModel> RoomDinners public Dictionary<int, IDinnerModel> RoomDinners