// GET: Cart public ActionResult RetrieveModels() { try { string userId = User.Identity.GetUserId(); if (String.IsNullOrEmpty(userId)) return RedirectToAction("Error404", "Home"); var user = db.Users.Where(x => x.Id == userId).FirstOrDefault(); if (User.IsInRole("Supplier") && user.ActivationCode == null) { var getSupplier = (from s in db.Suppliers where s.Id == userId select s).FirstOrDefault(); var retrieveModels = (from m in db.Models join ms in db.ModelSpecs on m.ModelId equals ms.ModelId join s in db.Suppliers on ms.SupplierId equals s.SupplierId select m).Distinct(); var modelList = new List<SupplierRetrieveModelsViewModel>(); foreach (var obj in retrieveModels) { var model = new SupplierRetrieveModelsViewModel() { ModelId = obj.ModelId, ModelNumber = obj.ModelNumber, BrandName = (from b in db.Brands join m in db.Models on b.BrandId equals m.BrandId where b.BrandId == obj.BrandId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == obj.ModelId select ph.ImageUrl).FirstOrDefault() }; modelList.Add(model); } return View(modelList); } return RedirectToAction("Login", "Account"); } catch (Exception ex) { return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.ToString()); } }
public ActionResult SupplierRetrieveModels(string searchString, ManageMessageId? message) { try { string userId = User.Identity.GetUserId(); if (userId == null) { return RedirectToAction("Login", "Account"); } if (User.IsInRole("Supplier")) { if (!String.IsNullOrEmpty(searchString)) { var getSupplier = (from s in db.Suppliers where s.Id == userId select s).FirstOrDefault(); int supplierId = getSupplier.SupplierId; var retrieveModels = (from m in db.Models join ms in db.ModelSpecs on m.ModelId equals ms.ModelId join s in db.Suppliers on ms.SupplierId equals s.SupplierId where ms.SupplierId == supplierId where m.ModelNumber.Contains(searchString) select m).Distinct(); var modelList = new List<SupplierRetrieveModelsViewModel>(); foreach (var obj in retrieveModels) { var model = new SupplierRetrieveModelsViewModel() { SupplierId = supplierId, ModelId = obj.ModelId, ModelNumber = obj.ModelNumber, BrandName = (from b in db.Brands join m in db.Models on b.BrandId equals m.BrandId where b.BrandId == obj.BrandId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == obj.ModelId select ph.ImageUrl).FirstOrDefault(), Status = obj.Status }; modelList.Add(model); } ViewBag.StatusMessage = message == ManageMessageId.AddModelSuccess ? "You just added a model successfully." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.UpdateOrderStatus ? "You just updated the order status." : ""; GetSupplierReturnNotification(); GetSupplierNotification(); return View(modelList.OrderBy(o => o.Status)); } if (String.IsNullOrEmpty(searchString)) { var getSupplier = (from s in db.Suppliers where s.Id == userId select s).FirstOrDefault(); int supplierId = getSupplier.SupplierId; var retrieveModels = (from m in db.Models join ms in db.ModelSpecs on m.ModelId equals ms.ModelId join s in db.Suppliers on ms.SupplierId equals s.SupplierId where ms.SupplierId == supplierId select m).Distinct(); var modelList = new List<SupplierRetrieveModelsViewModel>(); foreach (var obj in retrieveModels) { var model = new SupplierRetrieveModelsViewModel() { SupplierId = supplierId, ModelId = obj.ModelId, ModelNumber = obj.ModelNumber, BrandName = (from b in db.Brands join m in db.Models on b.BrandId equals m.BrandId where b.BrandId == obj.BrandId select b.Name).FirstOrDefault(), ImageUrl = (from ph in db.Photos join pm in db.PhotoModels on ph.PhotoId equals pm.PhotoId join m in db.Models on pm.ModelId equals m.ModelId where pm.ModelId == obj.ModelId select ph.ImageUrl).FirstOrDefault(), Status = obj.Status }; modelList.Add(model); } GetSupplierReturnNotification(); GetSupplierNotification(); return View(modelList.OrderBy(m => m.Status)); } } return RedirectToAction("Login", "Account"); } catch (Exception ex) { return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.ToString()); } }