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