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