// GET api/product public ProductListViewModel Get() { DataManager.RefreshSession(); ProductListViewModel result = null; var products = _ProductService.SearchProducts(0, 15); result = ProductListViewModel.GetModel(products); return(result); }
public ViewResult Index(ProductListModel model) { ProductListViewModel viewModel; using (ProductListContext productsContext = new ProductListContext()) { viewModel = ProductListViewModel.GetModel(productsContext, model.AddedOrUpdatedProduct); } return(View(viewModel)); }
public ViewResult AddUpdateSupplier(AddUpdateSupplierModel model) { string errorMessage; Supplier supplierToUpdate = null; try { if (model.IsValid(out errorMessage)) { // If we're updating a supplier if (model.SupplierID.HasValue) { using (ProductListContext productContext = new ProductListContext()) { supplierToUpdate = productContext.Suppliers.FirstOrDefault(s => s.SupplierID == model.SupplierID); } } } } catch (Exception e) { errorMessage = Errors.GenericMVCInternalError; ErrorLog.LogError(e); } ViewResult viewResult; if (errorMessage != null) { // Error, show the message ProductListViewModel viewModel; using (ProductListContext productContext = new ProductListContext()) { viewModel = ProductListViewModel.GetModel(productContext, errorMessage: errorMessage); } viewResult = View("Index", viewModel); } else { // Load the Add/Update view AddUpdateSupplierViewModel viewModel = null; viewModel = AddUpdateSupplierViewModel.GetModel(supplierToUpdate); viewResult = View(viewModel); } return(viewResult); }
public JsonResult RemoveSupplier(RemoveSupplierModel model) { RemoveSupplierJsonModel responseModel = new RemoveSupplierJsonModel(); try { ProductListViewModel partialViewModel; using (ProductListContext productContext = new ProductListContext()) { Supplier supplierToRemove = productContext.Suppliers.FirstOrDefault(s => s.SupplierID == model.SupplierID); if (supplierToRemove != null) { // Remove any products associated with the supplier foreach (ProductBase product in productContext.AllProducts.Where(p => p.SupplierID == supplierToRemove.SupplierID)) { product.Removed = true; } // Remove the supplier supplierToRemove.Removed = true; productContext.SaveChanges(); } responseModel.SuppliersRemain = productContext.Suppliers.Count(s => !s.Removed) > 0; responseModel.ProductsRemain = productContext.AllProducts.Count(p => !p.Removed) > 0; // create the model so we can render the new version of the table partialViewModel = ProductListViewModel.GetModel(productContext); } responseModel.Success = true; // render the table responseModel.Content = MvcHelper.RenderControllerPartialViewToString(this, "_SupplierListTable", partialViewModel); responseModel.AdditionalDataTables = MvcHelper.RenderControllerPartialViewToString(this, "_AdditionalDataTables", partialViewModel); } catch (Exception e) { responseModel.Success = false; responseModel.Content = Errors.GenericMVCInternalError; ErrorLog.LogError(e); } return(Json(responseModel)); }
public JsonResult RemoveProduct(RemoveProductModel model) { RemoveProductResponseModel responseModel = new RemoveProductResponseModel(); try { ProductListViewModel partialViewModel; using (ProductListContext productContext = new ProductListContext()) { ProductBase productToRemove = productContext.AllProducts.FirstOrDefault(p => p.ProductID == model.ProductID); if (productToRemove != null) { productToRemove.Removed = true; } productContext.SaveChanges(); // create the model so we can render the new version of the table partialViewModel = ProductListViewModel.GetModel(productContext); responseModel.Success = true; responseModel.ProductsRemain = productContext.AllProducts.Count(p => !p.Removed) > 0; // render the table responseModel.Content = MvcHelper.RenderControllerPartialViewToString(this, "_ProductListTable", partialViewModel); responseModel.AdditionalDataTables = MvcHelper.RenderControllerPartialViewToString(this, "_AdditionalDataTables", partialViewModel); } } catch (Exception e) { responseModel.Success = false; responseModel.Content = Errors.GenericMVCInternalError; ErrorLog.LogError(e); } return(Json(responseModel)); }
public ViewResult AddUpdateProduct(AddUpdateProductModel model) { string errorMessage; ProductBase productToUpdate = null; try { if (model.IsValid(out errorMessage)) { // If we're updating a product if (model.ProductID.HasValue) { using (ProductListContext productContext = new ProductListContext()) { // find the product to update switch (model.ProductType) { case ProductType.Game: productToUpdate = productContext.GameProducts.FirstOrDefault(p => p.ProductID == model.ProductID); break; case ProductType.Car: productToUpdate = productContext.CarProducts.FirstOrDefault(p => p.ProductID == model.ProductID); break; } } } } } catch (Exception e) { errorMessage = Errors.GenericMVCInternalError; ErrorLog.LogError(e); } ViewResult viewResult; if (errorMessage != null) { // Error, show the message ProductListViewModel viewModel; using (ProductListContext productContext = new ProductListContext()) { viewModel = ProductListViewModel.GetModel(productContext, errorMessage: errorMessage); } viewResult = View("Index", viewModel); } else { // Load the Add/Update view AddUpdateProductViewModel viewModel = null; using (ProductListContext productContext = new ProductListContext()) { viewModel = AddUpdateProductViewModel.GetModel(productContext, productToUpdate, model.ProductType); } viewResult = View(viewModel); } return(viewResult); }