Add VehiclePreviousLog
This commit is contained in:
Binary file not shown.
@@ -0,0 +1,24 @@
|
||||
// <auto-generated />
|
||||
namespace MileageTraker.Web.Migrations
|
||||
{
|
||||
using System.Data.Entity.Migrations;
|
||||
using System.Data.Entity.Migrations.Infrastructure;
|
||||
|
||||
public sealed partial class AddVehiclePreviousLog : IMigrationMetadata
|
||||
{
|
||||
string IMigrationMetadata.Id
|
||||
{
|
||||
get { return "201212042021486_AddVehiclePreviousLog"; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Source
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
string IMigrationMetadata.Target
|
||||
{
|
||||
get { return "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"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
namespace MileageTraker.Web.Migrations
|
||||
{
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class AddVehiclePreviousLog : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
{
|
||||
AddColumn("Log", "VehiclePreviousLogId", c => c.Int());
|
||||
AddForeignKey("Log", "VehiclePreviousLogId", "Log", "LogId");
|
||||
CreateIndex("Log", "VehiclePreviousLogId");
|
||||
var populateSql =
|
||||
@"WITH summary AS (
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (PARTITION BY l.LogId ORDER BY l.LogId ASC, pl.EndOdometer DESC, pl.Created DESC) AS rk,
|
||||
l.LogId, pl.LogId as PreviousLogId
|
||||
FROM
|
||||
[Log] as l,
|
||||
[Log] as pl
|
||||
WHERE
|
||||
pl.VehicleId = l.VehicleId
|
||||
AND ((pl.[Date] <= l.[Date]
|
||||
AND pl.EndOdometer < l.EndOdometer)
|
||||
OR (
|
||||
pl.EndOdometer < l.EndOdometer
|
||||
AND pl.Created < l.Created
|
||||
))
|
||||
)
|
||||
UPDATE [Log]
|
||||
SET [Log].VehiclePreviousLogId = summary.PreviousLogId
|
||||
FROM summary
|
||||
WHERE summary.rk = 1
|
||||
AND [Log].LogId = summary.LogId
|
||||
";
|
||||
Sql(populateSql);
|
||||
}
|
||||
|
||||
public override void Down()
|
||||
{
|
||||
DropIndex("Log", new[] { "VehiclePreviousLogId" });
|
||||
DropForeignKey("Log", "VehiclePreviousLogId", "Log");
|
||||
DropColumn("Log", "VehiclePreviousLogId");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -70,6 +70,12 @@ namespace MileageTraker.Web.Models
|
||||
[HiddenInput]
|
||||
public string UserAgent { get; set; }
|
||||
|
||||
[HiddenInput]
|
||||
public int? VehiclePreviousLogId { get; set; }
|
||||
|
||||
[HiddenInput]
|
||||
public virtual Log VehiclePreviousLog { get; set; }
|
||||
|
||||
public Log()
|
||||
{
|
||||
LogType = new MileageLogTypeWrapper();
|
||||
|
||||
@@ -12,6 +12,10 @@ namespace MileageTraker.Web.Models
|
||||
protected override void OnModelCreating(DbModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
|
||||
modelBuilder.Entity<Log>()
|
||||
.HasOptional(l => l.VehiclePreviousLog)
|
||||
.WithMany()
|
||||
.HasForeignKey(l => l.VehiclePreviousLogId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,6 +87,10 @@
|
||||
<Compile Include="Migrations\201204181847082_InitialMigration.Designer.cs">
|
||||
<DependentUpon>201204181847082_InitialMigration.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\201212042021486_AddVehiclePreviousLog.cs" />
|
||||
<Compile Include="Migrations\201212042021486_AddVehiclePreviousLog.Designer.cs">
|
||||
<DependentUpon>201212042021486_AddVehiclePreviousLog.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Migrations\Configuration.cs" />
|
||||
<Compile Include="Utility\ActionLogAttribute.cs" />
|
||||
<Compile Include="Utility\HttpParamActionAttribute.cs" />
|
||||
|
||||
Reference in New Issue
Block a user