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); }
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); }
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)); }
/// <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 以外で参加しようとした }
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); }
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(); }
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()); }
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(); } }
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); }
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); } }
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>"); }
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; } }
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; } }
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)); }
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); }
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 })); }
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); }
public async Task <EventUser> InsertEventUser(EventUser eventUser) { return(await subscriptionRepository.InsertEventUser(eventUser)); }