Exemplo n.º 1
0
        private void VoegBivakStatusMededelingenToe(BivakAangifteLijstInfo aangiftestatus, IList <Mededeling> mededelingen)
        {
            if (aangiftestatus == null)
            {
                return;
            }

            if (aangiftestatus.Bivakinfos == null)
            {
                return;
            }

            if (aangiftestatus.AlgemeneStatus == BivakAangifteStatus.NogNietVanBelang || aangiftestatus.AlgemeneStatus == BivakAangifteStatus.Ok)
            {
                return;
            }

            if (aangiftestatus.AlgemeneStatus == BivakAangifteStatus.Ontbrekend && aangiftestatus.Bivakinfos.Count == 0)
            {
                var url = Url.Action("Nieuw", "Uitstappen");
                mededelingen.Add(new Mededeling
                {
                    Type = MededelingsType.Probleem,
                    Info = String.Format(Resources.BivakAangifteNogInTeVullen, url)
                });
            }
            else
            {
                foreach (var bivakstatus in aangiftestatus.Bivakinfos)
                {
                    if (bivakstatus.Status == BivakAangifteStatus.PlaatsEnContactOntbreekt)
                    {
                        var url = Url.Action("Bekijken", "Uitstappen", new { id = bivakstatus.ID });
                        mededelingen.Add(new Mededeling
                        {
                            Type = MededelingsType.Probleem,
                            Info = String.Format(Resources.BeideNogInvullenOpBivakAangifte, bivakstatus.Omschrijving, url)
                        });
                    }
                    if (bivakstatus.Status == BivakAangifteStatus.PlaatsOntbreekt)
                    {
                        var url = Url.Action("PlaatsBewerken", "Uitstappen", new { id = bivakstatus.ID });
                        mededelingen.Add(new Mededeling
                        {
                            Type = MededelingsType.Probleem,
                            Info = String.Format(Resources.AdresNogInvullenOpBivakAangifte, bivakstatus.Omschrijving, url)
                        });
                    }
                    else if (bivakstatus.Status == BivakAangifteStatus.ContactOntbreekt)
                    {
                        var url = Url.Action("Bekijken", "Uitstappen", new { id = bivakstatus.ID });
                        mededelingen.Add(new Mededeling
                        {
                            Type = MededelingsType.Probleem,
                            Info = String.Format(Resources.PersoonNogInvullenOpBivakAangifte, bivakstatus.Omschrijving, url)
                        });
                    }
                }
            }
        }
Exemplo n.º 2
0
        public BivakAangifteLijstInfo BivakStatusOphalen(int groepId)
        {
            var resultaat = new BivakAangifteLijstInfo();

            var gwjQuery = _groepsWerkJaarRepo.Select();

            var groepsWerkJaar =
                gwjQuery.Where(gwj => gwj.Groep.ID == groepId).OrderByDescending(gwj => gwj.WerkJaar).FirstOrDefault();

            if (groepsWerkJaar == null || !_autorisatieMgr.IsGav(groepsWerkJaar))
            {
                throw FaultExceptionHelper.GeenGav();
            }

            if (!_uitstappenMgr.BivakAangifteVanBelang(groepsWerkJaar))
            {
                resultaat.AlgemeneStatus = BivakAangifteStatus.NogNietVanBelang;
            }
            else
            {
                resultaat.Bivakinfos = (from u in groepsWerkJaar.Uitstap
                                        where u.IsBivak
                                        select
                                        new BivakAangifteInfo
                {
                    ID = u.ID,
                    Omschrijving = u.Naam,
                    Status = _uitstappenMgr.StatusBepalen(u)
                }).ToList();

                if (resultaat.Bivakinfos.FirstOrDefault() == null)
                {
                    resultaat.AlgemeneStatus = BivakAangifteStatus.Ontbrekend;
                }
                else if (resultaat.Bivakinfos.Any(bi => bi.Status != BivakAangifteStatus.Ok))
                {
                    resultaat.AlgemeneStatus = BivakAangifteStatus.Ontbrekend;
                }
                else
                {
                    resultaat.AlgemeneStatus = BivakAangifteStatus.Ok;
                }
            }

            return(resultaat);
        }