/// <summary>
        /// Henter alle kalenderbrugere med et givent sæt initialer i et system under OSWEBDB.
        /// </summary>
        /// <param name="system">System, hvorfra kalenderbrugere med initialerne skal hentes..</param>
        /// <param name="initialer">Initialer for de brugere, som skal hentes.</param>
        /// <returns>Brugere med det givne sæt initialer.</returns>
        public virtual IEnumerable <IBruger> BrugerlisteGetBySystemAndInitialer(ISystem system, string initialer)
        {
            if (system == null)
            {
                throw new ArgumentNullException("system");
            }
            if (string.IsNullOrEmpty(initialer))
            {
                throw new ArgumentNullException("initialer");
            }

            var comparer    = new KalenderbrugerComparer();
            var brugerliste = KalenderRepository.BrugerGetAllBySystem(system.Nummer)
                              .Where(m => m.Initialer != null && m.Initialer.CompareTo(initialer) == 0)
                              .OrderBy(m => m, comparer)
                              .ToList();

            if (brugerliste.Count == 0)
            {
                throw new IntranetRepositoryException(
                          Resource.GetExceptionMessage(ExceptionMessage.NoCalendarUserWithThoseInitials, initialer));
            }

            return(brugerliste);
        }
Пример #2
0
        /// <summary>
        /// Henter og returnerer kalenderbrugere til et givent system under OSWEBDB.
        /// </summary>
        /// <param name="query">Foresprøgelse efter kalenderbrugere til et givent system under OSWEBDB.</param>
        /// <returns>Liste indeholdende kalenderbrugere til systemet under OSWEBDB.</returns>
        public IEnumerable <KalenderbrugerView> Query(KalenderbrugereGetQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            var system  = SystemGetByNummer(query.System);
            var brugere = KalenderRepository.BrugerGetAllBySystem(system.Nummer);

            return(MapMany <IBruger, KalenderbrugerView>(brugere));
        }
        /// <summary>
        /// Henter og returnerer kalenderaftaler til en kalenderbruger med et givent sæt initialer.
        /// </summary>
        /// <param name="query">Forespørgelse efter kalenderaftaler til en kalenderbruger med et givent sæt initialer.</param>
        /// <returns>Liste indeholdende kalenderaftaler til kalenderbrugeren med det givne sæt initialer.</returns>
        public IEnumerable <KalenderbrugerAftaleView> Query(KalenderbrugerAftalerGetQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            var system        = SystemGetByNummer(query.System);
            var brugere       = BrugerlisteGetBySystemAndInitialer(system, query.Initialer);
            var brugeraftaler = KalenderRepository.AftaleGetAllBySystem(system.Nummer, query.FraDato)
                                .SelectMany(m => m.Deltagere)
                                .Where(m => brugere.SingleOrDefault(n => n.Id == m.Bruger.Id) != null)
                                .ToList();

            return(MapMany <IBrugeraftale, KalenderbrugerAftaleView>(brugeraftaler));
        }
Пример #4
0
        /// <summary>
        /// Henter og returnerer en given kalenderaftale til en kalenderbruger med et givent sæt initialer.
        /// </summary>
        /// <param name="query">Forespørgelse efter en given kalenderaftale til en kalenderbruger med et givent sæt initialer.</param>
        /// <returns>Kalenderaftale til en kalenderbruger med et givent sæt initialer.</returns>
        public KalenderbrugerAftaleView Query(KalenderbrugerAftaleGetQuery query)
        {
            if (query == null)
            {
                throw new ArgumentNullException("query");
            }

            var system       = SystemGetByNummer(query.System);
            var brugere      = BrugerlisteGetBySystemAndInitialer(system, query.Initialer);
            var brugeraftale = KalenderRepository.AftaleGetBySystemAndId(system.Nummer, query.AftaleId).Deltagere
                               .Where(m => brugere.SingleOrDefault(n => n.Id == m.Bruger.Id) != null)
                               .FirstOrDefault();

            if (brugeraftale == null)
            {
                throw new IntranetRepositoryException(
                          Resource.GetExceptionMessage(ExceptionMessage.UserAppointmentDontExists));
            }

            return(Map <IBrugeraftale, KalenderbrugerAftaleView>(brugeraftale));
        }