public ItemDTO CreateNewItem(ItemDTO itemDTO) { foreach (var item in itemDTO.GetType().GetProperties()) { if (item.Name != "Id") { if ((item.GetValue(itemDTO) == null)) { throw new ItemInputException(); } } else { if ((item.GetValue(itemDTO).ToString() != "-1")) { throw new ItemInputException(); } } } Item newItem = _itemMapper.FromItemDTOToItemWhenCreatingNewItem(itemDTO); _itemRepository.SaveNewItemInDB(newItem); return(_itemMapper.FromItemToItemDTO(newItem)); }