using System;
using System.Data.Entity;
namespace AdvertisingProfitControlData
{
public class AdvertisingProfitControlModel : DbContext
{
private static string _connectionString = string.Empty;
///
/// Initializes and stores the supplied connection string. This allows calls to
/// an overloaded constructor to take no parameters.
///
/// The connection string for the database.
public AdvertisingProfitControlModel(string connectionString) : base(connectionString)
{
_connectionString = connectionString;
}
///
/// Creates the database context using a previously initialized connection string.
///
public AdvertisingProfitControlModel()
: base(ValidateConnectionString())
{
}
///
/// Checks to make sure a connection string has been initialized.
///
///
private static string ValidateConnectionString()
{
if (_connectionString == string.Empty)
{
throw new OperationCanceledException("A connection string must be specified.");
}
return _connectionString;
}
public virtual DbSet ActualSales { get; set; }
public virtual DbSet AdItems { get; set; }
public virtual DbSet AdSpecials { get; set; }
public virtual DbSet CostAnalysis { get; set; }
public virtual DbSet Inventories { get; set; }
public virtual DbSet Invoices { get; set; }
public virtual DbSet Notes { get; set; }
public virtual DbSet Projections { get; set; }
public virtual DbSet Suppliers { get; set; }
public virtual DbSet Taxables { get; set; }
public virtual DbSet Versions { get; set; }
public virtual DbSet WeekEndingDates { get; set; }
public virtual DbSet WeeklySales { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity()
.Property(e => e.Sold)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.SalePrice)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.TotalSales)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Cost)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.ProfitReturn)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.TotalProfitReturn)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Name)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.Description)
.IsUnicode(false);
modelBuilder.Entity()
.HasMany(e => e.ActualSales)
.WithRequired(e => e.AdItem)
.HasForeignKey(e => e.FkAdItemId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Inventories)
.WithRequired(e => e.AdItem)
.HasForeignKey(e => e.FkAdItemId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Projections)
.WithRequired(e => e.AdItem)
.HasForeignKey(e => e.FkAdItemId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.Property(e => e.Name)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.Description)
.IsUnicode(false);
modelBuilder.Entity()
.HasMany(e => e.ActualSales)
.WithOptional(e => e.AdSpecial)
.HasForeignKey(e => e.FkAdSpecialId);
modelBuilder.Entity()
.HasMany(e => e.Inventories)
.WithOptional(e => e.AdSpecial)
.HasForeignKey(e => e.FkAdSpecialId);
modelBuilder.Entity()
.HasMany(e => e.Projections)
.WithOptional(e => e.AdSpecial)
.HasForeignKey(e => e.FkAdSpecialId);
modelBuilder.Entity()
.Property(e => e.SalesPerManHour)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.SalaryPercentage)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.SalaryDollar)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Supplies)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.BeginningInventory)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.Recieved)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.TotalInventory)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.EndingInventory)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.InvoiceNumber)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.InvoiceNetAmountAtCost)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.InvoiceNetAmount)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.InvoiceNote)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.Remark)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.Sold)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.SalePrice)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.TotalSales)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Cost)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.ProfitReturn)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.TotalProfitReturn)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Name)
.IsUnicode(false);
modelBuilder.Entity()
.Property(e => e.Description)
.IsUnicode(false);
modelBuilder.Entity()
.HasMany(e => e.Invoices)
.WithRequired(e => e.Supplier)
.HasForeignKey(e => e.FkSupplierId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.Property(e => e.Sunday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Monday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Tuesday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Wednesday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Thursday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Friday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Saturday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Total)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.VersionNumber)
.IsUnicode(false);
modelBuilder.Entity()
.HasMany(e => e.ActualSales)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.CostAnalysis)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Inventories)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Invoices)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Notes)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Projections)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.Taxables)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.HasMany(e => e.WeeklySales)
.WithRequired(e => e.WeekEndingDate)
.HasForeignKey(e => e.FkDateId)
.WillCascadeOnDelete(false);
modelBuilder.Entity()
.Property(e => e.Sunday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Monday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Tuesday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Wednesday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Thursday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Friday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.Saturday)
.HasPrecision(19, 2);
modelBuilder.Entity()
.Property(e => e.TotalSales)
.HasPrecision(19, 2);
}
}
}