public static async Task Archive(CommunityPricingContext _context)
        {
            ArchivedOfferings = await _context.ArchivedOffering.ToListAsync();

            List <Offering> offerings = await _context.Offering.ToListAsync();

            foreach (var offering in offerings)
            {
                //If I already have that guid in my archives, then get out
                //...maybe send a message up the ranks too.

                if (!ArchivedOfferings.Any(aO => aO.OfferingID == offering.OfferingID &&
                                           aO.Date == offering.AsOfDate))
                {
                    ArchivedOffering archivedOffering = new ArchivedOffering();
                    archivedOffering.ArchivedOfferingID = Guid.NewGuid();
                    if (!ArchivedOfferings.Select(a => a.ArchivedOfferingID)
                        .Contains(archivedOffering.ArchivedOfferingID))
                    {
                        archivedOffering.OfferingID = offering.OfferingID;
                        archivedOffering.Date       = offering.AsOfDate;
                        archivedOffering.Price      = offering.ProductPricePerWeight;

                        _context.ArchivedOffering.Add(archivedOffering);
                    }
                    else
                    {
                    }
                }
                else
                {
                    var archivedOfferingToUpdate = await _context.ArchivedOffering.FirstOrDefaultAsync(
                        aO => aO.OfferingID == offering.OfferingID && aO.Date == offering.AsOfDate);


                    if (archivedOfferingToUpdate.Price != offering.ProductPricePerWeight)
                    {
                        _context.Entry(archivedOfferingToUpdate).Property("Price")
                        .CurrentValue = offering.ProductPricePerWeight;
                    }
                }
            }

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <IActionResult> OnGetAsync(Guid id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ArchivedOffering = await _context.ArchivedOffering
                               .AsNoTracking()
                               .FirstOrDefaultAsync(m => m.ArchivedOfferingID == id);

            if (ArchivedOffering == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync(Guid id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            ArchivedOffering = await _context.ArchivedOffering
                               .AsNoTracking()
                               .FirstOrDefaultAsync(ao => ao.ArchivedOfferingID == id);

            if (ArchivedOffering != null)
            {
                _context.ArchivedOffering.Remove(ArchivedOffering);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./AdminArchive"));
        }