Advertisement
Guest User

Configuration

a guest
Mar 16th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.90 KB | None | 0 0
  1. namespace Transportation_Integration_Project.Migrations
  2. {
  3. using Microsoft.AspNet.Identity;
  4. using Microsoft.AspNet.Identity.EntityFramework;
  5. using Models;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Data.Entity;
  9. using System.Data.Entity.Migrations;
  10. using System.Data.Entity.Validation;
  11. using System.Linq;
  12.  
  13. internal sealed class Configuration : DbMigrationsConfiguration<Transportation_Integration_Project.Models.ApplicationDbContext>
  14. {
  15. public Configuration()
  16. {
  17. AutomaticMigrationsEnabled = false;
  18. }
  19.  
  20. public int SaveChanges(Transportation_Integration_Project.Models.ApplicationDbContext context)
  21. {
  22. try
  23. {
  24. return context.SaveChanges();
  25. }
  26. catch (DbEntityValidationException ex)
  27. {
  28. // Retrieve the error messages as a list of strings.
  29. var errorMessages = ex.EntityValidationErrors
  30. .SelectMany(x => x.ValidationErrors)
  31. .Select(x => x.ErrorMessage);
  32.  
  33. // Join the list to a single string.
  34. var fullErrorMessage = string.Join("; ", errorMessages);
  35.  
  36. // Combine the original exception message with the new one.
  37. var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
  38.  
  39. // Throw a new DbEntityValidationException with the improved exception message.
  40. throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
  41. }
  42. }
  43.  
  44. protected override void Seed(Transportation_Integration_Project.Models.ApplicationDbContext context)
  45. {
  46. // This method will be called after migrating to the latest version.
  47. var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
  48. var UserManager = new UserManager<ApplicationUser, string>(new UserStore<ApplicationUser>(context));
  49.  
  50. if (true) // !context.Roles.Any())
  51. {
  52. if (System.Diagnostics.Debugger.IsAttached == false)
  53. {
  54. //System.Diagnostics.Debugger.Launch();
  55. }
  56.  
  57. if (!roleManager.RoleExists("Admin"))
  58. {
  59. var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
  60. role.Name = "Admin";
  61. roleManager.Create(role);
  62.  
  63. var user = new ApplicationUser { FirstName = "Jacob", LastName = "Miller", UserName = "16JaMill16@gmail.com", Email = "16JaMill16@gmail.com", Type = UserType.Admin };
  64. //user.RegisterPassword(UserManager, "SuperSecretPassPhrase11");
  65. UserManager.Create(user, "password");
  66. UserManager.AddToRole(user.Id, "Admin");
  67. // SaveChanges(context);
  68.  
  69. var adminTest = new ApplicationUser { FirstName = "Admin", LastName = "Adminson", UserName = "admin@example.com", Email = "admin@example.com", Type = UserType.Admin };
  70. UserManager.Create(adminTest, "administrator");
  71. UserManager.AddToRole(adminTest.Id, "Admin");
  72. SaveChanges(context);
  73. }
  74.  
  75. //create Trucker Role
  76. if (!roleManager.RoleExists("Trucker"))
  77. {
  78. var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
  79. role.Name = "Trucker";
  80. roleManager.Create(role);
  81.  
  82. /*var truckTest = new ApplicationUser { FirstName = "Truck", LastName = "Truckson", UserName = "trucker@example.com", Email = "trucker@example.com", Type = UserType.Trucker };
  83. UserManager.Create(truckTest, "trucker");
  84. UserManager.AddToRole(truckTest.Id, "Trucker");
  85. SaveChanges(context);*/
  86. }
  87.  
  88. //create Customer Role
  89. if (!roleManager.RoleExists("Customer"))
  90. {
  91. var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
  92. role.Name = "Customer";
  93. roleManager.Create(role);
  94.  
  95. /*var custTest = new ApplicationUser { FirstName = "Customer", LastName = "Customerson", UserName = "customer@example.com", Email = "customer@example.com", Type = UserType.Customer };
  96. UserManager.Create(custTest, "customer");
  97. UserManager.AddToRole(custTest.Id, "Customer");
  98. SaveChanges(context);*/
  99. }
  100. //admins
  101. /*var admins = new List<ApplicationUser> {
  102. new ApplicationUser { FirstName = "Admin", LastName = "Adminson", UserName = "admin@example.com", Email = "admin@example.com", Type = UserType.Admin }
  103. };
  104. admins[0].RegisterPassword(UserManager, "admin");
  105. UserManager.AddToRole(admins[0].Id, "admin");
  106. SaveChanges(context);*/
  107.  
  108. //truckers
  109. var truckers = new List<ApplicationUser> {
  110. new ApplicationUser { FirstName = "Joe", LastName = "Schmoe", UserName = "js", Type = UserType.Trucker},
  111. new ApplicationUser { FirstName = "Big", LastName = "Tumpo", UserName = "bt", Type = UserType.Trucker },
  112. new ApplicationUser { FirstName = "jake", LastName = "the", UserName = "snake", Type = UserType.Trucker },
  113. new ApplicationUser { FirstName = "Trucker", LastName = "Truckerson", UserName = "trucker@example.com", Email = "trucker@example.com", Type = UserType.Trucker }
  114. };
  115. // truckers.ForEach(s => context.Users.AddOrUpdate(p => p.UserName, s));
  116. truckers[0].RegisterPassword(UserManager, "this would");
  117. truckers[1].RegisterPassword(UserManager, "be better");
  118. truckers[2].RegisterPassword(UserManager, "in a for loop");
  119. truckers[3].RegisterPassword(UserManager, "trucker");
  120. UserManager.AddToRole(truckers[3].Id, "Trucker");
  121. SaveChanges(context);
  122.  
  123. //customers
  124. var customers = new List<ApplicationUser> {
  125. new ApplicationUser { FirstName = "Big", LastName = "Business", UserName = "bb", Type = UserType.Customer },
  126. new ApplicationUser { FirstName = "Norm", LastName = "Normal", UserName = "nn", Type = UserType.Customer },
  127. new ApplicationUser { FirstName = "Larry", LastName = "Scammer", UserName = "ll", Type = UserType.Customer },
  128. new ApplicationUser { FirstName = "Bob", LastName = "Builder", UserName = "lilboat", Type = UserType.Customer, Email = "bobthebuilder@gmail.com" },
  129. new ApplicationUser { FirstName = "Customer", LastName = "Customerson", UserName = "customer@example.com", Type = UserType.Customer, Email = "customer@example.com" }
  130. };
  131. //customers.ForEach(s => context.Users.AddOrUpdate(p => p.UserName, s));
  132. customers[0].RegisterPassword(UserManager, "bb");
  133. customers[1].RegisterPassword(UserManager, "be better");
  134. customers[2].RegisterPassword(UserManager, "in a for loop");
  135. customers[3].RegisterPassword(UserManager, "trucker");
  136. customers[4].RegisterPassword(UserManager, "customer");
  137. UserManager.AddToRole(customers[4].Id, "Customer");
  138. SaveChanges(context);
  139.  
  140. //addresses
  141. var adr1 = "16016 W 83rd Terrace, 66219, Lenexa, KS";
  142. var adr2 = "630 N 14th Street, Room 420, 68508, Omaha, NE";
  143. var adr3 = "17 PizzaPie Avenue, 20500, Washington, DC";
  144.  
  145. //DriverStatus
  146. context.DriverStatus.AddOrUpdate(
  147. ds => ds.MaxVol,
  148. new DriverStatus { MaxVol = 600, Available = true, Location = adr1, MaxWgt = 3154, Trucker = truckers[0].Id },
  149. new DriverStatus { MaxVol = 800, Available = false, Location = adr2, MaxWgt = 6000, Trucker = truckers[1].Id },
  150. new DriverStatus { MaxVol = 666, Available = true, Location = adr3, MaxWgt = 4200, Trucker = truckers[2].Id },
  151. new DriverStatus { MaxVol = 400, Available = false, Location = adr1, MaxWgt = 6900, Trucker = truckers[3].Id }
  152. );
  153. SaveChanges(context);
  154.  
  155. //Orders
  156. var date1 = new DateTime(year: 2017, month: 2, day: 14, hour: 8, minute: 59, second: 42);
  157. var date2 = new DateTime(year: 2017, month: 1, day: 1, hour: 16, minute: 42, second: 42);
  158. var date3 = new DateTime(year: 2017, month: 2, day: 25, hour: 7, minute: 30, second: 21);
  159.  
  160. context.Order.AddOrUpdate(
  161. o => o.AssignedOn,
  162. new Order { Weight = 50, Volume = 5, Start = adr2, End = adr1, Status = OrderStatus.AwaitingPickup, Trucker = truckers[1].Id, Customer = customers[0].Id, AssignedOn = date1 },
  163. new Order { Weight = 200, Volume = 69, Start = adr1, End = adr2, Status = OrderStatus.InTransit, Trucker = truckers[2].Id, Customer = customers[2].Id, AssignedOn = date2 },
  164. new Order { Weight = 170, Volume = 123, Start = adr3, End = adr3, Status = OrderStatus.Arrived, Trucker = truckers[0].Id, Customer = customers[1].Id, AssignedOn = date3 },
  165. new Order { Weight = 400, Volume = 150, Start = adr1, End = adr3, Status = OrderStatus.AwaitingPickup, Trucker = truckers[3].Id, Customer = customers[4].Id, AssignedOn = date1 }
  166. );
  167. SaveChanges(context);
  168. }
  169. }
  170. }
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement