Example #1
0
        /// <summary> Fires asynchronously when the page is accessed via the POST HTTP verb. </summary>
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            //TODO: Extract into a method (on DealContext?)
            Unit.UpdateAuditFields(userId: 1);
            _context.Unit.Add(Unit);
            var deal = new Deal();

            deal.UpdateAuditFields(userId: 1);
            var dealUnit = new DealUnit {
                Deal = deal, Unit = Unit
            };

            deal.DealUnits = new List <DealUnit> {
                dealUnit
            };
            //TODO: Add a switch or another Action that will handle adding to an existing Deal
            _context.Deal.Add(deal);
            _context.DealUnit.Add(dealUnit);
            await _context.SaveChangesAsync();

            return(RedirectToPage("./Index"));
        }
Example #2
0
        /// <summary> Initializes the DB Context. </summary>
        /// <param name="context"> The DB Context to initialize. </param>
        public static void InitializeContext(DealContext context)
        {
            context.Database.EnsureCreated(); //* Use during development, then get rid of this in favor of Migrations

            if (context.Deal.Any())
            {
                return;   // DB has been seeded
            }

            var units = new Unit[]
            {
                new Unit {
                    CustomerName = "Test, Bob", AppraiserName = "Appraiser, Jim", CustomerAddress = "100 Pigkicker Ln", ModelYear = 1999, VIN = "1M3P272K1XM001040"
                }
            };
            var deals = new Deal[]
            {
                new Deal {
                }
            };

            foreach (var deal in deals)
            {
                deal.UpdateAuditFields(1);
            }
            foreach (var unit in units)
            {
                unit.UpdateAuditFields(1);
            }
            var dealUnits = new DealUnit[]
            {
                new DealUnit {
                    Deal = deals[0], Unit = units[0]
                }
            };

            deals[0].DealUnits = dealUnits;

            context.Unit.AddRange(units);
            context.Deal.AddRange(deals);
            context.DealUnit.AddRange(dealUnits);

            context.SaveChanges();
        }