From 306381b3c60258dff2277d91640f5375e0b5a850 Mon Sep 17 00:00:00 2001 From: James Kolpack Date: Wed, 7 Oct 2015 23:28:58 -0400 Subject: [PATCH] Add vehicle service model and migration --- Web/Context/MileageTrakerContext.cs | 1 + ...201510070326593_VehicleService.Designer.cs | 29 ++++ .../201510070326593_VehicleService.cs | 35 +++++ .../201510070326593_VehicleService.resx | 126 ++++++++++++++++++ Web/Models/VehicleService.cs | 33 +++++ 5 files changed, 224 insertions(+) create mode 100644 Web/Migrations/201510070326593_VehicleService.Designer.cs create mode 100644 Web/Migrations/201510070326593_VehicleService.cs create mode 100644 Web/Migrations/201510070326593_VehicleService.resx create mode 100644 Web/Models/VehicleService.cs diff --git a/Web/Context/MileageTrakerContext.cs b/Web/Context/MileageTrakerContext.cs index ff06a5b..ff0b14b 100644 --- a/Web/Context/MileageTrakerContext.cs +++ b/Web/Context/MileageTrakerContext.cs @@ -13,6 +13,7 @@ namespace MileageTraker.Web.Context public DbSet Roles { get; set; } public DbSet PurposeTypes { get; set; } public DbSet FuelLogs { get; set; } + public DbSet VehicleServices { get; set; } /* * WebSecurity.Register("Demo", "123456", "demo@demo.com", true, "Demo", "Demo"); diff --git a/Web/Migrations/201510070326593_VehicleService.Designer.cs b/Web/Migrations/201510070326593_VehicleService.Designer.cs new file mode 100644 index 0000000..efe8185 --- /dev/null +++ b/Web/Migrations/201510070326593_VehicleService.Designer.cs @@ -0,0 +1,29 @@ +// +namespace MileageTraker.Web.Migrations +{ + using System.CodeDom.Compiler; + using System.Data.Entity.Migrations; + using System.Data.Entity.Migrations.Infrastructure; + using System.Resources; + + [GeneratedCode("EntityFramework.Migrations", "6.1.3-40302")] + public sealed partial class VehicleService : IMigrationMetadata + { + private readonly ResourceManager Resources = new ResourceManager(typeof(VehicleService)); + + string IMigrationMetadata.Id + { + get { return "201510070326593_VehicleService"; } + } + + string IMigrationMetadata.Source + { + get { return null; } + } + + string IMigrationMetadata.Target + { + get { return Resources.GetString("Target"); } + } + } +} diff --git a/Web/Migrations/201510070326593_VehicleService.cs b/Web/Migrations/201510070326593_VehicleService.cs new file mode 100644 index 0000000..b62f9ae --- /dev/null +++ b/Web/Migrations/201510070326593_VehicleService.cs @@ -0,0 +1,35 @@ +namespace MileageTraker.Web.Migrations +{ + using System; + using System.Data.Entity.Migrations; + + public partial class VehicleService : DbMigration + { + public override void Up() + { + CreateTable( + "dbo.VehicleService", + c => new + { + VehicleServiceId = c.Int(nullable: false, identity: true), + InvoiceDate = c.DateTime(nullable: false), + ServiceCenterName = c.String(nullable: false, maxLength: 64), + InvoiceNumber = c.String(nullable: false, maxLength: 32), + Price = c.Decimal(nullable: false, precision: 18, scale: 2), + Description = c.String(maxLength: 64), + Vehicle_VehicleId = c.String(nullable: false, maxLength: 6), + }) + .PrimaryKey(t => t.VehicleServiceId) + .ForeignKey("dbo.Vehicle", t => t.Vehicle_VehicleId, cascadeDelete: true) + .Index(t => t.Vehicle_VehicleId); + + } + + public override void Down() + { + DropForeignKey("dbo.VehicleService", "Vehicle_VehicleId", "dbo.Vehicle"); + DropIndex("dbo.VehicleService", new[] { "Vehicle_VehicleId" }); + DropTable("dbo.VehicleService"); + } + } +} diff --git a/Web/Migrations/201510070326593_VehicleService.resx b/Web/Migrations/201510070326593_VehicleService.resx new file mode 100644 index 0000000..b525db1 --- /dev/null +++ b/Web/Migrations/201510070326593_VehicleService.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + + + dbo + + \ No newline at end of file diff --git a/Web/Models/VehicleService.cs b/Web/Models/VehicleService.cs new file mode 100644 index 0000000..f185737 --- /dev/null +++ b/Web/Models/VehicleService.cs @@ -0,0 +1,33 @@ +using System; +using System.ComponentModel.DataAnnotations; + +namespace MileageTraker.Web.Models +{ + public class VehicleService + { + [Key] + public int VehicleServiceId { get; set; } + + [Required] + public virtual Vehicle Vehicle { get; set; } + + [Required] + [DataType(DataType.Date)] + [DisplayFormatAttribute(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")] + public DateTime InvoiceDate { get; set; } + + [Required] + [StringLength(64, MinimumLength = 3, ErrorMessage = "Minimum 3 characters")] + public string ServiceCenterName { get; set; } + + [Required] + [StringLength(32)] + public string InvoiceNumber { get; set; } + + [Required] + public decimal Price { get; set; } + + [StringLength(64, MinimumLength = 3, ErrorMessage = "Minimum 3 characters")] + public string Description { get; set; } + } +} \ No newline at end of file