Ejemplo n.º 1
0
        public ActionResult Download([RouteValue] int id, [QueryStringValue] int afdelingID, [QueryStringValue] int functieID, [RouteValue] int groepID, [QueryStringValue] LidInfoModel.SpecialeLedenLijst ledenLijst, [QueryStringValue] LidEigenschap sortering)
        {
            WerkJaarInfo werkJaarInfo;
            int          groepsWerkJaarID;

            // Als geen groepswerkjaar gegeven is: haal recentste op

            if (id == 0)
            {
                var gwj = VeelGebruikt.GroepsWerkJaarOphalen(groepID);
                werkJaarInfo = new WerkJaarInfo {
                    WerkJaar = gwj.WerkJaar, ID = gwj.WerkJaarID
                };
                groepsWerkJaarID = werkJaarInfo.ID;
            }
            else
            {
                var gwjs = ServiceHelper.CallService <IGroepenService, IEnumerable <WerkJaarInfo> >(svc => svc.WerkJarenOphalen(groepID));
                werkJaarInfo = (from wj in gwjs
                                where wj.ID == id
                                select wj).FirstOrDefault();
                groepsWerkJaarID = id;
            }

            // Haal de op te lijsten leden op; de filter wordt bepaald uit de method parameters.
            var leden = ServiceHelper.CallService <ILedenService, IList <PersoonLidInfo> >(
                svc => svc.LijstZoekenPersoonLidInfo(
                    FilterMaken(afdelingID, functieID, ledenLijst, groepsWerkJaarID)));

            // Alle afdelingen is eigenlijk overkill. De actieve zou genoeg zijn. Maar meestal
            // zal daar niet zo' n verschil opzitten.
            var alleAfdelingen =
                ServiceHelper.CallService <IGroepenService, IList <AfdelingInfo> >(
                    svc => svc.AlleAfdelingenOphalen(groepID));

            const string bestandsNaam = "leden.xlsx";

            var pkg = GapExcelManip.LidExcelDocument(leden, alleAfdelingen);

            return(new ExcelResult(pkg, bestandsNaam));
        }
Ejemplo n.º 2
0
        public ActionResult Download(int id)
        {
            var uitstap = ServiceHelper.CallService <IUitstappenService, UitstapOverzicht>(s => s.DetailsOphalen(id));
            var lijst   = ServiceHelper.CallService <IUitstappenService, IEnumerable <DeelnemerDetail> >(s => s.DeelnemersOphalen(id)).ToList();

            var personenlijst = ServiceHelper.CallService <IGelieerdePersonenService, IEnumerable <PersoonOverzicht> >(g => g.OverzichtOphalen(lijst.Select(e => e.GelieerdePersoonID).ToList()));

            foreach (var persoonLidInfo in personenlijst)
            {
                PersoonOverzicht info = persoonLidInfo;
                lijst.Where(e => e.GelieerdePersoonID == info.GelieerdePersoonID).First().PersoonOverzicht =
                    persoonLidInfo;
            }

            string[] kolomkoppen =
            {
                "AD-nummer",
                "Voornaam",
                "Familienaam",
                "Geboortedatum",
                "Geslacht",
                "Telefoon",
                "Emailadres",
                "Straat",
                "Huisnummer",
                "Postcode",
                "Woonplaats",
                "Land",
                "Afdelingen",
                "Functie",
                "Contactpersoon",
                "Betaald",
                "Medische fiche",
                "Opmerkingen"
            };

            var bestandsNaam = String.Format("{0}.xlsx", uitstap.Naam.Replace(" ", "-"));
            var package      = GapExcelManip.ExcelDocument(
                lijst,
                kolomkoppen,
                it => it.PersoonOverzicht.AdNummer,
                it => it.VoorNaam,
                it => it.FamilieNaam,
                it => it.PersoonOverzicht.GeboorteDatum,
                it => it.PersoonOverzicht.Geslacht,
                it => it.PersoonOverzicht.TelefoonNummer,
                it => it.PersoonOverzicht.Email,
                it => it.PersoonOverzicht.StraatNaam,
                it => it.PersoonOverzicht.HuisNummer,
                it => it.PersoonOverzicht.PostNummer != null ? it.PersoonOverzicht.PostNummer.ToString() : it.PersoonOverzicht.PostCode,
                it => it.PersoonOverzicht.WoonPlaats,
                it => it.PersoonOverzicht.Land,
                it => it.Afdelingen == null ? String.Empty : String.Concat(it.Afdelingen.Select(afd => afd.Afkorting + " ").ToArray()),
                it => it.Type,
                it => it.IsContact ? "Ja" : "Nee",
                it => it.HeeftBetaald ? "Ja" : "Nee",
                it => it.MedischeFicheOk ? "Ja" : "Nee",
                it => it.Opmerkingen);

            return(new ExcelResult(package, bestandsNaam));
        }