public ActionResult UpdateAgreements([Bind(Include = "ProductIDs")] SupplierUpdateAgreementViewModel model) { if (model.ProductIDs.Length == 0) { return(RedirectToAction("Index", "Manage")); } SupplierWithAgreements supplier = null; try { DataObjects.User usr = _userManager.RetrieveUserByUserName(User.Identity.Name); supplier = _supplierManager.RetrieveSupplierWithAgreementsByUserId(usr.UserId); } catch (Exception ex) { if (ex.InnerException == null) { return(new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable, ex.Message)); } else { return(new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable, ex.Message + "\n" + ex.InnerException.Message)); } } if (null == supplier) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Unable to find supplier")); } try { foreach (int id in model.ProductIDs) { Product product = _productManager.RetrieveProductById(id); _agreementManager.CreateAgreementsForSupplier(supplier, product, null, false); } } catch (Exception ex) { if (ex.InnerException == null) { return(new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable, ex.Message)); } else { return(new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable, ex.Message + "\n" + ex.InnerException.Message)); } } return(RedirectToAction("Index", "Manage", new { Message = MVCPresentationLayer.Controllers.ManageController.ManageMessageId.AppliedSuccess })); }
public ActionResult UpdateAgreements(int?supplierId) { if (null == supplierId) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } try { SupplierWithAgreements supplier = _supplierManager.RetrieveSupplierWithAgreementsBySupplierId((int)supplierId); if (null == supplier) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (null != supplier.Agreements) { supplier.Agreements.RemoveAll(a => a.IsApproved == false); } SupplierUpdateAgreementViewModel model = new SupplierUpdateAgreementViewModel() { SupplierId = (int)supplierId, ApprovedAgreements = supplier.Agreements, ProductsToSelect = _productManager.RetrieveProducts() }; if (model.ApprovedAgreements != null) { foreach (AgreementWithProductName a in model.ApprovedAgreements) { model.ProductsToSelect.RemoveAll(p => p.ProductId == a.ProductId); } } return(View("UpdateAgreements", model)); } catch (Exception) { return(new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable)); } }