43 lines
1.3 KiB
C#

namespace Microsoft.eShopOnContainers.Services.Ordering.API.Infrastructure
{
using AspNetCore.Builder;
using Microsoft.EntityFrameworkCore;
using Microsoft.eShopOnContainers.Services.Ordering.Domain;
using Ordering.Infrastructure;
using System.Linq;
using System.Threading.Tasks;
public class OrderingContextSeed
{
public static async Task SeedAsync(IApplicationBuilder applicationBuilder)
{
var context = (OrderingContext)applicationBuilder
.ApplicationServices.GetService(typeof(OrderingContext));
using (context)
{
context.Database.Migrate();
if (!context.CardTypes.Any())
{
context.CardTypes.Add(CardType.Amex);
context.CardTypes.Add(CardType.Visa);
context.CardTypes.Add(CardType.MasterCard);
await context.SaveChangesAsync();
}
if (!context.OrderStatus.Any())
{
context.OrderStatus.Add(OrderStatus.Canceled);
context.OrderStatus.Add(OrderStatus.InProcess);
context.OrderStatus.Add(OrderStatus.Shipped);
}
await context.SaveChangesAsync();
}
}
}
}