public async Task <IActionResult> UnBanAsync(string id, int evId) { UserInEvent uie = await _dbContext.UserInEvents.Include(o => o.Event).Include(o => o.User).FirstOrDefaultAsync(o => o.User.Id == id && o.Event.Id == evId); uie.IsBanned = false; return(await _saveRepository.RedirectToEvent(uie.Event.Id)); }
// Post: Events/Details/5 public async Task <IActionResult> Detailsubmit(int?id, int?userId = 1) { if (id == null || userId == null) { return(NotFound()); } var @event = await _context.Events .Include(e => e.Category) .FirstOrDefaultAsync(m => m.Id == id); if (@event == null) { return(NotFound()); } var @userInEvent = new UserInEvent { EventId = Convert.ToInt32(id), UserId = Convert.ToInt32(userId), IsApproved = true, EventBarcode = Guid.NewGuid().ToString() }; _context.Add(@userInEvent); await _context.SaveChangesAsync(); int userEventid = @userInEvent.Id; return(RedirectToAction("ThankYou", new { id = userEventid })); }
private async Task <IActionResult> ChangeModeratorAsync(Roles role, string id, int evId) { UserInEvent uie = await _dbContext.UserInEvents.Include(o => o.Event).Include(o => o.User).FirstOrDefaultAsync(o => o.User.Id == id && o.Event.Id == evId); uie.Role = role; _dbContext.UserInEvents.Update(uie); return(await _saveRepository.RedirectToEvent(uie.Event.Id)); }
public Task SignUserToEvent(int eventId, Guid userId) { var userEvent = new UserInEvent() { EventId = eventId, UserId = userId }; return(_unitOfWork.UserInEventRepository.SignUserToEvent(userEvent)); }
public async Task <IActionResult> LeaveAsync(int idEv) { var userId = _userManager.GetUserId(HttpContext.User); UserInEvent uie = await _dbContext.UserInEvents.Include(o => o.User).Include(o => o.Event).FirstOrDefaultAsync(o => o.Event.Id == idEv && o.User.Id == userId); _dbContext.UserInEvents.Remove(uie); await _dbContext.SaveChangesAsync(); return(RedirectToAction("EventList", "Event")); }
public string AddEvent([FromBody] AddEventmodel model) { DateTime timeNow = DateTime.Now; string cultureInfo = "ru-RU"; var culture = new CultureInfo(cultureInfo); Event event_ = new Event() { phoneNumberCreator = model.phoneNumberCreator, dateCreated = timeNow.ToString(culture) }; EventInfo eventinfo = new EventInfo() { phoneNumberCreator = event_.phoneNumberCreator, dateCreated = event_.dateCreated, title = model.title, description = model.description, gender = model.gender, personNumber = model.personNumber, meetingDate = model.meetingDate, userRegistred = 1, done = false }; EventBuilding connect = new EventBuilding() { phoneNumberCreator = event_.phoneNumberCreator, dateCreated = event_.dateCreated, buildingId = model.buildingId }; UserInEvent user = new UserInEvent() { phoneNumberCreator = event_.phoneNumberCreator, dateCreated = event_.dateCreated, phoneNumber = model.phoneNumberCreator, takePart = true }; try { using (var context = new AppContext()) { context.Events.Add(event_); context.EventsInfo.Add(eventinfo); context.EventsBuilding.Add(connect); context.UsersInEvents.Add(user); context.SaveChanges(); return("true"); } } catch { return("Ошибка подключения"); } }
public async Task <bool> GetAsync(string email, string url) { //Проверка инвайта на существование, получение в случае елси существует var askedInvite = _dbContext.Invites.Include(o => o.Event).Where(o => o.Url == url); if (askedInvite.Count() == 0) { return(false); } Invite inv = askedInvite.First(); //Не в блеклисте ли пользователь var User = await _dbContext.Users.FirstOrDefaultAsync(o => o.Email == email); var userId = User.Id; var blacklist = _dbContext.UserInEvents.Include(o => o.User).Include(o => o.Event).ToList().Exists(o => o.User.Id == userId && o.IsBanned); if (blacklist) { return(false); } //Нет ли этого пользователя уже в этом ивенте var thisUserInThisEvent = _dbContext.UserInEvents.Include(o => o.User).Include(o => o.Event).ToList().Exists(o => o.Event.Id == inv.Event.Id && o.User.Id == userId); if (thisUserInThisEvent) { return(false); } var Event = await _dbContext.Events.FirstOrDefaultAsync(o => o.Id == inv.EventId); UserInEvent uie = new UserInEvent { User = User, Event = Event, Role = Roles.regularUser, }; _dbContext.UserInEvents.Add(uie); if (inv.Type == InviteType.Single) { _dbContext.Invites.Remove(inv); } await _dbContext.SaveChangesAsync(); return(true); }
public async Task <IActionResult> JoinInviteAsync(string Url) { //Проверка инвайта на существование, получение в случае елси существует var askedInvite = _dbContext.Invites.Include(o => o.Event).Where(o => o.Url == Url); if (askedInvite.Count() == 0) { return(RedirectToAction("Index", "Home")); } Invite inv = askedInvite.First(); //Не в блеклисте ли пользователь var userId = _userManager.GetUserId(HttpContext.User); var blacklist = _dbContext.UserInEvents.Include(o => o.User).Include(o => o.Event).ToList().Exists(o => o.User.Id == userId && o.IsBanned); if (blacklist) { return(RedirectToAction("Index", "Home")); } //Нет ли этого пользователя уже в этом ивенте var thisUserInThisEvent = _dbContext.UserInEvents.Include(o => o.User).Include(o => o.Event).ToList().Exists(o => o.Event.Id == inv.Event.Id && o.User.Id == userId); if (thisUserInThisEvent) { return(RedirectToAction("Event", "Event", new { id = inv.Event.Id })); } var User = await _userManager.GetUserAsync(this.User); var Event = await _dbContext.Events.FirstOrDefaultAsync(o => o.Id == inv.EventId); UserInEvent uie = new UserInEvent { User = User, Event = Event, Role = Roles.regularUser, }; _dbContext.UserInEvents.Add(uie); if (inv.Type == InviteType.Single) { _dbContext.Invites.Remove(inv); } return(await RedirectToEvent(inv.EventId)); }
public async Task <IActionResult> Ban(string id, int evId) { var curUsr = await _userManager.GetUserAsync(this.User); UserInEvent current = await _dbContext.UserInEvents.Include(o => o.Event).Include(o => o.User).FirstOrDefaultAsync(o => o.User.Id == _userManager.GetUserId(HttpContext.User) && o.Event.Id == evId); if (current.Role != Roles.moderator) { return(RedirectToAction("Event", "Event", new { id = evId })); //Проверка на то, модератор ли текущий пользователь } UserInEvent uie = await _dbContext.UserInEvents.Include(o => o.Event).Include(o => o.User).FirstOrDefaultAsync(o => o.User.Id == id && o.Event.Id == evId); uie.IsBanned = true; return(await _saveRepository.RedirectToEvent(uie.Event.Id)); }
public async Task<UserInEventDTO> AddUserToEvent(UserInEventDTO userInEvent) { User user = await _dbContext.Users .Include(u => u.UserInEvents).ThenInclude(ue => ue.Event) .FirstOrDefaultAsync(u => u.Id == userInEvent.UserId); Event evt = await _dbContext.Events .FirstOrDefaultAsync(e => e.Id == userInEvent.EventId); UserInEvent newUserInEvent = new UserInEvent { Event = evt, User = user }; await _dbContext.UserInEvents.AddAsync(newUserInEvent); await _dbContext.SaveChangesAsync(); return userInEvent; }
public string AddUserToEvent([FromBody] AddUserToEventModel model) { using (var context = new AppContext()) { var event_ = context.Events.Where(u => u.phoneNumberCreator == model.phoneNumberCreator & u.dateCreated == model.dateCreated).ToList(); if (event_.Count == 0) { return("Данного события не существует"); } else { var check = context.UsersInEvents.Where(u => u.phoneNumberCreator == model.phoneNumberCreator & u.dateCreated == model.dateCreated & u.phoneNumber == model.phoneNumber).ToList(); var maxcount = context.EventsInfo.First(u => u.dateCreated == event_[0].dateCreated & u.phoneNumberCreator == event_[0].phoneNumberCreator); if (maxcount.userRegistred == maxcount.personNumber) { return("Уже зарегистрировано максимальное количество человек"); } else { if (check.Count > 0) { return("Вы уже подали завку на участие в событии"); } else { UserInEvent user = new UserInEvent() { phoneNumber = model.phoneNumber, phoneNumberCreator = model.phoneNumberCreator, dateCreated = model.dateCreated, takePart = false }; context.UsersInEvents.Add(user); context.SaveChanges(); return("true"); } } } } }
public Task SignUserToEvent(UserInEvent userInEvent) { return(_dbContext.UsersInEvent.AddAsync(userInEvent)); }