public IHttpActionResult DeleteRegistraion(Guid id) { ApplicationUser user = GetAuthUser(); TournamentApplication application = _dbContext.TournamentApplications.Find(id); if (application != null) { if (application.UserId == user.Id) { _dbContext.TournamentApplications.Remove(application); try { _dbContext.SaveChanges(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament registration delete error: " + e.Message); return(BadRequest("Something went wrong!")); } return(Ok(id)); } return(NotFound()); } return(NotFound()); }
public async Task <IActionResult> RemoveFromGroup(Guid id) { if (await UserIsInRole("event-admin")) { TournamentApplication entity = await _dbContext.TournamentApplications.FindAsync(id); if (entity != null) { entity.TournamentCSGOGroupId = null; entity.TournamentSC2GroupId = null; try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament group participant delete exception: " + e.Message); return(BadRequest("Something went wrong...")); } return(Ok()); } return(NotFound()); } return(Unauthorized()); }
public async Task <IActionResult> ConfirmRegistration(Guid id, TournamentApplication application) { if (await UserIsInRole("admin")) { TournamentApplication entity = await _dbContext.TournamentApplications.FindAsync(id); if (entity != null) { _dbContext.Entry(entity).CurrentValues.SetValues(application); try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament registration update error: " + e.Message); return(BadRequest("Something went wrong!")); } return(Ok(application)); } return(NotFound()); } return(Unauthorized()); }
public async Task <IActionResult> AddToGroup(Guid id, TournamentApplication participant) { TournamentGroup entity; if (await UserIsInRole("event-admin")) { entity = await _dbContext.TournamentCSGOGroups.FindAsync(id); if (entity == null) { entity = await _dbContext.TournamentSC2Groups.FindAsync(id); if (entity != null) { TournamentApplication app = await _dbContext.TournamentApplications.FindAsync(participant.Id); if (app == null) { return(NotFound()); } app.TournamentSC2GroupId = id; try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament group participant add exception: " + e.Message); return(BadRequest("Something went wrong...")); } return(Ok()); } return(NotFound()); } else { TournamentApplication app = await _dbContext.TournamentApplications.FindAsync(participant.Id); if (app == null) { return(NotFound()); } app.TournamentCSGOGroupId = id; try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament group participant add exception: " + e.Message); return(BadRequest("Something went wrong...")); } return(Ok()); } } return(Unauthorized()); }
public async Task <IActionResult> DeleteRegistraion(Guid id) { ApplicationUser user = await GetAuthUser(); TournamentApplication application = await _dbContext.TournamentApplications.FindAsync(id); if (application?.UserId == user.Id || await UserIsInRole("admin")) { _dbContext.TournamentApplications.Remove(application); try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament registration delete error: " + e.Message); return(BadRequest("Something went wrong!")); } return(Ok(id)); } return(NotFound()); }
public async Task <IHttpActionResult> Register(TournamentApplication application) { if (ModelState.IsValid) { Company c = _dbContext.Companies.Find(application.CompanyId); ApplicationUser user = GetAuthUser(); if (application.Game == Game.StarCraft2) { if (string.IsNullOrEmpty(application.BattleNetId)) { return(BadRequest("Моля попълнете Battle.net battle tag!")); } if (_dbContext.TournamentApplications.Where(a => a.BattleNetId == application.BattleNetId && a.TournamentId == application.TournamentId).SingleOrDefault() != null) { return(BadRequest($"Вече има направена регистрация с battle tag {application.BattleNetId}!")); } if (user.BattleNetId == null || user.BattleNetId != application.BattleNetId) { _dbContext.Users.Find(user.Id).BattleNetId = application.BattleNetId; } } else { if (application.TeamId == Guid.Empty) { return(BadRequest("Моля попълнете отбор във формата за регистрация!")); } if (_dbContext.TournamentApplications.Where(a => a.TeamId == application.TeamId && a.TournamentId == application.TournamentId).SingleOrDefault() != null) { return(BadRequest("Вече има направена регистрация за този отбор!")); } } if (c == null) { _dbContext.Companies.Add(new Company() { Name = application.CompanyId }); } application.UniqueHash(_dbContext); application.UserId = user.Id; _dbContext.TournamentApplications.Add(application); try { _dbContext.SaveChanges(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceError("Tournament registration error: " + e.Message); return(BadRequest("Нещо се обърка...")); } try { string gameMsg = application.Game == Game.CSGO ? "Вашата регистрация е за участие в лигата по CS:GO" : $"Вашата регистрация е за участие в лигата по StarCraft II, с battle tag {application.BattleNetId}"; string message = $@"Здравей, { user.UserName }, <p>Успешно получихме вашата регистрация за Esports Бизнес Лигата. В регистрацията сте посочили, че текущо работите в <b>{ application.CompanyId }</b>. {gameMsg}. Регистрация ще бъде потвърдена след като преведете таксата за участие (60лв. с ДДС за лигата по StarCraft II, или 300лв. с ДДС за лигата по CS:GO).</p> <p>Банковата ни сметка е</p> <ul> <li>Име на Банката: <b>{ AppInfo.Config.bank }</b></li> <li>Титуляр: <b>{ AppInfo.Config.bankAccountOwner }</b></li> <li>Сметка: <b>{ AppInfo.Config.bankAccount }</b></span></li> <li>BIC: <b>{ AppInfo.Config.bic }</b></li> </ul> <p>Моля при превода да сложите в основанието уникалния код, който сме генерирали за вашата регистрация: <b>{ application.Hash }</b>. Можете да намерите кода и през вашият профил на сайта ни.</p> <p>Ако ви е нужна фактура, моля да се свържете с нас на <a href='mailto:[email protected]'>[email protected]</a>!</p> <p>Заповядайте и в нашият <a href='https://discord.gg/bnTcpa9'>дискорд сървър</a>!</p> <p>Поздрави от екипа на Bellum Gens!</p> <a href='https://eb-league.com' target='_blank'>https://eb-league.com</a>"; await EmailServiceProvider.SendNotificationEmail(application.Email, "Регистрацията ви е получена", message).ConfigureAwait(false); } catch (Exception e) { System.Diagnostics.Trace.TraceError("Tournament registration error: " + e.Message); } return(Ok(application)); } return(BadRequest("Не успяхме да вилидираме информацията...")); }