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); }
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); }