/// <inheritdoc/> public override bool Equals(object obj) { if (obj is SkiEquipments) { SkiEquipments other = obj as SkiEquipments; return(this.Difficulty == other.Difficulty && this.Manufacturer == other.Manufacturer && this.Price == other.Price && this.Size == other.Size && this.SkiEquipmentsId == other.SkiEquipmentsId && this.Status == other.Status); } return(false); }
/// <summary> /// Overriding the original OnModelCreating method. Creating instances and setting connections between the tables. /// </summary> /// <param name="modelBuilder">Modelbuilder instance.</param> protected override void OnModelCreating(ModelBuilder modelBuilder) { Customer c0 = new Customer() { CustomerId = 1, FirstName = "Louie", LastName = "Rogers", Password = "******", Birthdate = new DateTime(1988, 02, 17), Difficulty = "advanced", Email = "*****@*****.**", Postcode = 12842, Size = 170 }; Customer c1 = new Customer() { CustomerId = 2, FirstName = "Theo", LastName = "Lee", Password = "******", Birthdate = new DateTime(2001, 04, 06), Difficulty = "beginner", Email = "*****@*****.**", Postcode = 12847, Size = 170 }; Customer c2 = new Customer() { CustomerId = 3, FirstName = "Regina", LastName = "Mills", Password = "******", Birthdate = new DateTime(1995, 02, 22), Difficulty = "advanced", Email = "*****@*****.**", Postcode = 13360, Size = 160 }; Customer c3 = new Customer() { CustomerId = 4, FirstName = "Ken", LastName = "Cobbett", Password = "******", Birthdate = new DateTime(1981, 04, 16), Difficulty = "pro", Email = "*****@*****.**", Postcode = 12842, Size = 190 }; Customer c4 = new Customer() { CustomerId = 5, FirstName = "Camelia", LastName = "Davison", Password = "******", Birthdate = new DateTime(1999, 03, 28), Difficulty = "beginner", Email = "*****@*****.**", Postcode = 12139, Size = 170 }; Customer c5 = new Customer() { CustomerId = 6, FirstName = "Atwater", LastName = "Brown", Password = "******", Birthdate = new DateTime(2000, 03, 26), Difficulty = "pro", Email = "*****@*****.**", Postcode = 13353, Size = 180 }; Customer c6 = new Customer() { CustomerId = 7, FirstName = "Calvin", LastName = "Warner", Password = "******", Birthdate = new DateTime(2000, 07, 11), Difficulty = "advanced", Email = "*****@*****.**", Postcode = 12190, Size = 190 }; Customer c7 = new Customer() { CustomerId = 8, FirstName = "Eva", LastName = "Austin", Password = "******", Birthdate = new DateTime(2001, 09, 06), Difficulty = "pro", Email = "*****@*****.**", Postcode = 12108, Size = 160 }; Customer c8 = new Customer() { CustomerId = 9, FirstName = "Jasmine", LastName = "Taylor", Password = "******", Birthdate = new DateTime(2005, 06, 28), Difficulty = "beginner", Email = "*****@*****.**", Postcode = 12842, Size = 170 }; Order o0 = new Order() { OrderId = 1, FirstDate = new DateTime(2018, 11, 16), LastDate = new DateTime(2018, 11, 19), Payment = "Credit Card", Promotion = 20, CustomerPaid = true }; Order o1 = new Order() { OrderId = 2, FirstDate = new DateTime(2018, 11, 29), LastDate = new DateTime(2018, 12, 04), Payment = "Credit Card", Promotion = null, CustomerPaid = true }; Order o2 = new Order() { OrderId = 3, FirstDate = new DateTime(2018, 12, 04), LastDate = new DateTime(2018, 12, 04), Payment = "PayPal", Promotion = 25, CustomerPaid = true }; Order o3 = new Order() { OrderId = 4, FirstDate = new DateTime(2018, 12, 19), LastDate = new DateTime(2018, 12, 22), Payment = "Credit Card", Promotion = null, CustomerPaid = false }; Order o4 = new Order() { OrderId = 5, FirstDate = new DateTime(2018, 12, 31), LastDate = new DateTime(2018, 01, 06), Payment = "Credit Card", Promotion = 15, CustomerPaid = true }; Order o5 = new Order() { OrderId = 6, FirstDate = new DateTime(2019, 01, 14), LastDate = new DateTime(2019, 01, 18), Payment = "PayPal", Promotion = 20, CustomerPaid = false }; Order o6 = new Order() { OrderId = 7, FirstDate = new DateTime(2019, 02, 13), LastDate = new DateTime(2019, 02, 19), Payment = "Credit Card", Promotion = null, CustomerPaid = true }; Order o7 = new Order() { OrderId = 8, FirstDate = new DateTime(2019, 03, 03), LastDate = new DateTime(2019, 03, 08), Payment = "Credit Card", Promotion = null, CustomerPaid = true }; Order o8 = new Order() { OrderId = 9, FirstDate = new DateTime(2019, 03, 07), LastDate = new DateTime(2019, 03, 10), Payment = "PayPal", Promotion = null, CustomerPaid = true }; Order o9 = new Order() { OrderId = 10, FirstDate = new DateTime(2019, 03, 23), LastDate = new DateTime(2019, 03, 27), Payment = "Credit Card", Promotion = null, CustomerPaid = true }; SkiEquipments s00 = new SkiEquipments() { SkiEquipmentsId = 1, Name = "Supershape", Manufacturer = "Head", Difficulty = "pro", Price = 500, Size = 160, Status = true }; SkiEquipments s02 = new SkiEquipments() { SkiEquipmentsId = 2, Name = "Supershape", Manufacturer = "Head", Difficulty = "pro", Price = 500, Size = 180, Status = true }; SkiEquipments s03 = new SkiEquipments() { SkiEquipmentsId = 3, Name = "Supershape", Manufacturer = "Head", Difficulty = "pro", Price = 500, Size = 190, Status = false }; SkiEquipments s11 = new SkiEquipments() { SkiEquipmentsId = 4, Name = "Redster", Manufacturer = "Atomic", Difficulty = "beginner", Price = 100, Size = 170, Status = false }; SkiEquipments s20 = new SkiEquipments() { SkiEquipmentsId = 5, Name = "React R4", Manufacturer = "Rossignol", Difficulty = "advanced", Price = 250, Size = 160, Status = true }; SkiEquipments s21 = new SkiEquipments() { SkiEquipmentsId = 6, Name = "React R4", Manufacturer = "Rossignol", Difficulty = "advanced", Price = 250, Size = 170, Status = false }; SkiEquipments s23 = new SkiEquipments() { SkiEquipmentsId = 7, Name = "React R4", Manufacturer = "Rossignol", Difficulty = "advanced", Price = 250, Size = 190, Status = false }; o4.CustomerId = c0.CustomerId; o7.CustomerId = c1.CustomerId; o5.CustomerId = c2.CustomerId; o0.CustomerId = c3.CustomerId; o9.CustomerId = c3.CustomerId; o6.CustomerId = c4.CustomerId; o2.CustomerId = c5.CustomerId; o8.CustomerId = c6.CustomerId; o1.CustomerId = c7.CustomerId; o3.CustomerId = c8.CustomerId; s21.OrderId = o4.OrderId; s20.OrderId = o5.OrderId; s03.OrderId = o9.OrderId; s02.OrderId = o2.OrderId; s23.OrderId = o8.OrderId; s00.OrderId = o1.OrderId; s11.OrderId = o3.OrderId; if (modelBuilder == null) { throw new ArgumentNullException(nameof(modelBuilder)); } else { modelBuilder.Entity <Customer>(entity => { entity.HasMany(c => c.Orders) .WithOne(o => o.Customer) .HasForeignKey(c => c.CustomerId) .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity <SkiEquipments>(entity => { entity.HasOne(s => s.Order) .WithMany(b => b.SkiEquipments) .HasForeignKey(o => o.OrderId) .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity <Order>(entity => { entity.HasOne(o => o.Customer) .WithMany(c => c.Orders) .HasForeignKey(o => o.CustomerId); entity.HasMany(o => o.SkiEquipments) .WithOne(s => s.Order) .HasForeignKey(o => o.OrderId); }); modelBuilder.Entity <Customer>().HasData(c0, c1, c2, c3, c4, c5, c6, c7, c8); modelBuilder.Entity <Order>().HasData(o0, o1, o2, o3, o4, o5, o6, o7, o8, o9); modelBuilder.Entity <SkiEquipments>().HasData(s00, s02, s03, s11, s20, s21, s23); } }