public IList <int> LocuriLibere(int spectacolId) { IList <int> locuriSala = Enumerable.Range(1, SalaRepository.Get().First().NrLocuri).ToList(); IList <int> locuriVandute = VanzariLocuriRepository.Get() .Where(vanzareLoc => VanzareaEstePentruSpectacol(vanzareLoc.VanzareId, spectacolId)) .Select(vanzareLoc => vanzareLoc.Loc).ToList(); return(locuriSala.Where(loc => !locuriVandute.Contains(loc)).ToList()); }
/// <summary> /// Cauta primul loc liber pentru spectacolId /// </summary> /// <param name="spectacolId"></param> /// <returns>Returneaza un intreg reprezentand locul liber, sau null daca nu exista</returns> public int?PrimulLocLiber(int spectacolId) { IList <int> locuriSala = Enumerable.Range(1, SalaRepository.Get().First().NrLocuri).ToList(); IList <int> locuriVandute = VanzariLocuriRepository.Get() .Where(vanzareLoc => VanzareaEstePentruSpectacol(vanzareLoc.VanzareId, spectacolId)) .Select(vanzareLoc => vanzareLoc.Loc).ToList(); try { return(locuriSala.First(loc => !locuriVandute.Contains(loc))); } catch (InvalidOperationException ex) { return(null); } }