//
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using ProRestaurant.DBContexts;
namespace ProRestaurant.Migrations
{
[DbContext(typeof(DBContext))]
[Migration("20200703123907_MenuOption FK nullable to Category")]
partial class MenuOptionFKnullabletoCategory
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "2.2.0-rtm-35687")
.HasAnnotation("Relational:MaxIdentifierLength", 128)
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
modelBuilder.Entity("ProRestaurant.Models.Accounts.DriverDetail", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Created");
b.Property("IsDeleted");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("Photo");
b.Property("RegistrationNumber");
b.Property("UserId");
b.HasKey("Id");
b.HasIndex("UserId")
.IsUnique();
b.ToTable("DriverDetails");
});
modelBuilder.Entity("ProRestaurant.Models.Accounts.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Cellphone");
b.Property("Created");
b.Property("EmailAddress");
b.Property("FirstName");
b.Property("IsDeleted");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("Password");
b.Property("Surname");
b.Property("SystemRole");
b.HasKey("Id");
b.ToTable("Users");
});
modelBuilder.Entity("ProRestaurant.Models.Accounts.UserAddress", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("City");
b.Property("ComplexName");
b.Property("Country");
b.Property("Created");
b.Property("GoogleMapUrl");
b.Property("IsComplex");
b.Property("IsDefault");
b.Property("IsDeleted");
b.Property("Latitude");
b.Property("Longitude");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("PostalCode");
b.Property("Province");
b.Property("StreetName");
b.Property("StreetNumber");
b.Property("Suburb");
b.Property("UnitNumber");
b.Property("UserId");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("UserAddresses");
});
modelBuilder.Entity("ProRestaurant.Models.Misc.Locations", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("CategoryStore");
b.Property("ImageStore");
b.HasKey("Id");
b.ToTable("Locations");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuCategory", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Created");
b.Property("Description");
b.Property("IsDeleted");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("RestaurantId");
b.HasKey("Id");
b.HasIndex("RestaurantId");
b.ToTable("MenuCategories");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("CategoryId");
b.Property("Created");
b.Property("Description");
b.Property("Image");
b.Property("IsDeleted");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("Name");
b.Property("OverrideOptions");
b.Property("Price");
b.Property("RestaurantId");
b.HasKey("Id");
b.HasIndex("RestaurantId");
b.ToTable("MenuItems");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuOption", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("CategoryId");
b.Property("Created");
b.Property("Description");
b.Property("IsBasePrice");
b.Property("IsDeleted");
b.Property("MenuItemId");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("OptionLimit");
b.Property("OptionType");
b.Property("Rank");
b.HasKey("Id");
b.HasIndex("CategoryId");
b.ToTable("MenuOptions");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuOptionItem", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Created");
b.Property("Description");
b.Property("IsDeleted");
b.Property("MenuOptionId");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("Price");
b.Property("Rank");
b.HasKey("Id");
b.HasIndex("MenuOptionId");
b.ToTable("MenuOptionItems");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.Restaurant", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Categories");
b.Property("City");
b.Property("Country");
b.Property("Created");
b.Property("DeliveryFee");
b.Property("DeliveryRadius");
b.Property("DeliveryTime");
b.Property("GoogleMapUrl");
b.Property("IsDeleted");
b.Property("Latitude");
b.Property("Logo");
b.Property("Longitude");
b.Property("MethodsOfPayment");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("Name");
b.Property("PostalCode");
b.Property("Province");
b.Property("ShopNumber");
b.Property("ShoppingCentre");
b.Property("StreetName");
b.Property("StreetNumber");
b.Property("Suburb");
b.HasKey("Id");
b.ToTable("Restaurants");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.RestaurantCategory", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Description");
b.Property("Image");
b.HasKey("Id");
b.ToTable("RestaurantCategories");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.RestaurantUser", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Created");
b.Property("IsDeleted");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("RestaurantId");
b.Property("UserId");
b.HasKey("Id");
b.HasIndex("RestaurantId");
b.HasIndex("UserId");
b.ToTable("RestaurantUsers");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.TradingHours", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property("Closed");
b.Property("ClosingTime");
b.Property("Created");
b.Property("Description");
b.Property("IsDeleted");
b.Property("Modified");
b.Property("ModifiedBy");
b.Property("Opened24H");
b.Property("OpeningTime");
b.Property("RestaurantId");
b.HasKey("Id");
b.HasIndex("RestaurantId");
b.ToTable("TradingHours");
});
modelBuilder.Entity("ProRestaurant.Models.Accounts.DriverDetail", b =>
{
b.HasOne("ProRestaurant.Models.Accounts.User", "User")
.WithOne("DriverDetails")
.HasForeignKey("ProRestaurant.Models.Accounts.DriverDetail", "UserId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ProRestaurant.Models.Accounts.UserAddress", b =>
{
b.HasOne("ProRestaurant.Models.Accounts.User", "User")
.WithMany("Addresses")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuCategory", b =>
{
b.HasOne("ProRestaurant.Models.Restaurants.Restaurant", "Restaurant")
.WithMany()
.HasForeignKey("RestaurantId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuItem", b =>
{
b.HasOne("ProRestaurant.Models.Restaurants.Restaurant", "Restaurant")
.WithMany()
.HasForeignKey("RestaurantId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuOption", b =>
{
b.HasOne("ProRestaurant.Models.Restaurants.MenuCategory", "Category")
.WithMany("Options")
.HasForeignKey("CategoryId");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.MenuOptionItem", b =>
{
b.HasOne("ProRestaurant.Models.Restaurants.MenuOption", "MenuOption")
.WithMany("Options")
.HasForeignKey("MenuOptionId");
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.RestaurantUser", b =>
{
b.HasOne("ProRestaurant.Models.Restaurants.Restaurant", "Restaurant")
.WithMany("Users")
.HasForeignKey("RestaurantId")
.OnDelete(DeleteBehavior.Cascade);
b.HasOne("ProRestaurant.Models.Accounts.User", "User")
.WithMany()
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ProRestaurant.Models.Restaurants.TradingHours", b =>
{
b.HasOne("ProRestaurant.Models.Restaurants.Restaurant", "Restaurant")
.WithMany("TradingHours")
.HasForeignKey("RestaurantId")
.OnDelete(DeleteBehavior.Cascade);
});
#pragma warning restore 612, 618
}
}
}