Beispiel #1
0
 public override async Task <Maybe <Pub> > GetByIdAsync(string id)
 {
     return(await _pubRepository.GetSingleOrMaybeAsync(
                p => p.Id == id,
                $"{nameof(Pub.Address)}",
                $"{nameof(Pub.LikedPubs)}",
                $"{nameof(Pub.PubRates)}.{nameof(PubRate.HexadoUser)}",
                $"{nameof(Pub.PubBoardGames)}.{nameof(PubBoardGame.BoardGame)}",
                $"{nameof(Pub.PubBoardGames)}.{nameof(PubBoardGame.BoardGame)}.{nameof(BoardGame.Category)}",
                $"{nameof(Pub.PubBoardGames)}.{nameof(PubBoardGame.BoardGame)}.{nameof(BoardGame.BoardGameRates)}",
                $"{nameof(Pub.Events)}.{nameof(Event.BoardGame)}",
                $"{nameof(Pub.Events)}.{nameof(Event.ParticipantEvents)}"));
 }
Beispiel #2
0
        public override async Task <Maybe <Event> > CreateAsync(Event entity)
        {
            if (entity.Address?.City != null)
            {
                return(await _eventRepository.CreateAsync(entity));
            }

            var pub = await _pubRepository.GetSingleOrMaybeAsync(
                p => p.Id == entity.PubId,
                p => p.Address);

            if (!pub.HasValue)
            {
                return(Maybe <Event> .Nothing);
            }

            entity.Address = new EventAddress
            {
                City           = pub.Value.Address.City,
                LocalNumber    = pub.Value.Address.LocalNumber,
                BuildingNumber = pub.Value.Address.BuildingNumber,
                Street         = pub.Value.Address.Street,
                PostalCode     = pub.Value.Address.PostalCode
            };

            return(await _eventRepository.CreateAsync(entity));
        }