Exemplo n.º 1
0
        public async Task <int> StartNewSession(string userName, int testId)
        {
            var currentUser = GetUser(userName);
            var currentTest = context.Tests
                              .Include(t => t.Questions)
                              .Single(o => o.Id == testId);
            var currentTestSession = new TestSession()
            {
                StartTime = DateTime.UtcNow,
                TestId    = currentTest.Id,
                UserId    = currentUser.Id
            };

            context.TestSessions.Add(currentTestSession);
            var result = await context.SaveChangesAsync();

            for (int i = 0; i < currentTest.Questions.Count(); i++)
            {
                context.QuestionResults.Add(new QuestionResult
                {
                    QuestionId      = currentTest.Questions[i].Id,
                    SelectedAnswers = "",
                    TestSessionId   = currentTestSession.Id
                });
            }
            await context.SaveChangesAsync();

            return(currentTestSession.Id);
        }
Exemplo n.º 2
0
        public async Task <IdentityResult> Register(RegistrationVM model)
        {
            var identityUser = new IdentityUser
            {
                Email    = model.Email,
                UserName = model.Email
            };
            var user = new User
            {
                FirstName = model.FirstName,
                Lastname  = model.LastName,
                UserId    = identityUser.Id
            };

            var result = await userManager.CreateAsync(identityUser, model.Password);


            if (result.Succeeded)
            {
                orcaQuizContext.Users.Add(user);
                await orcaQuizContext.SaveChangesAsync();

                await signInManager.SignInAsync(identityUser, isPersistent : false);
            }

            return(result);
        }