Code-complete v2 vehicle API

This commit is contained in:
2020-07-26 21:52:36 -04:00
parent 48dc190027
commit f2ca3419b0
28 changed files with 1292 additions and 1001 deletions

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace PartSource.Data.Dtos
{
public class EngineDto
{
public int EngineConfigId { get; set; }
public string Description { get; set; }
public string Make { get; set; }
public int MakeId { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace PartSource.Data.Dtos
{
public class SubmodelDto
{
public int Id { get; set; }
public string Name { get; set; }
public string Make { get; set; }
public int MakeId { get; set; }
}
}

View File

@@ -5,14 +5,18 @@ using System.Text;
namespace PartSource.Data.Models
{
public class BaseVehicle
{
public int BaseVehicleId { get; set; }
public class BaseVehicle
{
public int BaseVehicleId { get; set; }
public int Year { get; set; }
public string Make { get; set; }
public int MakeId { get; set; }
public int MakeId { get; set; }
public int ModelId { get; set; }
}
public string Model { get; set; }
public int ModelId { get; set; }
public int Year { get; set; }
}
}

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Security.Cryptography;
using System.Text;
namespace PartSource.Data.Models
@@ -14,5 +15,13 @@ namespace PartSource.Data.Models
public int BaseVehicleId { get; set; }
public int SubmodelId { get; set; }
public string Make { get; set; }
public int MakeId { get; set; }
public string Model { get; set; }
public int ModelId { get; set; }
}
}

View File

@@ -10,9 +10,9 @@ namespace PartSource.Data.Models
public string LineCode { get; set; }
public int? BaseVehicleId { get; set; }
public int BaseVehicleId { get; set; }
public int? EngineConfigId { get; set; }
public int EngineConfigId { get; set; }
public string Position { get; set; }
}

View File

@@ -7,20 +7,20 @@ using System.Text;
namespace PartSource.Data.Models
{
[Table("Submodel", Schema = "Vehicle")]
public class Submodel
{
public int SubmodelId { get; set; }
public string Name { get; set; }
[JsonIgnore]
public int Year { get; set; }
[JsonIgnore]
public string Make { get; set; }
public int MakeId { get; set; }
[JsonIgnore]
public string Model { get; set; }
public int ModelId { get; set; }
}
}

View File

@@ -6,32 +6,29 @@ using System.Text;
namespace PartSource.Data.Models
{
public class VehicleData
public class Vehicle
{
public int? MakeId { get; set; }
public int MakeId { get; set; }
public string MakeName { get; set; }
public int? ModelId { get; set; }
public int ModelId { get; set; }
public string ModelName { get; set; }
public int? EngineConfigId { get; set; }
public int EngineConfigId { get; set; }
public string EngineDescription { get; set; }
public int? BaseVehicleId { get; set; }
public int BaseVehicleId { get; set; }
public int? Year { get; set; }
public int Year { get; set; }
public int? SubmodelId { get; set; }
public int SubmodelId { get; set; }
public string SubmodelName { get; set; }
[Key]
public int VehicleToEngineConfigId { get; set; }
[NotMapped]
public string Position { get; set; }
}
}

View File

@@ -8,7 +8,7 @@ namespace PartSource.Data.Models
public class VehicleMake
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
public int MakeId { get; set; }
public string Name { get; set; }
}

View File

@@ -9,11 +9,14 @@ namespace PartSource.Data.Models
public class VehicleModel
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int Id { get; set; }
public int ModelId { get; set; }
public int Year { get; set; }
public string Name { get; set; }
public int VehicleMakeId { get; set; }
public string Make { get; set; }
public int MakeId { get; set; }
}
}

View File

@@ -33,12 +33,7 @@ namespace PartSource.Data
public DbSet<Part> Parts { get; set; }
public DbSet<VehicleMake> VehicleMakes { get; set; }
public DbSet<VehicleModel> VehicleModels { get; set; }
public DbSet<VehicleData> VehicleData { get; set; }
public DbSet<Vehicle> Vehicles { get; set; }
public DbSet<PartsAvailability> PartAvailabilities { get; set; }
@@ -48,6 +43,10 @@ namespace PartSource.Data
public DbQuery<Submodel> Submodels { get; set; }
public DbQuery<VehicleMake> VehicleMakes { get; set; }
public DbQuery<VehicleModel> VehicleModels { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
@@ -55,6 +54,8 @@ namespace PartSource.Data
modelBuilder.Query<BaseVehicle>().ToView(nameof(BaseVehicle));
modelBuilder.Query<Engine>().ToView(nameof(Engine));
modelBuilder.Query<Submodel>().ToView(nameof(Submodel));
modelBuilder.Query<VehicleMake>().ToView(nameof(VehicleMake));
modelBuilder.Query<VehicleModel>().ToView(nameof(VehicleModel));
modelBuilder.Entity<PartsAvailability>().HasKey(p => new { p.Store, p.SKU });
modelBuilder.Entity<DcfMapping>().HasKey(d => new { d.LineCode, d.WhiCode });
@@ -70,10 +71,9 @@ namespace PartSource.Data
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=PartSource;Trusted_Connection=True;");
optionsBuilder.UseSqlServer("Server=localhost;Database=ps-whi-stage;Trusted_Connection=True;");
}
}
}