示例#1
0
        private static void SeedUsers(UserManager <EventsUser> userManager)
        {
            if (userManager.FindByEmailAsync("*****@*****.**").Result == null)
            {
                EventsUser admin = new EventsUser();
                admin.UserName = "******";
                admin.Email    = "*****@*****.**";

                IdentityResult result = userManager.CreateAsync(admin, "P@ssw0rd1!").Result;

                if (result.Succeeded)
                {
                    userManager.AddToRoleAsync(admin, "Admin").Wait();
                }
            }

            EventsUser user = new EventsUser();

            user.FirstName = "Björn";
            user.LastName  = "Strömberg";
            user.UserName  = "******";
            user.Email     = "*****@*****.**";

            IdentityResult result2 = userManager.CreateAsync(user, "/6vQd6USL,i_wB&").Result;
        }
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            UsersList = await _context.Users.ToListAsync();

            UserRole = await _context.Users
                       .Where(u => u.Id == id)
                       .FirstOrDefaultAsync();

            if (!_userManager.IsInRoleAsync(UserRole, "Organizer").Result)
            {
                await _userManager.AddToRoleAsync(UserRole, "Organizer");

                await _context.SaveChangesAsync();
            }
            else
            {
                await _userManager.RemoveFromRoleAsync(UserRole, "Organizer");

                await _context.SaveChangesAsync();
            }

            return(Page());
        }
示例#3
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl      = returnUrl ?? Url.Content("~/");
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var user = new EventsUser {
                    FirstName = Input.FirstName, LastName = Input.LastName, DateOfBirth = Input.DateOfBirth, GenderType = Input.GenderType, UserName = Input.Email, Email = Input.Email, Address = Input.Address
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");
                    await _userManager.AddToRoleAsync(user, "User");

                    TempData["Success"] = "User " + Input.Email + " was registered successfully!";
                    //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    //code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                    //var callbackUrl = Url.Page(
                    //    "/Account/ConfirmEmail",
                    //    pageHandler: null,
                    //    values: new { area = "Identity", userId = user.Id, code = code },
                    //    protocol: Request.Scheme);

                    //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                    //    $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    {
                        return(RedirectToPage("RegisterConfirmation", new { email = Input.Email }));
                    }
                    else
                    {
                        await _signInManager.SignInAsync(user, isPersistent : false);

                        return(LocalRedirect(returnUrl));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
示例#4
0
        public Reservation Create(EventsUser user, Ticket ticket, int ticketsQuantity)
        {
            var iEvent = eventRepository.GetById(ticket.EventId);

            if (iEvent == null)
            {
                throw new Exception("Event not found!");
            }
            ticket.TicketEvent = iEvent;
            Reservation reservation = new Reservation {
                ReservationId = Guid.NewGuid(), TicketReserved = ticket, TicketsQuantity = ticketsQuantity, User = user
            };

            reservation.TicketReserved.TicketEvent.AvailableTickets -= ticketsQuantity;
            reservationRepository.Add(reservation);
            return(reservation);
        }
示例#5
0
        private async Task LoadAsync(EventsUser user)
        {
            var userName = await _userManager.GetUserNameAsync(user);

            var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

            Username    = userName;
            DateOfBirth = user.DateOfBirth;
            GenderType  = user.GenderType;

            Input = new InputModel
            {
                PhoneNumber = phoneNumber,
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                UserPhoto   = user.UserPhoto,
                Address     = user.Address
            };
        }
示例#6
0
        public Cart Create(EventsUser user, Ticket ticket, int ticketsQuantity)
        {
            Ticket cartTicket = ticket;

            if (cartTicket == null)
            {
                throw new Exception("Cart is not valid!");
            }

            if (ticketsQuantity == 0)
            {
                throw new Exception("Quantity is not valid!");
            }
            cartTicket.Quantity = ticketsQuantity;
            Cart cart = new Cart {
                Id = Guid.NewGuid(), CartTicket = cartTicket, TicketsQuantity = cartTicket.Quantity, TotalPrice = cartTicket.Price * cartTicket.Quantity, User = user
            };

            user.Cart = cart;
            cartRepository.Add(cart);
            return(cart);
        }
示例#7
0
        public Reservation GetById(Guid id, EventsUser user)
        {
            var reservation = reservationRepository.GetById(id);

            reservation.User = user;
            var ticket = ticketRepository.GetById(reservation.TicketId);

            if (ticket == null)
            {
                throw new Exception("Ticket not found!");
            }

            var iEvent = eventRepository.GetById(ticket.EventId);

            if (iEvent == null)
            {
                throw new Exception("Event not found!");
            }
            ticket.TicketEvent         = iEvent;
            reservation.TicketReserved = ticket;
            return(reservation);
        }