Example #1
0
        public void CanHideAllAttributesExceptKeyAndAnonymousForAnonUser()
        {
            EventUser eu = EventUser.FromUser(_anonUser, _configWithAllAttrsPrivate);

            Assert.Equal(_anonUser.Key, eu.Key);
            Assert.Equal(_anonUser.Secondary, eu.Secondary);
            Assert.Null(eu.FirstName);
            Assert.Null(eu.LastName);
            Assert.Null(eu.Name);
            Assert.Null(eu.Avatar);
            Assert.Null(eu.IPAddress);
            Assert.Null(eu.Email);
            Assert.True(eu.Anonymous);
            Assert.Null(eu.Custom);
            Assert.Equal(ImmutableSortedSet.Create <string>("bizzle", "dizzle"), eu.PrivateAttrs);
        }
Example #2
0
        public void AllUserAttributesAreIncludedByDefault()
        {
            EventUser eu = EventUser.FromUser(_baseUser, _baseConfig);

            Assert.Equal(_baseUser.Key, eu.Key);
            Assert.Equal(_baseUser.Secondary, eu.Secondary);
            Assert.Equal(_baseUser.FirstName, eu.FirstName);
            Assert.Equal(_baseUser.LastName, eu.LastName);
            Assert.Equal(_baseUser.Name, eu.Name);
            Assert.Equal(_baseUser.Avatar, eu.Avatar);
            Assert.Equal(_baseUser.IPAddress, eu.IPAddress);
            Assert.Equal(_baseUser.Email, eu.Email);
            Assert.Null(eu.Anonymous);
            Assert.Equal(_baseUser.Custom, eu.Custom);
            Assert.Null(eu.PrivateAttrs);
        }
Example #3
0
        public void Post(EventUser eventUser)
        {
            using (var context = new ApplicationDbContext())
            {
                if (context.EventUsers.Any(eu => eu.Id == eventUser.Id))
                {
                    context.Entry(eventUser).State = EntityState.Modified;
                }
                else
                {
                    context.EventUsers.Add(eventUser);
                }

                context.SaveChanges();
            }
        }
        // GET: EventUsers/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EventUser eventUser = db.EventsUsers.Find(id);

            if (eventUser == null)
            {
                return(HttpNotFound());
            }
            ViewBag.EventId = new SelectList(db.Events, "Id", "Name", eventUser.EventId);
            ViewBag.UserId  = new SelectList(db.Users, "Id", "Name", eventUser.UserId);
            return(View(eventUser));
        }
Example #5
0
        /// <summary>
        /// [Hubのエントリーポイント] 会議に参加します。
        /// </summary>
        /// <param name="meetingId">会議。</param>
        /// <param name="userId">参加するユーザー。</param>
        /// <param name="attended">参加者か立ち見か。</param>
        /// <returns></returns>
        public bool Enter(int meetingId, int userId, bool attended)
        {
            var meeting = db.Meetings.SingleOrDefault(i => i.Id == meetingId && !i.Deleted);

            if (meeting == null)
            {
                return(false); // invalid ID
            }
            Groups.Add(Context.ConnectionId, $"{meetingId}");

            if (!attended)
            {
                return(true); // 立ち見
            }
            var user = db.Users.SingleOrDefault(i => i.Id == userId && !i.Deleted);

            if (user == null)
            {
                return(false); // invalid ID
            }
            var eventUser = db.EventUsers.SingleOrDefault(i => i.Meeting.Id == meeting.Id && i.User.Id == user.Id);

            if (eventUser != null)
            {
                return(true); // 参加済み
            }
            if (meeting.Status == Data.MeetingStatus.Waiting)
            {
                var newEventUser = new EventUser
                {
                    Meeting = meeting,
                    User    = user,
                    Tickets = meeting.Tickets,
                    Coupons = meeting.Coupons,
                };

                meeting.Members.Add(user);
                db.EventUsers.Add(newEventUser);
                db.SaveChanges();

                NotifyEvent(meeting);

                return(true);
            }

            return(false); // Waiting 以外で参加しようとした
        }
Example #6
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl      = returnUrl ?? Url.Content("~/");
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var user = new EventUser {
                    UserName = Input.Email, Email = Input.Email, FirstName = Input.FirstName, LastName = Input.LastName
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInfo("User created a new account with password.");

                    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());
        }
        public async Task <EventUser> AddEventUser(EventUser eventUser)
        {
            if (_context.EventUsers.Any(x => x.UserId == eventUser.UserId && x.EventId == eventUser.EventId))
            {
                return(null);
            }
            eventUser.Created = DateTime.Now;
            eventUser.Event   = await _context.Events.SingleOrDefaultAsync(e => e.Id == eventUser.EventId);

            eventUser.User = await _context.Users.SingleOrDefaultAsync(u => u.Id == eventUser.UserId);

            await _context.EventUsers.AddAsync(eventUser);

            await _context.SaveChangesAsync();

            return(eventUser);
        }
Example #8
0
        public void Subscribe(int eventId, int userId)
        {
            var newXref = new EventUser()
            {
                eventId = eventId,
                userId  = userId
            };

            var foundEvent = _context.Events.Include(x => x.eventUsers).Where(x => x.Id == eventId).FirstOrDefault();

            if (foundEvent.eventUsers == null)
            {
                foundEvent.eventUsers = new List <EventUser>();
            }
            foundEvent.eventUsers.Add(newXref);
            _context.SaveChanges();
        }
Example #9
0
        public void CanHideAllAttributesExceptKeyForNonAnonUser()
        {
            EventUser eu = EventUser.FromUser(_baseUser, _configWithAllAttrsPrivate);

            Assert.Equal(_baseUser.Key, eu.Key);
            Assert.Null(eu.Secondary);
            Assert.Null(eu.FirstName);
            Assert.Null(eu.LastName);
            Assert.Null(eu.Name);
            Assert.Null(eu.Avatar);
            Assert.Null(eu.IPAddress);
            Assert.Null(eu.Email);
            Assert.Null(eu.Anonymous);
            Assert.Null(eu.Custom);
            Assert.Equal(ImmutableSortedSet.Create <string>("secondary", "ip", "country", "firstName", "lastName", "name", "avatar", "email", "bizzle", "dizzle"),
                         eu.PrivateAttrs);
        }
        public IActionResult UpdateEventUser([FromBody] EventUser user)
        {
            var authenticatedUser = GetAuthenticatedUserNetname();

            if (!_eventRepo.IsAuthorized(user.UserId, authenticatedUser))
            {
                return(Forbid());
            }

            var result = _eventRepo.UpdateUserAsync(user).Result;

            if (result != EventActionResult.Success)
            {
                return(NotFound());
            }
            return(Ok());
        }
Example #11
0
        public async Task InvitePeopleToEvent(InviteDTO invite)
        {
            var user = await context.User.FirstOrDefaultAsync(p => p.Email == invite.Email);

            var _event = await context.Events.FirstOrDefaultAsync(p => p.Id == invite.EventId);

            var eventUser = new EventUser()
            {
                UserId  = user.Id,
                User    = user,
                EventId = _event.Id,
                Event   = _event
            };
            await context.EventUsers.AddAsync(eventUser);

            await context.SaveChangesAsync();
        }
        public void SignUpToVolunteer(string userId, int id, bool adminApproved)
        {
            var eventVolunteer = new EventUser();

            var singleEvent = _repo.Query <Event>().Where(e => e.Id == id).Include(e => e.Comments).Include(e => e.Locations).FirstOrDefault();

            singleEvent.ApprovedByAdmin = adminApproved;
            eventVolunteer.EventId      = id;
            eventVolunteer.MemberId     = userId;
            var ifAlreadyRegisteredVolunteer = _repo.Query <EventUser>().Where(eu => eu.EventId == id && eu.MemberId == userId).FirstOrDefault();

            if (ifAlreadyRegisteredVolunteer == null)
            {
                singleEvent.NumberOfVolunteerRegistered++;
                _repo.Add <EventUser>(eventVolunteer);
                _repo.SaveChanges();
            }
        }
Example #13
0
        public bool ConfirmEventUser(EventUser eventUser)
        {
            var eventUserToConfirm = _context.EventUsers.Include(eu => eu.Event).FirstOrDefault(eu => eu.UserId == eventUser.UserId && eu.EventId == eventUser.EventId);

            if (eventUserToConfirm == null)
            {
                return(false);
            }
            if (eventUserToConfirm.Event.CurrentNumberOfPlayers >= eventUserToConfirm.Event.TargetNumberOfPlayers)
            {
                return(false);
            }

            eventUserToConfirm.Event.CurrentNumberOfPlayers++;
            eventUserToConfirm.IsApproved = true;
            _context.SaveChanges();
            return(true);
        }
        public void CanHideAllAttributesExceptKeyAndAnonymousForAnonUser()
        {
            EventUser eu = EventUser.FromUser(_anonUser, _configWithAllAttrsPrivate);

            Assert.Equal(_anonUser.Key, eu.Key);
            Assert.Equal(_anonUser.SecondaryKey, eu.SecondaryKey);
            Assert.Null(eu.FirstName);
            Assert.Null(eu.LastName);
            Assert.Null(eu.Name);
            Assert.Null(eu.Avatar);
            Assert.Null(eu.IpAddress);
            Assert.Null(eu.Email);
            Assert.True(eu.Anonymous);
            Assert.Null(eu.Custom);
            Assert.Equal(new List <string> {
                "bizzle", "dizzle"
            }, eu.PrivateAttrs);
        }
Example #15
0
        public void CanHideSomeAttributesPerUser()
        {
            EventUser eu = EventUser.FromUser(_userSpecifyingOwnPrivateAttrs, _baseConfig);

            Assert.Equal(_baseUser.Key, eu.Key);
            Assert.Equal(_baseUser.Secondary, eu.Secondary);
            Assert.Null(eu.FirstName);
            Assert.Equal(_baseUser.LastName, eu.LastName);
            Assert.Equal(_baseUser.Name, eu.Name);
            Assert.Equal(_baseUser.Avatar, eu.Avatar);
            Assert.Equal(_baseUser.IPAddress, eu.IPAddress);
            Assert.Equal(_baseUser.Email, eu.Email);
            Assert.Null(eu.Anonymous);
            Assert.Equal(new Dictionary <string, LdValue> {
                { "dizzle", LdValue.Of("ghi") }
            }, eu.Custom);
            Assert.Equal(ImmutableSortedSet.Create <string>("firstName", "bizzle"), eu.PrivateAttrs);
        }
        private async void OnAttend(object obj)
        {
            try
            {
                IsBusy = true;

                var eventUser = @event.Users.FirstOrDefault(u => u.UserId == User.Id);
                if (eventUser == null)
                {
                    var newEventUser = new EventUser(User.Id)
                    {
                        UserName  = User.Name,
                        UserReply = EventReply.Attending
                    };
                    @event.Users.Add(newEventUser);
                }
                else
                {
                    eventUser.UserReply = eventUser.IsAttending
                        ? EventReply.NotAttending
                        : EventReply.Attending;
                }

                var success = await _dataStore.UpdateAsync(@event);

                if (success)
                {
                    UpdateProperties(@event);
                }
                else
                {
                    Debug.WriteLine($"Failed to update event with id: {@event.Id}");
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("Failed to update event. " + e.Message);
            }
            finally
            {
                IsBusy = false;
            }
        }
        private async void Button_Clicked_1(object sender, EventArgs e)
        {
            bool answer = await DisplayAlert("", "Czy na pewno chcesz wypisać się z tego wydarzenia?", "Tak", "Nie");

            if (answer)
            {
                EventUser stringInThisCell = (EventUser)((Button)sender).BindingContext;


                conn = DependencyService.Get <ISQLite>().GetConnection();
                conn.CreateTable <EventUser>();


                //conn.Query<EventUser>("select * from EventUser",null);

                conn.Delete(stringInThisCell);
                events2.Remove(stringInThisCell);
            }
        }
Example #18
0
        public ActionResult Create([Bind(Include = "UserId,UserName,UserOrganization,UserDesignation")] Users users)
        {
            if (ModelState.IsValid)
            {
                EventUser eventUser = new EventUser();
                eventUser.UserId = users.UserId;
                // EventsController control = new EventsController();
                eventUser.EventId = (int)Session["myid"];

                eventUser.UserName = users.UserName;

                db.EventUser.Add(eventUser);
                db.Users.Add(users);
                db.SaveChanges();
                ViewBag.successMessage = "Success";
                return(RedirectToAction("Details", "Events", new { id = eventUser.EventId }));
            }

            return(View(users));
        }
        protected async Task <string> MyMethod(MainWindow mainWindow)
        {
            conn = DependencyService.Get <ISQLite>().GetConnection();


            List <EventPhoto> query = conn.Query <EventPhoto>("Select * From EventPhoto where EventPhotoId =0  ORDER BY ROWID ASC LIMIT 1");

            if (query.Count > 0)
            {
                EventPhoto EP = query[0];

                conn = DependencyService.Get <ISQLite>().GetConnection();
                conn.CreateTable <EventUser>();

                EventUser a = conn.Table <EventUser>().Where(k => k.EventId == EP.EventId).ToList()[0];

                var x12356 = await SendRequestAsync_jw(EP, a);
            }
            return(null);
        }
        public void CanHideSomeAttributesPerUser()
        {
            EventUser eu = EventUser.FromUser(_userSpecifyingOwnPrivateAttrs, _baseConfig);

            Assert.Equal(_baseUser.Key, eu.Key);
            Assert.Equal(_baseUser.SecondaryKey, eu.SecondaryKey);
            Assert.Null(eu.FirstName);
            Assert.Equal(_baseUser.LastName, eu.LastName);
            Assert.Equal(_baseUser.Name, eu.Name);
            Assert.Equal(_baseUser.Avatar, eu.Avatar);
            Assert.Equal(_baseUser.IPAddress, eu.IpAddress);
            Assert.Equal(_baseUser.Email, eu.Email);
            Assert.Null(eu.Anonymous);
            Assert.Equal(new Dictionary <string, JToken> {
                { "dizzle", new JValue("ghi") }
            }, eu.Custom);
            Assert.Equal(new List <string> {
                "bizzle", "firstName"
            }, eu.PrivateAttrs);
        }
        public void Subscribe(int eventId, int userId)
        {
            var newXref = new EventUser()
            {
                eventId = eventId,
                userId  = userId
            };
            var user = _context.Users.Where(x => x.Id == userId).FirstOrDefault();
            var evt  = _context.Events.Where(x => x.Id == eventId).FirstOrDefault();

            var foundEvent = _context.Events.Include(x => x.eventUsers).Where(x => x.Id == eventId).FirstOrDefault();

            if (foundEvent.eventUsers == null)
            {
                foundEvent.eventUsers = new List <EventUser>();
            }
            // foundEvent.eventUsers.Add(newXref);
            //_context.SaveChanges();
            MailSender.sendEmail(user.Email, "<p>Thank you for subscribing our event. Details of the event are as following: <br>" + " Name: " + evt.Name + "<br>" + " Date: " + evt.Date + "<br>" + " Time: " + DateTime.Parse(evt.Time).ToString("hh:mm tt") + "<br>" + " Venue " + evt.Venue + "<br>" + " Organizer: " + evt.Organization + "<p>");
        }
Example #22
0
        public async Task <IActionResult> Create(CreateEventViewModel model, List <string> names)
        {
            if (ModelState.IsValid)
            {
                Guid guid = Guid.NewGuid();
                model.Id = guid;
                dataManager.EventItems.SaveEventItem(new EventItem {
                    Id = model.Id, Name = model.Name, DateStart = model.DateStart, DateEnd = model.DateEnd
                });
                foreach (string name in names)
                {
                    User user = await userManager.FindByNameAsync(name);

                    EventUser eventUser = new EventUser {
                        Id = Guid.NewGuid(), EventId = model.Id, UserId = user.Id
                    };
                    dataManager.EventsUsers.SaveEventsUsers(eventUser);
                }
                return(RedirectToAction("Index"));
            }
            return(NotFound());
        }
        public async Task <ActionResult> Put([FromBody] EventUser item)
        {
            try
            {
                var result = await _eventUserRepository.GetAll(
                    f => f.Where(x => x.EventId == item.EventId && x.UserId == item.UserId)
                    );

                if (result.Any())
                {
                    await _eventUserRepository.Update(item);

                    return(Ok());
                }
                return(NotFound());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"{LocalLog}[Put][Item: {JsonConvert.SerializeObject(item)}]");
                throw ex;
            }
        }
Example #24
0
        public bool CheckPassword(string unHashedPassword, string username)
        {
            EventUser getHashPwd = null;

            try
            {
                getHashPwd = (from p in db.EventUsers.Where(x => x.EmailAddress == username) select p).FirstOrDefault();
                if (getHashPwd != null)
                {
                    return(Crypto.VerifyHashedPassword(getHashPwd.PasswordHash, unHashedPassword));
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                //log.Error(ex.Message);
                throw ex;
            }
        }
Example #25
0
        public async Task AddUserAsync(int eventId, string userId, string userEmail, string username)
        {
            var eventUser = new EventUser
            {
                EventId = eventId,
                UserId  = userId,
            };

            await this.eventsUsersRepository.AddAsync(eventUser);

            await this.eventsUsersRepository.SaveChangesAsync();

            await this.messagesService.CreateAsync(EventJoiningMessage, userId, eventId);

            await this.ChangeEventStatusAsync(eventId);

            var eventObject = await this.GetEventDetailsForEmailByIdAsync(eventId);

            await this.emailSender.SendEmailAsync(
                userEmail,
                EmailSubjectConstants.JoinedEvent,
                EmailHtmlMessages.GetJoinEventHtml(username, eventObject));
        }
Example #26
0
        public async Task <bool> JoinEvent(string eventId, string userId, string role)
        {
            Event eventEntity = await this.GetEventById(eventId);

            User user = await this.userService.FindUserById(userId);

            this.emailService.SendEmail(user, $"Успешно се записа за събитието {eventEntity.Name}!", $"Clubest - {eventEntity.Name}");
            if (eventEntity != null && user != null)
            {
                if (this.dbContext.EventUsers.Any(x => x.UserId == userId && x.EventId == eventId))
                {
                    EventUser entity = await this.dbContext.EventUsers.FirstOrDefaultAsync(x => x.UserId == userId && x.EventId == eventId);

                    entity.Role = role;

                    await this.dbContext.SaveChangesAsync();

                    return(true);
                }
                EventUser eventUser = new EventUser()
                {
                    EventId = eventId,
                    Event   = eventEntity,
                    UserId  = userId,
                    User    = user,
                    Role    = role
                };

                await this.dbContext.EventUsers.AddAsync(eventUser);

                await this.dbContext.SaveChangesAsync();

                return(true);
            }

            return(false);
        }
Example #27
0
        public async Task <IActionResult> Attend(int?id, UserType type)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var talk = (Talk)await _context.Events
                       .Include(p => p.Conference)
                       .Include(p => p.EventCenterRoom)
                       .FirstOrDefaultAsync(m => m.Id == id);

            if (talk == null)
            {
                return(NotFound());
            }


            ClaimsPrincipal currentUser   = this.User;
            var             currentUserId = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;

            var eventUser = await _context.EventUsers.FirstOrDefaultAsync(m => m.UserId == currentUserId& m.EventId == talk.Id);

            if (eventUser != null)
            {
                return(RedirectToAction("Details", routeValues: new { id = talk.Id }));
            }

            var newEventUser = new EventUser();

            newEventUser.UserId  = currentUserId;
            newEventUser.EventId = talk.Id;
            newEventUser.Type    = type;
            _context.Add(newEventUser);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Details", routeValues: new { id = talk.Id }));
        }
Example #28
0
        public bool AddEventUser(Guid eventGuid, Guid userId)
        {
            var userToAdd  = _context.Users.Find(userId);
            var eventToAdd = _context.Events.Find(eventGuid);

            if (eventToAdd == null || userToAdd == null)
            {
                return(false);
            }

            if (eventToAdd.CurrentNumberOfPlayers >= eventToAdd.TargetNumberOfPlayers)
            {
                return(false);
            }

            var eventUser = new EventUser
            {
                EventId    = eventGuid,
                Event      = _context.Events.Find(eventGuid),
                UserId     = userId,
                User       = _context.Users.Find(userId),
                IsReviewed = false,
                IsApproved = false,
                IsCanceled = false,
                IsHost     = false
            };

            if (eventToAdd.IsInstantJoin)
            {
                eventUser.IsApproved = true;
                eventToAdd.CurrentNumberOfPlayers++;
            }
            _context.EventUsers.Add(eventUser);
            _context.SaveChanges();
            return(true);
        }
        public async Task SeedAsync(ApplicationDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext.EventsUsers.Any())
            {
                return;
            }

            var random      = new Random();
            var eventUsers  = new List <EventUser>();
            var eventsCount = dbContext.Events.Count();
            var adminRoleId = await dbContext.Roles
                              .Where(r => r.Name == GlobalConstants.ArenaAdminRoleName)
                              .Select(r => r.Id)
                              .FirstAsync();

            var singleAdminCities = await dbContext.Cities
                                    .Where(x => x.Name == "Burgas" || x.Name == "Varna" || x.Name == "Ruse")
                                    .Select(c => c.Id)
                                    .ToListAsync();

            foreach (var cityId in singleAdminCities)
            {
                for (int i = 0; i < 3; i++)
                {
                    var userId = await dbContext.ApplicationUsers
                                 .Where(au => au.CityId == cityId)
                                 .Where(au => au.Roles
                                        .Any(r => r.RoleId == adminRoleId))
                                 .Select(au => au.Id)
                                 .FirstAsync();

                    var eventId = await dbContext.Events.Where(e => e.CityId == cityId).Select(e => e.Id).Skip(i).FirstAsync();

                    var eventUser = new EventUser
                    {
                        EventId = eventId,
                        UserId  = userId,
                    };

                    eventUsers.Add(eventUser);
                }
            }

            var plovdivId = await dbContext.Cities
                            .Where(x => x.Name == "Plovdiv")
                            .Select(c => c.Id)
                            .FirstAsync();

            var plovdivEvents = await dbContext.Events.Where(e => e.CityId == plovdivId).Select(e => e.Id).ToListAsync();

            for (int i = 1; i <= 6; i++)
            {
                var userId = await dbContext.ApplicationUsers
                             .Where(au => au.CityId == plovdivId)
                             .Where(au => au.Roles
                                    .Any(r => r.RoleId == adminRoleId))
                             .Select(au => au.Id)
                             .Skip(i % 2)
                             .FirstAsync();

                var eventUser = new EventUser
                {
                    EventId = plovdivEvents[i - 1],
                    UserId  = userId,
                };

                eventUsers.Add(eventUser);
            }

            var sofiaId = await dbContext.Cities
                          .Where(x => x.Name == "Sofia")
                          .Select(c => c.Id)
                          .FirstAsync();

            var sofiaEvents = await dbContext.Events.Where(e => e.CityId == sofiaId).Select(e => e.Id).ToListAsync();

            var sofiaUsers = await dbContext.ApplicationUsers
                             .Where(au => au.CityId == sofiaId)
                             .Where(au => au.Roles
                                    .Any(r => r.RoleId == adminRoleId))
                             .Select(au => au.Id)
                             .ToListAsync();

            for (int i = 1; i <= 10; i++)
            {
                var eventUser = new EventUser
                {
                    EventId = sofiaEvents[i - 1],
                    UserId  = sofiaUsers[i > 5 ? i - 6 : i - 1],
                };

                eventUsers.Add(eventUser);
            }

            dbContext.EventsUsers.AddRange(eventUsers);
        }
Example #30
0
 public async Task <EventUser> InsertEventUser(EventUser eventUser)
 {
     return(await subscriptionRepository.InsertEventUser(eventUser));
 }