Esempio n. 1
0
        private ReportLineModelOut GetReportLineForAccommodation(Accommodation accommodation, List <Reservation> reservations, ReportModelIn reportModelIn)
        {
            ReportLineModelOut reportToReturn = new ReportLineModelOut(accommodation.Name, accommodation.Id);

            foreach (var reservation in reservations)
            {
                if (MatchesRequirementsForReservation(accommodation, reservation, reportModelIn))
                {
                    reportToReturn.Reservations++;
                }
            }
            if (reportToReturn.Reservations == 0)
            {
                return(null);
            }
            return(reportToReturn);
        }
Esempio n. 2
0
        public List <ReportLineModelOut> GetReports(ReportModelIn reportModelIn)
        {
            List <Accommodation>      accommodations  = this.accommodationLogic.GetAllByTouristSpotName(reportModelIn.TouristSpotName);
            List <Reservation>        reservations    = this.reservationLogic.GetAll();
            List <ReportLineModelOut> reportsToReturn = new List <ReportLineModelOut>();

            foreach (Accommodation accommodation in accommodations)
            {
                ReportLineModelOut reporte = this.GetReportLineForAccommodation(accommodation, reservations, reportModelIn);
                if (reporte != null)
                {
                    reportsToReturn.Add(reporte);
                }
            }
            var reportsOrderByDescendingResult = from r in reportsToReturn
                                                 orderby r.Reservations, r.Id descending
            select r;

            return(reportsOrderByDescendingResult.ToList <ReportLineModelOut>());
        }