Witam,
Mam mały problem. Otuż mam taki kawalek kodu w kontrolerze:
private ProductManager pm = new ProductManager();
private PointOfSaleContext db = new PointOfSaleContext();
public ActionResult Detail(SearchProduct productCode)
{
if (!ModelState.IsValid)
{
return RedirectToAction("Index", "Home");
}
else
{
//szukam produktu w bazie danych
var searchingProduct = db.Products.Where(p => p.ProductId == productCode.Code).Single();
int id = searchingProduct.ProductId;
//przypisuje go do modelu
SingleProduct product = new SingleProduct();
product.product = searchingProduct;
//id produktu przesylam do metody, ktora dodaje go do listy produktów
pm.AddToList(id);
return View(product); //wysylam do widoku
}
}
public ActionResult List()
{
//obiekt modelu
AllItems all = new AllItems();
//przypisanie do ICollecion<Product> z modelu listy, ktora jest w ProductManager
all.productList = pm.list;
return View(all);
}
Tu jest klasa ProductManager:
public class ProductManager
{
private PointOfSaleContext db = new PointOfSaleContext();
public List<Product> list;
public ProductManager()
{
list = new List<Product>();
}
public void AddToList(int id) //dodaje do listy produktow
{
var product = db.Products.Where(p => p.ProductId == id).SingleOrDefault();
list.Add(product);
}
}
Problem polega na tym, ze jak probuje odczytac dane w widoku AddToList, ktory jest wywolany na koncu szlaku, to okazuje się, ze lista w ProductManagerze jest pusta i nie wiem czemu tak sie dzieje.