Exemple #1
0
        public void OnUpdated(Domain.Meetup meetup)
        {
            var meetupReadModel = _dbContext.MeetupDetailsReadModel.Find(meetup.Id);

            meetupReadModel.Name = meetup.Name;
            meetupReadModel.TotalAvailableSeats = meetup.TotalAvailableSeats;
        }
        public static void Seed(MeetupAppDbContext dbContext)
        {
            dbContext.Meetups.RemoveRange(dbContext.Meetups);
            dbContext.UserProfiles.RemoveRange(dbContext.UserProfiles);

            dbContext.SaveChanges();

            var user1 = new Domain.UserProfile(1, "Helmut");
            var user2 = new Domain.UserProfile(2, "Gertruda");
            var user3 = new Domain.UserProfile(3, "Kunegunda");
            var user4 = new Domain.UserProfile(4, "Hans");

            dbContext.UserProfiles.AddRange(new[] { user1, user2, user3, user4 });
            dbContext.SaveChanges();

            user1.AddFriend(user2.Id);
            user1.AddFriend(user3.Id);

            dbContext.SaveChanges();

            var meetup1 = new Domain.Meetup(1, user4.Id, "Literatura Lovecrafta", 15);
            var meetup2 = new Domain.Meetup(2, user4.Id, "Komiks dzisiaj i w przeszlosci", 15);
            var meetup3 = new Domain.Meetup(3, user4.Id, "Dlaczego Mroczne Widmo to najlepsza czesc Gwiezdnych Wojen", 15);
            var meetup4 = new Domain.Meetup(4, user4.Id, "Mitologia w literaturze Fantasy", 15);

            dbContext.Meetups.AddRange(new[] { meetup1, meetup2, meetup3, meetup4 });
            dbContext.SaveChanges();

            meetup1.ReserveSeat(user2.Id, DateTimeOffset.Now);
            meetup2.ReserveSeat(user3.Id, DateTimeOffset.Now);
            meetup3.ReserveSeat(user2.Id, DateTimeOffset.Now);
            meetup3.ReserveSeat(user3.Id, DateTimeOffset.Now);

            dbContext.SaveChanges();
        }
        public Domain.Meetup Create(CreateMeetupRequest request)
        {
            var meetup = new Domain.Meetup(0, request.HostUserId, request.Name, request.SeatsAvailable);

            _repository.Add(meetup);
            _repository.Commit();

            return(meetup);
        }
Exemple #4
0
 public void OnCreate(Domain.Meetup meetup)
 {
     _dbContext.MeetupDetailsReadModel.Add(new ReadModel.MeetupDetails
     {
         Id   = meetup.Id,
         Name = meetup.Name,
         TotalAvailableSeats = meetup.TotalAvailableSeats,
         ParticipantsList    = new List <Dtos.ParticipantDto>()
     });
 }
Exemple #5
0
        public void OnSeatReservationCanceled(Domain.Meetup meetup, Guid participantUserId)
        {
            var meetupReadModel = _dbContext.MeetupDetailsReadModel.Find(meetup.Id);
            var userProfile     = _dbContext.UserProfiles.Find(participantUserId);

            meetupReadModel.ParticipantsList.RemoveAll(x => x.UserId == participantUserId);

            var userReservationsReadModel = _dbContext.UserSeatReservationsReadModel.Find(participantUserId);

            userReservationsReadModel.SeatReservationsList.RemoveAll(x => x.MeetupId == meetup.Id);
        }
 public async Task Save(Domain.Meetup entity) =>
 await _meetups.ReplaceOneAsync(meetup => meetup.Id == entity.Id, new MeetupDocument
 {
     Id            = entity.Id,
     Title         = entity.Title,
     Location      = entity.Location,
     NumberOfSeats = entity.NumberOfSeats,
     Start         = entity.TimeRange.Start,
     End           = entity.TimeRange.End,
     State         = entity.State.ToString()
 }, new UpdateOptions
 {
     IsUpsert = true
 });
Exemple #7
0
        public void OnSeatReserved(Domain.Meetup meetup, Guid participantUserId)
        {
            var meetupReadModel = _dbContext.MeetupDetailsReadModel.Find(meetup.Id);
            var userProfile     = _dbContext.UserProfiles.Find(participantUserId);

            meetupReadModel.ParticipantsList.Add(new Dtos.ParticipantDto
            {
                UserId      = userProfile.Id,
                DisplayName = userProfile.DisplayName
            });

            var userReservationsReadModel = _dbContext.UserSeatReservationsReadModel.Find(participantUserId);

            userReservationsReadModel.SeatReservationsList.Add(new ReadModel.UserSeatReservationData(meetup));
        }
 public UserSeatReservationData(Domain.Meetup meetup)
 {
     MeetupId   = meetup.Id;
     MeetupName = meetup.Name;
 }
Exemple #9
0
 public void Add(Domain.Meetup meetup)
 {
     _dbContext.Meetups.Add(meetup);
 }
        public static void Seed(MeetupAppDbContext dbContext)
        {
            dbContext.Meetups.RemoveRange(dbContext.Meetups);
            dbContext.UserProfiles.RemoveRange(dbContext.UserProfiles);
            dbContext.MeetupDetailsReadModel.RemoveRange(dbContext.MeetupDetailsReadModel);
            dbContext.UserSeatReservationsReadModel.RemoveRange(dbContext.UserSeatReservationsReadModel);
            dbContext.SaveChanges();

            var userIds = new[]
            {
                Guid.Parse("7e3335a5-b1bf-4849-8223-bf910195a3e8"),
                Guid.Parse("f215f457-d9f4-451d-9099-a320c6e5f76b"),
                Guid.Parse("d3f5ecec-6270-4fd6-b431-8e0e8a5b8543"),
                Guid.Parse("282e3bd3-eabd-42d0-8b43-8f7a03c0ec8a")
            };

            var user1 = new Domain.UserProfile(userIds[0], "Helmut");
            var user2 = new Domain.UserProfile(userIds[1], "Gertruda");
            var user3 = new Domain.UserProfile(userIds[2], "Kunegunda");
            var user4 = new Domain.UserProfile(userIds[3], "Hans");

            dbContext.UserProfiles.AddRange(new[] { user1, user2, user3, user4 });
            dbContext.SaveChanges();

            user1.AddFriend(user2.Id);
            user1.AddFriend(user3.Id);
            dbContext.SaveChanges();

            var meetupIds = new[]
            {
                Guid.Parse("b107d2cc-7e01-4bd3-ba1b-1195cab7ab66"),
                Guid.Parse("a6cce458-6d6f-48e3-b4b3-ab5a38a46b30"),
                Guid.Parse("bf545ec3-76e3-4599-9295-7295c14f79dc"),
                Guid.Parse("acd2f929-26e2-4e7d-8ad6-5d5aadafd68d"),
            };

            var meetup1 = new Domain.Meetup(meetupIds[0], user4.Id, "Literatura Lovecrafta", 15);
            var meetup2 = new Domain.Meetup(meetupIds[1], user4.Id, "Komiks dzisiaj i w przeszlosci", 15);
            var meetup3 = new Domain.Meetup(meetupIds[2], user4.Id, "Dlaczego Mroczne Widmo to najlepsza czesc Gwiezdnych Wojen", 15);
            var meetup4 = new Domain.Meetup(meetupIds[3], user4.Id, "Mitologia w literaturze Fantasy", 15);

            dbContext.Meetups.AddRange(new[] { meetup1, meetup2, meetup3, meetup4 });
            dbContext.SaveChanges();

            meetup1.ReserveSeat(user2.Id, DateTimeOffset.Now);
            meetup2.ReserveSeat(user3.Id, DateTimeOffset.Now);
            meetup3.ReserveSeat(user2.Id, DateTimeOffset.Now);
            meetup3.ReserveSeat(user3.Id, DateTimeOffset.Now);
            dbContext.SaveChanges();

            dbContext.MeetupDetailsReadModel.AddRange(new[]
            {
                new Meetup.ReadModel.MeetupDetails
                {
                    Id   = meetup1.Id,
                    Name = meetup1.Name,
                    TotalAvailableSeats = meetup1.TotalAvailableSeats,
                    ParticipantsList    = new List <ParticipantDto>
                    {
                        new ParticipantDto {
                            UserId = user2.Id, DisplayName = user2.DisplayName
                        }
                    }
                },
                new Meetup.ReadModel.MeetupDetails
                {
                    Id   = meetup2.Id,
                    Name = meetup2.Name,
                    TotalAvailableSeats = meetup2.TotalAvailableSeats,
                    ParticipantsList    = new List <ParticipantDto>
                    {
                        new ParticipantDto {
                            UserId = user3.Id, DisplayName = user3.DisplayName
                        }
                    }
                },
                new Meetup.ReadModel.MeetupDetails
                {
                    Id   = meetup3.Id,
                    Name = meetup3.Name,
                    TotalAvailableSeats = meetup3.TotalAvailableSeats,
                    ParticipantsList    = new List <ParticipantDto>
                    {
                        new ParticipantDto {
                            UserId = user2.Id, DisplayName = user2.DisplayName
                        },
                        new ParticipantDto {
                            UserId = user3.Id, DisplayName = user3.DisplayName
                        }
                    }
                },
                new Meetup.ReadModel.MeetupDetails
                {
                    Id   = meetup4.Id,
                    Name = meetup4.Name,
                    TotalAvailableSeats = meetup4.TotalAvailableSeats,
                    ParticipantsList    = new List <ParticipantDto>()
                },
            });

            dbContext.UserSeatReservationsReadModel.AddRange(new[]
            {
                new Meetup.ReadModel.UserSeatReservations {
                    UserId = user1.Id, SeatReservationsList = new List <Meetup.ReadModel.UserSeatReservationData>()
                },
                new Meetup.ReadModel.UserSeatReservations {
                    UserId = user4.Id, SeatReservationsList = new List <Meetup.ReadModel.UserSeatReservationData>()
                },
                new Meetup.ReadModel.UserSeatReservations
                {
                    UserId = user2.Id, SeatReservationsList = new List <Meetup.ReadModel.UserSeatReservationData>
                    {
                        new Meetup.ReadModel.UserSeatReservationData {
                            MeetupId = meetup1.Id, MeetupName = meetup1.Name
                        },
                        new Meetup.ReadModel.UserSeatReservationData {
                            MeetupId = meetup3.Id, MeetupName = meetup3.Name
                        }
                    }
                },
                new Meetup.ReadModel.UserSeatReservations
                {
                    UserId = user3.Id, SeatReservationsList = new List <Meetup.ReadModel.UserSeatReservationData>
                    {
                        new Meetup.ReadModel.UserSeatReservationData {
                            MeetupId = meetup2.Id, MeetupName = meetup2.Name
                        },
                        new Meetup.ReadModel.UserSeatReservationData {
                            MeetupId = meetup3.Id, MeetupName = meetup3.Name
                        }
                    }
                }
            });
            dbContext.SaveChanges();
        }