public IActionResult Post(OccurrenceCreateDto occurrenceCreateDto)
        {
            var occurrenceModel = _mapper.Map <Occurrence>(occurrenceCreateDto);

            var building     = _repositoryBuilding.FindById(occurrenceModel.BuildingId);
            var activityType = _repositoryActivityType.FindById(occurrenceModel.ActivityTypeId);

            if (building == null || activityType == null)
            {
                return(NotFound());
            }

            if (_warrantyValidator.IsOccurreceInWarranty(activityType.WarrantyInYears, building.InspectionDate))
            {
                return(UnprocessableEntity("Este tipo de atividade não é mais aplicável à essa construção (prazo de validade)."));
            }

            _repository.Create(occurrenceModel);

            if (_repository.SaveChanges())
            {
                return(Ok(_mapper.Map <OccurrenceReadDto>(occurrenceModel)));
            }
            else
            {
                return(BadRequest());
            }
        }