Exemple #1
0
        //public class MyContext : DbContext
        //{
        //    public override int SaveChanges(bool acceptAllChangesOnSuccess)
        //    {
        //        var serviceProvider = this.GetService<IServiceProvider>();
        //        var items = new Dictionary<object, object>();

        //        foreach (var entry in this.ChangeTracker.Entries().Where(e => (e.State == EntityState.Added) || (e.State == EntityState.Modified))
        //        {
        //            var entity = entry.Entity;
        //            var context = new ValidationContext(entity, serviceProvider, items);
        //            var results = new List<ValidationResult>();

        //            if (Validator.TryValidateObject(entity, context, results, true) == false)
        //            {
        //                foreach (var result in results)
        //                {
        //                    if (result != ValidationResult.Success)
        //                    {
        //                        throw new ValidationException(result.ErrorMessage);
        //                    }
        //                }
        //            }
        //        }

        //        return base.SaveChanges(acceptAllChangesOnSuccess);
        //    }
        //}


        // GET: ParkedVehicles/Create
        public IActionResult Create()
        {
            // Add some bogus data
            DateTime now           = DateTime.Now;
            var      vehicle       = new Bogus.DataSets.Vehicle();
            var      parkedVehicle = new ParkedVehicle
            {
                RegNum      = vehicle.Vin().Substring(0, 6),
                CheckInTime = now
            };

            return(View(parkedVehicle));
        }
Exemple #2
0
        // GET: ParkedVehicles/Create
        public IActionResult Create2()
        {
            // Add some bogus data
            var      vehicle  = new Bogus.DataSets.Vehicle();
            var      color    = new Bogus.DataSets.Commerce(locale: "en");
            TextInfo textInfo = new CultureInfo("en", false).TextInfo;
            var      vhcol    = color.Color();

            var createPVViewModel = new CreatePVViewModel
            {
                Id       = 0,
                RegNum   = vehicle.Vin().Substring(0, 6),
                Color    = textInfo.ToTitleCase(vhcol),
                UserName = ""
            };

            ViewData["UserName"] = new SelectList(_context.Member
                                                  .OrderBy(m => m.UserName), "UserName", "UserName");

            ViewData["TypeName"] = new SelectList(_context.VehicleType
                                                  .OrderBy(v => v.Name), "Name", "Name");

            return(View(createPVViewModel));
        }
Exemple #3
0
        internal static void Initialize(IServiceProvider services)
        {
            var options = services.GetRequiredService <DbContextOptions <Garage25Context> >();

            using (var context = new Garage25Context(options))
            {
                if (context.Member.Any())
                {
                    context.Member.RemoveRange(context.Member);
                    context.ParkedVehicle.RemoveRange(context.ParkedVehicle);
                    context.VehicleType.RemoveRange(context.VehicleType);
                }

                var members = new List <Member>();
                for (int i = 0; i < 10; i++)
                {
                    var userName = Faker.Name.First();
                    var member   = new Member
                    {
                        UserName = userName,
                        Email    = Faker.Internet.Email(userName)
                    };
                    members.Add(member);
                }
                context.Member.AddRange(members);

                string[] vtypes = { "Airplane",
                                    "Bicycle",
                                    "Boat",
                                    "Bus",
                                    "Car",
                                    "Lorry",
                                    "Moped",
                                    "Motorcycle",
                                    "Train",
                                    "Truck" };

                Random random       = new Random();
                var    vehicletypes = new List <VehicleType>();
                for (int i = 0; i < 10; i++)
                {
                    var vehicletype = new VehicleType
                    {
                        Name = vtypes[i]
                    };

                    vehicletypes.Add(vehicletype);
                }
                context.VehicleType.AddRange(vehicletypes);
                context.SaveChanges();
                var      vh        = new Bogus.DataSets.Vehicle();
                var      color     = new Bogus.DataSets.Commerce(locale: "en");
                TextInfo textInfo  = new CultureInfo("en", false).TextInfo;
                var      memberIds = new List <int>();
                foreach (var member in members)
                {
                    memberIds.Add(member.Id);
                }
                var vehicleTypeIds = new List <int>();
                foreach (var vehicletype in vehicletypes)
                {
                    vehicleTypeIds.Add(vehicletype.Id);
                }
                var parkedVehicles = new List <ParkedVehicle>();
                foreach (var member in members)
                {
                    foreach (var vehicletype in vehicletypes)
                    {
                        var vhcol         = color.Color();
                        var parkedVehicle = new ParkedVehicle
                        {
                            RegNum      = vh.Vin().Substring(0, 6),
                            Color       = textInfo.ToTitleCase(vhcol),
                            CheckInTime = DateTime.Now.AddDays(random.Next(-10, 0))
                                          .AddHours(random.Next(0, 24))
                                          .AddMinutes(random.Next(0, 60))
                                          .AddSeconds(random.Next(0, 60)),
                            MemberId      = memberIds[random.Next(0, 9)],
                            VehicleTypeId = vehicleTypeIds[random.Next(0, 9)],
                        };
                        parkedVehicles.Add(parkedVehicle);
                    }
                }
                context.ParkedVehicle.AddRange(parkedVehicles);
                context.SaveChanges();
            }
        }