Files

340 lines
12 KiB
C#

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