public bool CreateBuilding(Building building)
        {
            //Building already exists
            if (Enumerable.Any <Building>(_buildingRepository.Buildings(), b => b.Address.City == building.Address.City &&
                                          b.Address.Country == building.Address.Country &&
                                          b.Address.State == building.Address.State &&
                                          b.Address.StreetName == building.Address.StreetName &&
                                          b.Address.Suffix == building.Address.Suffix &&
                                          b.Address.ZipCode == building.Address.ZipCode &&
                                          b.Address.HouseNumber == building.Address.HouseNumber))
            {
                return(false);
            }
            var halls = building.Halls;

            foreach (Hall h in halls)
            {
                for (int i = h.HallOpeningHours.Count - 1; i >= 0; i--)
                {
                    var repoOpeningHours = Enumerable.FirstOrDefault <OpeningHours>(_hallManager.OpeningHours(), repOh =>
                                                                                    repOh.Day == h.HallOpeningHours[i].OpeningHours.Day &&
                                                                                    repOh.OpeningTime == h.HallOpeningHours[i].OpeningHours.OpeningTime &&
                                                                                    repOh.ClosingTime == h.HallOpeningHours[i].OpeningHours.ClosingTime);

                    if (repoOpeningHours != null)
                    {
                        h.HallOpeningHours.RemoveAt(i);
                        h.HallOpeningHours.Add(new HallOpeningHours()
                        {
                            HallId         = h.HallId,
                            OpeningHoursId = repoOpeningHours.OpeningHoursId
                        });
                    }
                }
            }
            return(_buildingRepository.CreateBuilding(building));
        }