public IHttpActionResult GetProductsbyNameAndCategory(string searchkey) { var products = from s in db.SearchProcedure(searchkey).ToList() select s; return(Ok(products)); }
//public ActionResult SelectPaymentMode(ShippingViewModel svm) //{ // var ovm = new OrderViewModel(); // if (svm.ShippingAddress == null) // { // svm.NewAddress.Id = svm.User.Id; // db.Addresses.Add(svm.NewAddress); // db.SaveChanges(); // ovm.ShippingAddress = svm.NewAddress; // } // else // { // var oldshippingaddress = db.Addresses.Single(a => a.AddressId == svm.ShippingAddress.AddressId); // oldshippingaddress.City = svm.ShippingAddress.City; // oldshippingaddress.Colony_Street = svm.ShippingAddress.Colony_Street; // oldshippingaddress.HouseNo = svm.ShippingAddress.HouseNo; // oldshippingaddress.Pincode = svm.ShippingAddress.Pincode; // oldshippingaddress.StateId = svm.ShippingAddress.StateId; // db.SaveChanges(); // ovm.ShippingAddress = oldshippingaddress; // } // var product = db.Products.Single(p => p.ProductId == svm.Product.ProductId); // var user = db.AspNetUsers.Single(u => u.Id == svm.User.Id); // ovm.Product = product; // ovm.User = user; // ovm.PaymentList = db.Payments.ToList(); // return View(ovm); //} public ActionResult GetProductByNameOrCategory(string searchkey, string name, string sortOrder, string currentFilter, string searchString, int?page) { ViewBag.searchkey = searchkey; ViewBag.CurrentSort = sortOrder; ViewBag.NameDescParm = "name_desc"; ViewBag.NameAsenParm = "name_asen"; ViewBag.PriceAsenParm = "Price"; ViewBag.PriceDescParm = "price_desc"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; var products = from s in db.SearchProcedure(searchkey).ToList() select s; if (!String.IsNullOrEmpty(searchString)) { products = products.Where(s => s.Name.Contains(searchString)); } switch (sortOrder) { case "name_asen": products = products.OrderBy(s => s.Name); break; case "name_desc": products = products.OrderByDescending(s => s.Name); break; case "Price": products = products.OrderBy(s => s.Price); break; case "price_desc": products = products.OrderByDescending(s => s.Price); break; default: // Name ascending products = products.OrderBy(s => s.Name); break; } int pageSize = 6; int pageNumber = (page ?? 1); return(View(products.ToPagedList(pageNumber, pageSize))); }