Skip to content

Commit 37ae4ef

Browse files
author
breno.dev
committed
Seeding Service
1 parent 9d4e6e6 commit 37ae4ef

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

SalesWebMvc/Data/SeedingService.cs

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Threading.Tasks;
5+
using SalesWebMvc.Models;
6+
7+
namespace SalesWebMvc.Data
8+
{
9+
public class SeedingService
10+
{
11+
private SalesWebMvcContext _context;
12+
13+
public SeedingService(SalesWebMvcContext context)
14+
{
15+
_context = context;
16+
}
17+
18+
public void Seed()
19+
{
20+
if (_context.Department.Any() ||
21+
_context.Seller.Any() ||
22+
_context.SalesRecord.Any())
23+
{
24+
return; //DB has been seeded
25+
}
26+
27+
Department d1 = new Department(1, "Computers");
28+
Department d2 = new Department(2, "Electronics");
29+
Department d3 = new Department(3, "Fashion");
30+
Department d4 = new Department(4, "Books");
31+
Department d5 = new Department(5, "Games");
32+
33+
34+
Seller s1 = new Seller(1, "Bob Brown", "[email protected]", new DateTime(1998, 4, 21), 1000.0, d1);
35+
Seller s2 = new Seller(2, "Maria Green", "[email protected]", new DateTime(1979, 12, 31), 3500.0, d2);
36+
Seller s3 = new Seller(3, "Alex Grey", "[email protected]", new DateTime(1988, 1, 15), 2200.0, d1);
37+
Seller s4 = new Seller(4, "Martha Red", "[email protected]", new DateTime(1993, 11, 30), 3000.0, d4);
38+
Seller s5 = new Seller(5, "Donald Blue", "[email protected]", new DateTime(2000, 1, 9), 4000.0, d3);
39+
Seller s6 = new Seller(6, "Alex Pink", "[email protected]", new DateTime(1997, 3, 4), 3000.0, d2);
40+
41+
SalesRecord r1 = new SalesRecord(1, new DateTime(2018, 09, 25), 11000.0, SaleStatus.Billed, s1);
42+
SalesRecord r2 = new SalesRecord(2, new DateTime(2018, 09, 4), 7000.0, SaleStatus.Billed, s5);
43+
SalesRecord r3 = new SalesRecord(3, new DateTime(2018, 09, 13), 4000.0, SaleStatus.Canceled, s4);
44+
SalesRecord r4 = new SalesRecord(4, new DateTime(2018, 09, 1), 8000.0, SaleStatus.Billed, s1);
45+
SalesRecord r5 = new SalesRecord(5, new DateTime(2018, 09, 21), 3000.0, SaleStatus.Billed, s3);
46+
SalesRecord r6 = new SalesRecord(6, new DateTime(2018, 09, 15), 2000.0, SaleStatus.Billed, s1);
47+
SalesRecord r7 = new SalesRecord(7, new DateTime(2018, 09, 28), 13000.0, SaleStatus.Billed, s2);
48+
SalesRecord r8 = new SalesRecord(8, new DateTime(2018, 09, 11), 4000.0, SaleStatus.Billed, s4);
49+
SalesRecord r9 = new SalesRecord(9, new DateTime(2018, 09, 14), 11000.0, SaleStatus.Pending, s6);
50+
SalesRecord r10 = new SalesRecord(10, new DateTime(2018, 09, 7), 9000.0, SaleStatus.Billed, s6);
51+
SalesRecord r11 = new SalesRecord(11, new DateTime(2018, 09, 13), 6000.0, SaleStatus.Billed, s2);
52+
SalesRecord r12 = new SalesRecord(12, new DateTime(2018, 09, 25), 7000.0, SaleStatus.Pending, s3);
53+
SalesRecord r13 = new SalesRecord(13, new DateTime(2018, 09, 29), 10000.0, SaleStatus.Billed, s4);
54+
SalesRecord r14 = new SalesRecord(14, new DateTime(2018, 09, 4), 3000.0, SaleStatus.Billed, s5);
55+
SalesRecord r15 = new SalesRecord(15, new DateTime(2018, 09, 12), 4000.0, SaleStatus.Billed, s1);
56+
SalesRecord r16 = new SalesRecord(16, new DateTime(2018, 10, 5), 2000.0, SaleStatus.Billed, s4);
57+
SalesRecord r17 = new SalesRecord(17, new DateTime(2018, 10, 1), 12000.0, SaleStatus.Billed, s1);
58+
SalesRecord r18 = new SalesRecord(18, new DateTime(2018, 10, 24), 6000.0, SaleStatus.Billed, s3);
59+
SalesRecord r19 = new SalesRecord(19, new DateTime(2018, 10, 22), 8000.0, SaleStatus.Billed, s5);
60+
SalesRecord r20 = new SalesRecord(20, new DateTime(2018, 10, 15), 8000.0, SaleStatus.Billed, s6);
61+
SalesRecord r21 = new SalesRecord(21, new DateTime(2018, 10, 17), 9000.0, SaleStatus.Billed, s2);
62+
SalesRecord r22 = new SalesRecord(22, new DateTime(2018, 10, 24), 4000.0, SaleStatus.Billed, s4);
63+
SalesRecord r23 = new SalesRecord(23, new DateTime(2018, 10, 19), 11000.0, SaleStatus.Canceled, s2);
64+
SalesRecord r24 = new SalesRecord(24, new DateTime(2018, 10, 12), 8000.0, SaleStatus.Billed, s5);
65+
SalesRecord r25 = new SalesRecord(25, new DateTime(2018, 10, 31), 7000.0, SaleStatus.Billed, s3);
66+
SalesRecord r26 = new SalesRecord(26, new DateTime(2018, 10, 6), 5000.0, SaleStatus.Billed, s4);
67+
SalesRecord r27 = new SalesRecord(27, new DateTime(2018, 10, 13), 9000.0, SaleStatus.Pending, s1);
68+
SalesRecord r28 = new SalesRecord(28, new DateTime(2018, 10, 7), 4000.0, SaleStatus.Billed, s3);
69+
SalesRecord r29 = new SalesRecord(29, new DateTime(2018, 10, 23), 12000.0, SaleStatus.Billed, s5);
70+
SalesRecord r30 = new SalesRecord(30, new DateTime(2018, 10, 12), 5000.0, SaleStatus.Billed, s2);
71+
72+
73+
}
74+
}
75+
}

SalesWebMvc/Startup.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
using Microsoft.Extensions.DependencyInjection;
1212
using Microsoft.EntityFrameworkCore;
1313
using SalesWebMvc.Models;
14+
using SalesWebMvc.Data;
1415

1516
namespace SalesWebMvc
1617
{
@@ -39,6 +40,8 @@ public void ConfigureServices(IServiceCollection services)
3940
services.AddDbContext<SalesWebMvcContext>(options =>
4041
options.UseMySql(Configuration.GetConnectionString("SalesWebMvcContext"), builder =>
4142
builder.MigrationsAssembly("SalesWebMvc")));
43+
44+
services.AddScoped<SeedingService>();
4245
}
4346

4447
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

0 commit comments

Comments
 (0)