示例#1
0
        public async Task Consume(ConsumeContext <TeacherCreatedEvent> context)
        {
            var dbContext = lazyDbContext.Value;
            var user      = await dbContext.Users.Include(x => x.UserRoles)
                            .SingleOrDefaultAsync(x => x.Id == context.Message.UserId);

            if (user == null)
            {
                user = new TestingUser
                {
                    Id        = context.Message.UserId,
                    Name      = context.Message.Name,
                    UserRoles = new List <TestingUserRole>()
                };
                dbContext.Users.Add(user);
            }

            if (user.UserRoles.All(x => x.Id != context.Message.Id))
            {
                dbContext.Teachers.Add(new Teacher
                {
                    Id   = context.Message.Id,
                    User = user
                });
            }

            await dbContext.SaveChangesAsync();
        }
示例#2
0
        public void Constructor_ShouldCorrectlyAssignPassedValuesOrThrowArgExWhenInvalid(string name)
        {
            IUser userInstance = new TestingUser("Joro");

            Assert.Throws <ArgumentException>(() => new TestingUser(name));

            Assert.AreEqual(userInstance.Username, "Joro");
        }
示例#3
0
        public async Task Consume(ConsumeContext <UserModifiedEvent> context)
        {
            var dbContext = lazyDbContext.Value;
            var user      = await dbContext.Users.FindAsync(context.Message.Id);

            if (user == null)
            {
                user = new TestingUser
                {
                    Id = context.Message.Id
                };
                dbContext.Users.Add(user);
            }

            user.Name = context.Message.Name;
            await dbContext.SaveChangesAsync();
        }