public ActionResult deleteCatalogueCollection(long commercialCatalogueId, long customizedProductCollectionId) { try { DeleteCatalogueCollectionModelView deleteCatalogueCollectionModelView = new DeleteCatalogueCollectionModelView(); deleteCatalogueCollectionModelView.commercialCatalogueId = commercialCatalogueId; deleteCatalogueCollectionModelView.customizedProductCollectionId = customizedProductCollectionId; new core.application.CommercialCatalogueController().deleteCatalogueCollection(deleteCatalogueCollectionModelView); return(NoContent()); } catch (ResourceNotFoundException e) { return(NotFound(new SimpleJSONMessageService(e.Message))); } catch (Exception) { return(StatusCode(500, new SimpleJSONMessageService(UNEXPECTED_ERROR))); } }
/// <summary> /// Removes an instance of CatalogueCollection from a CommercialCatalogue. /// </summary> /// <param name="deleteCatalogueCollectionModelView">DeleteCatalogueCollectionModelView with the CusttotmizedProductCollection and CommercialCatalogue's identifiers.</param> /// <exception cref="ResourceNotFoundException">Thrown when no CommercialCatalogue or CatalogueCollection could be found.</exception> public void deleteCatalogueCollection(DeleteCatalogueCollectionModelView deleteCatalogueCollectionModelView) { CommercialCatalogueRepository catalogueRepository = PersistenceContext.repositories().createCommercialCatalogueRepository(); CommercialCatalogue commercialCatalogue = catalogueRepository.find(deleteCatalogueCollectionModelView.commercialCatalogueId); if (commercialCatalogue == null) { throw new ResourceNotFoundException(string.Format(CATALOGUE_NOT_FOUND_BY_ID, deleteCatalogueCollectionModelView.commercialCatalogueId)); } CatalogueCollection catalogueCollection = commercialCatalogue.catalogueCollectionList .Where(cc => cc.customizedProductCollection.Id == deleteCatalogueCollectionModelView.customizedProductCollectionId).SingleOrDefault(); if (catalogueCollection == null) { throw new ResourceNotFoundException(string.Format( CATALOGUE_COLLECTION_NOT_FOUND_BY_ID, deleteCatalogueCollectionModelView.customizedProductCollectionId, deleteCatalogueCollectionModelView.commercialCatalogueId )); } commercialCatalogue.removeCollection(catalogueCollection); catalogueRepository.update(commercialCatalogue); }