Пример #1
0
        public async Task <bool> ReportOpinion(int opinionId, Rental rental, int userId)
        {
            if (rental == null)
            {
                throw new EntityNotFoundException("Wypożyczalnia");
            }

            var rentalOpinion = rental.RentalOpinions.FirstOrDefault(o => o.Id == opinionId);

            if (rentalOpinion == null)
            {
                throw new EntityNotFoundException("Opinia");
            }

            if (rentalOpinion.RentalOpinionReports.Any(o => o.ReporterId == userId))
            {
                throw new DuplicationException("Możesz daną opinię zgłosić tylko raz");
            }

            var opinionReport = new OpinionReport(userId, rentalOpinionId: rental.Id);

            rentalOpinion.IncrementReports();

            rentalOpinion.RentalOpinionReports.Add(opinionReport);

            return(await database.Complete());
        }
Пример #2
0
        public async Task <bool> ReportOpinion(int opinionId, School school, int userId)
        {
            if (school == null)
            {
                throw new EntityNotFoundException("Szkółka");
            }

            var opinion = school.Opinions.FirstOrDefault(o => o.Id == opinionId);

            if (opinion == null)
            {
                throw new EntityNotFoundException("Opinia");
            }

            if (opinion.SchoolOpinionReports.Any(o => o.ReporterId == userId))
            {
                throw new DuplicationException("Możesz daną opinię zgłosić tylko raz");
            }

            var opinionReport = new OpinionReport(userId, schoolOpinionId: school.Id);

            opinion.IncrementReports();

            opinion.SchoolOpinionReports.Add(opinionReport);

            return(await database.Complete());
        }