public async Task <IActionResult> AppointmentConfirmation(int id) { List <ProductsSelectedForAppointment> lst = null; if (orm == 1) { ShoppingCardvm.Appointments = qdb.retAppointment(id); lst = qdb.retpsaall(); } else { ShoppingCardvm.Appointments = await _db.Appointments.FirstOrDefaultAsync(e => e.Id == id); lst = await _db.ProductsSelectedForAppointments.ToListAsync(); } Dictionary <int, int> ls = HttpContext.Session.Get <Dictionary <int, int> >("ls"); if (ls[int.MaxValue] != ShoppingCardvm.Appointments.Id) { return(NotFound()); } lst = lst.Where(e => e.AppointmentId == id).ToList(); if (orm == 1) { foreach (ProductsSelectedForAppointment psa in lst) { Products p = qdb.retProduct(psa.ProductId); List <Products> products = new List <Products>(); products.Add(p); qdb.include_pt_st(products); ShoppingCardvm.Products.Add(p); } } else { foreach (ProductsSelectedForAppointment psa in lst) { ShoppingCardvm.Products.Add(_db.Products.Include(e => e.ProductTypes).Include(e => e.SpecialTags) .FirstOrDefault(e => e.Id == psa.ProductId)); } } //foreach (ProductsSelectedForAppointment psa in lst) //{ // ShoppingCardvm.Products.Add(_db.Products.Include(e => e.ProductTypes).Include(e => e.SpecialTags) // .FirstOrDefault(e => e.Id == psa.ProductId)); //} ls[int.MinValue] = 1; HttpContext.Session.Set("ls", ls); return(View(ShoppingCardvm)); }