示例#1
0
        public void ensureChangingToEmptyReferenceThrowsException()
        {
            CommercialCatalogue commercialCatalogue = new CommercialCatalogue("reference", "designation");

            Action changeReference = () => commercialCatalogue.changeReference("");

            Assert.Throws <ArgumentException>(changeReference);
        }
示例#2
0
        public void ensureChangingReferenceToValidReferenceChangesReference()
        {
            CommercialCatalogue commercialCatalogue = new CommercialCatalogue("reference", "designation");

            string newReference = "New reference";

            commercialCatalogue.changeReference(newReference);

            Assert.Equal(newReference, commercialCatalogue.reference);
        }
示例#3
0
        public void ensureChangingReferenceToValidReferenceDoesNotThrowException()
        {
            CommercialCatalogue commercialCatalogue = new CommercialCatalogue("reference", "designation");

            Action changeReference = () => commercialCatalogue.changeReference("New reference");

            Exception exception = Record.Exception(changeReference);

            Assert.Null(exception);
        }
示例#4
0
        public void ensureChangingToEmptyReferenceDoesNotChangeReference()
        {
            string reference = "reference";

            CommercialCatalogue commercialCatalogue = new CommercialCatalogue(reference, "designation");

            try
            {
                commercialCatalogue.changeReference("");
            }
            catch (Exception) { }

            Assert.Equal(reference, commercialCatalogue.reference);
        }
示例#5
0
        /// <summary>
        /// Updates an instance of CommercialCatalogue.
        /// </summary>
        /// <param name="updateCommercialCatalogueModelView">UpdateCommercialCatalogueModelView with the CommerciaCatalogue's identifier and data being updated.</param>
        /// <returns>An instance of GetCommercialCatalogueModelView representing the updated CommercialCatalogue.</returns>
        /// <exception cref="ResourceNotFoundException">Thrown when no CommercialCatalogue is found with a given identifier.</exception>
        /// <exception cref="System.ArgumentException">
        /// Thrown no update is made to the CommercialCatalogue or when the CommercialCatalogue could not be saved with the updated data.
        /// </exception>
        public GetCommercialCatalogueModelView updateCommercialCatalogue(UpdateCommercialCatalogueModelView updateCommercialCatalogueModelView)
        {
            CommercialCatalogueRepository catalogueRepository = PersistenceContext.repositories().createCommercialCatalogueRepository();

            CommercialCatalogue commercialCatalogue = catalogueRepository.find(updateCommercialCatalogueModelView.commercialCatalogueId);

            if (commercialCatalogue == null)
            {
                throw new ResourceNotFoundException(string.Format(CATALOGUE_NOT_FOUND_BY_ID, updateCommercialCatalogueModelView.commercialCatalogueId));
            }

            bool performedUpdates = false;

            if (updateCommercialCatalogueModelView.reference != null)
            {
                commercialCatalogue.changeReference(updateCommercialCatalogueModelView.reference);
                performedUpdates = true;
            }

            if (updateCommercialCatalogueModelView.designation != null)
            {
                commercialCatalogue.changeDesignation(updateCommercialCatalogueModelView.designation);
                performedUpdates = true;
            }

            //if no update was performed
            if (!performedUpdates)
            {
                throw new ArgumentException(NO_UPDATES_PERFORMED);
            }

            commercialCatalogue = catalogueRepository.update(commercialCatalogue);

            if (commercialCatalogue == null)
            {
                throw new ArgumentException(UNABLE_TO_SAVE_CATALOGUE);
            }

            return(CommercialCatalogueModelViewService.fromEntity(commercialCatalogue));
        }