public static CamperAanbiedingModel Parse(CamperAanbieding aanbiedingEntity, string currentLocation, bool incEigenschappen = true, bool incBestanden = true, bool incBedden = true, bool incVestigingen = false, bool incCamper = true)
        {
            var timespan = aanbiedingEntity.PeriodeTot - aanbiedingEntity.PeriodeVan;

            var aanbieding = new CamperAanbiedingModel
            {
                Id                        = aanbiedingEntity.Id,
                BasisPrijs                = aanbiedingEntity.BasisPrijs,
                BestGeboektPrijsEuro      = aanbiedingEntity.BestGeboektPrijsEuro,
                Camper                    = incCamper ? CamperModel.Parse(aanbiedingEntity.Camper, currentLocation, incEigenschappen, incBestanden, incBedden) : null,
                InventarisPrijs           = aanbiedingEntity.InventarisPrijs,
                InventarisPrijsPerPersoon = aanbiedingEntity.InventarisPrijsPerPersoon,
                IsActief                  = aanbiedingEntity.IsActief,
                IsBestGeboekt             = aanbiedingEntity.IsBestGeboekt,
                BestGeboektDuur           = aanbiedingEntity.BestGeboektDuur,
                KortingPercOpCamper       = aanbiedingEntity.KortingPercOpCamper,
                KortingPercOpTotaal       = aanbiedingEntity.KortingPercOpTotaal,
                PeriodeTot                = aanbiedingEntity.PeriodeTot,
                PeriodeVan                = aanbiedingEntity.PeriodeVan,
                DuurInDagen               = (int)Math.Ceiling(timespan.TotalDays),
                VastePrijsEuro            = aanbiedingEntity.VastePrijsEuro,
                BasisPrijs35              = aanbiedingEntity.BasisPrijs35,
                BasisPrijsWeek            = aanbiedingEntity.BasisPrijsWeek,
                BasisPrijsWeekend         = aanbiedingEntity.BasisPrijsWeekend,
                BasisPrijs829             = aanbiedingEntity.BasisPrijs829,
                BasisPrijs30              = aanbiedingEntity.BasisPrijs30,
                VanafPrijs                = aanbiedingEntity.VanafPrijs,
                Vestigings                = incVestigingen ? VestigingModel.Parse(aanbiedingEntity.Vestigings, currentLocation, new List <DestinationModel>()) : null
            };

            return(aanbieding);
        }
Пример #2
0
        public static CamperModel Parse(Camper camperEntity, string currentLocation, bool incEigenschappen = true, bool incBestanden = true, bool incBedden = true, bool incAanbiedingen = false, bool showInActive = false)
        {
            List <PropertyDetailModel> eigenschapWaarden = null;

            if (incEigenschappen)
            {
                //In de backoffice moeten de waardes van de Inactieve eigenschappen wel worden opgehaalde.
                if (showInActive)
                {
                    eigenschapWaarden =
                        camperEntity.CamperEigenschappens.Distinct().Where(ce => ce.Eigenschap.Status != 3).Select(
                            e => PropertyDetailModel.Parse(e.EigenschapWaarde)).ToList();
                }
                else
                {
                    //En niet in de frontend.
                    eigenschapWaarden =
                        camperEntity.CamperEigenschappens.Distinct().Where(ce => ce.Eigenschap.Status == 1).Select(
                            e => PropertyDetailModel.Parse(e.EigenschapWaarde)).ToList();
                }
            }

            var camper = new CamperModel
            {
                Id                = camperEntity.Id,
                Naam              = camperEntity.Naam,
                UrlName           = camperEntity.UrlName,
                Breedte           = camperEntity.Breedte,
                Lengte            = camperEntity.Lengte,
                Hoogte            = camperEntity.Hoogte,
                InterieurHoogte   = camperEntity.InterieurHoogte,
                EigenschapWaarden = eigenschapWaarden,
                //Leverancier = LeverancierModel.Parse(camperEntity.Leverancier, currentLocation, true),
                Vestigingen          = VestigingModel.Parse(camperEntity.Leverancier.Vestigings, currentLocation),
                BrandstofCapaciteit  = camperEntity.BrandstofCapaciteit,
                BrandstofVerbruik    = camperEntity.BrandstofVerbruik,
                MaxAantalVolwassenen = camperEntity.MaxAantVolwassenen,
                MaxAantalKinderen    = camperEntity.MaxAantKinderen,
                MaxAantalPersonen    = camperEntity.MaxAantPersonen,
                MinAantalPersonen    = camperEntity.MinAantPersonen,
                LaadHoogte           = (int)camperEntity.LaadHoogte,
                LaadBreedte          = (int)camperEntity.LaadBreedte,
                LaadLengte           = (int)camperEntity.LaadLengte,
                LaadRuimte           = (int)camperEntity.LaadRuimte,
                LaadVermogen         = (int)camperEntity.LaadVermogen,
                Status                 = camperEntity.Status,
                WaterCapacteit         = camperEntity.WaterCapacteit,
                Commissie              = camperEntity.Commissie,
                CamperKorting          = camperEntity.CamperKorting,
                CamperBedden           = incBedden ? CamperBedModel.Parse(camperEntity.CamperBeds) : null,
                CamperBestanden        = incBestanden ? CamperBestandModel.Parse(camperEntity.CamperBestandens.OrderBy(cb => cb.Volgorde)) : null,
                DagIndelingBestandId   = camperEntity.DagIndelingBestandId,
                NachtIndelingBestandId = camperEntity.NachtIndelingBestandId,
                Video = camperEntity.Video,
                CamperAanbiedingen = incAanbiedingen ? CamperAanbiedingModel.Parse(camperEntity.CamperAanbiedings, currentLocation, incCamper: false) : null,
                ExternalId         = camperEntity.ExternalId,
                Classification     = (int)camperEntity.Classification
            };

            return(camper);
        }