public async Task <AuditoriumResultModel> CreateAuditorium(AuditoriumDomainModel createAuditorium)
        {
            AuditoriumEntity newAuditorium = new AuditoriumEntity
            {
                AuditoriumId   = createAuditorium.AuditoriumId,
                AuditoriumName = createAuditorium.NameOfAuditorium,
                MuseumId       = createAuditorium.MuseumId,
                NumberOfSeats  = createAuditorium.NumberOfSeats
            };
            bool museum        = false;
            var  listOfMuseums = await _museumsRepository.GetAll();

            foreach (var item in listOfMuseums)
            {
                if (item.MuseumId == createAuditorium.MuseumId)
                {
                    museum = true;
                }
                ;
            }
            if (museum == false)
            {
                return(new AuditoriumResultModel
                {
                    IsSuccessful = false,
                    ErrorMessage = Messages.MUSEUM_DOES_NOT_EXIST,
                    Auditorium = null
                });
            }

            var auditorium = _auditoriumRepository.Insert(newAuditorium);

            if (auditorium == null)
            {
                return(new AuditoriumResultModel
                {
                    IsSuccessful = false,
                    ErrorMessage = Messages.AUDITORIUM_WITH_THIS_ID_ALREADY_EXISTS,
                    Auditorium = null
                });
            }

            AuditoriumResultModel result = new AuditoriumResultModel
            {
                IsSuccessful = true,
                ErrorMessage = null,
                Auditorium   = new AuditoriumDomainModel
                {
                    AuditoriumId     = auditorium.AuditoriumId,
                    NameOfAuditorium = auditorium.AuditoriumName,
                    MuseumId         = auditorium.MuseumId,
                    NumberOfSeats    = auditorium.NumberOfSeats
                }
            };

            return(result);
        }
        public async Task <AuditoriumResultModel> UpdateAuditorium(AuditoriumDomainModel updateAuditorium)
        {
            var data = await _auditoriumRepository.GetByIdAsync(updateAuditorium.AuditoriumId);

            AuditoriumEntity auditorium = new AuditoriumEntity
            {
                AuditoriumId   = updateAuditorium.AuditoriumId,
                MuseumId       = updateAuditorium.MuseumId,
                AuditoriumName = updateAuditorium.NameOfAuditorium,
                NumberOfSeats  = updateAuditorium.NumberOfSeats
            };


            var auditoriumUpdate = _auditoriumRepository.Update(auditorium);

            if (auditoriumUpdate == null)
            {
                return(new AuditoriumResultModel
                {
                    IsSuccessful = false,
                    ErrorMessage = Messages.AUDITORIUM_UPDATE_ERROR,
                    Auditorium = null
                });
            }

            _auditoriumRepository.Save();


            AuditoriumResultModel result = new AuditoriumResultModel
            {
                IsSuccessful = true,
                ErrorMessage = null,
                Auditorium   = new AuditoriumDomainModel
                {
                    MuseumId         = auditoriumUpdate.MuseumId,
                    AuditoriumId     = auditoriumUpdate.AuditoriumId,
                    NameOfAuditorium = auditoriumUpdate.AuditoriumName,
                    NumberOfSeats    = auditoriumUpdate.NumberOfSeats
                }
            };

            return(result);
        }