public double[][] UserItemMatrix() { var listbakery = ibakeryrepository.getlist(); var listrate = iraterepository.getlist(); var listuniqueuser = listrate.GroupBy(p => new { p.User }).ToList(); int col = listuniqueuser.Count(); int row = listbakery.Count; double[][] useritemMatrix = new double[col][]; for (int i = 0; i < col; i++) { useritemMatrix[i] = new double[row]; for (int j = 0; j < row; j++) { var check = listuniqueuser[i].Where(p => p.bakery == listbakery[j]).FirstOrDefault(); if (check == null) { useritemMatrix[i][j] = 0; } else { useritemMatrix[i][j] = check.ratestar; } } } return(useritemMatrix); }
public ActionResult Shop(string listcate = null, int page = 1) { List <Bakery> listbakery = new List <Bakery>(); if (listcate != null) { Category category = null; category = categorysponsibility.SearchByName(listcate); listbakery = category.bakerys.ToList(); } else { listbakery = bakeryreposibitory.getlist(0); } var count = listbakery.Count; ViewBag.numberpage = count / numberperonepage; if (count % numberperonepage != 0) { ViewBag.numberpage += 1; } ViewBag.currentpage = page; ViewBag.listcate = listcate; listbakery = listbakery.Skip(this.numberperonepage * (page - 1)).Take(numberperonepage).ToList(); //List<Bakery> bakerys = bakeryreposibitory.getlist(); //List<Bakery> results = new List<Bakery>(); //if (category == null) // return HttpNotFound(); // foreach(var i in bakerys) // { // if (i.category == category) // results.Add(i); // } ViewBag.listreconmended = new List <Bakery>(); var current = this.iuser.getcurrentUser(User); if (current != null) { var a = this.ipredict.CollaborativeFiltering(current.Id); if (a != null) { ViewBag.listreconmended = a; } } return(View(listbakery)); }
public ActionResult Index(int page = 1) { ViewBag.test = "Inedx"; var listbakery = bakeryreposibitory.getlist(); var count = listbakery.Count; ViewBag.numberpage = count / numberperonepage; if (count % numberperonepage != 0) { ViewBag.numberpage += 1; } ViewBag.currentpage = page; listbakery = listbakery.Skip(this.numberperonepage * (page - 1)).Take(numberperonepage).ToList(); return(View(listbakery)); }