public async Task RemoveAsyncContestantInHeat(ContestantInHeat h) { var r = _resultService.GetResult(h.UserId, h.HeatId); await _resultService.RemoveAsync(r); await _repo.RemoveAsyncContestantInHeat(h); }
public void RemoveContestantInHeat(ContestantInHeat h) { var r = _resultService.GetResult(h.UserId, h.HeatId); _resultService.RemoveAsync(r); _repo.RemoveContestantInHeat(h); }
public async Task <IActionResult> RemoveContestant(ContestantInHeat model, string userId, int competitionInstanceId, int competitionId, int eventId) { if (!ModelState.IsValid) { return(View(model)); } try { var entity = _heatService.GetContestantInHeatById(model.HeatId, model.UserId); await _heatService.RemoveAsyncContestantInHeat(entity); } catch (Exception e) { return(Json(e.Message)); } //Remove all chips in heat entries for this user in the heat var chipInHeat = _chipService.GetChipsInHeatsForUserInHeat(model.UserId, model.HeatId); foreach (var item in chipInHeat) { _chipService.RemoveChipInHeat(item); } return(RedirectToAction("Contestants", "Event", new { eventId, competitionId, competitionInstanceId })); }
public async Task <IActionResult> AddContestant(List <AddContestantViewModel> model, int competitionInstanceId, int competitionId, string userId) { if (ModelState.IsValid) { foreach (var item in model) { if (item.Add) { var contestantInHeat = new ContestantInHeat { Bib = item.Bib, HeatId = item.HeatId, Modified = DateTime.Now, Team = item.Team, UserId = item.UserId }; await _heatService.AddAsyncContestantInHeat(contestantInHeat); if (item.ChipNumber > 0) { var chip = await _chipService.GetChipByNumberAsync(item.ChipNumber); if (chip == null) { await _heatService.RemoveAsyncContestantInHeat(contestantInHeat); return(Json("There exists no chip with the chip number " + item.ChipNumber)); } var chipinHeat = new ChipInHeat { ChipCode = chip.Code, HeatId = item.HeatId, UserId = item.UserId, Valid = true }; try { await _chipService.AssignChipToUserInHeatAsync(chipinHeat); } catch (Exception e) { await _heatService.RemoveAsyncContestantInHeat(contestantInHeat); return(Json(e.Message)); } } } } return(RedirectToAction("Contestants", "CompetitionInstance", new { @competitionId = competitionId, @competitionInstanceId = competitionInstanceId })); } var user = await _adminService.GetUserByIdAsync(userId); ViewBag.UserName = user.FirstName + " " + user.MiddleName + " " + user.LastName; return(View(model)); }
public async Task AddAsyncContestantInHeat(ContestantInHeat h) { await _repo.InsertAsyncContestantInHeat(h); var result = new CreateResultViewModel { UserId = h.UserId, HeatId = h.HeatId, }; await _resultService.AddAsync(result); }
public void AddContestantInHeat(ContestantInHeat h) { _repo.InsertContestantInHeat(h); var result = new CreateResultViewModel { UserId = h.UserId, HeatId = h.HeatId, }; _resultService.AddAsync(result); }
public async Task <IActionResult> AddContestant(AddContestantToHeatViewModel model, int heatId, int eventId, int competitionId, int competitionInstanceId, string userId) { if (!ModelState.IsValid) { var user = await _adminService.GetUserByIdAsync(userId); ViewBag.UserName = user.FirstName + " " + user.LastName; var heat = await _heatService.GetHeatByIdAsync(heatId); ViewBag.HeatId = heat.HeatNumber; return(View(model)); } var entity = new ContestantInHeat { Bib = model.Bib, HeatId = heatId, Modified = DateTime.Now, Team = model.Team, UserId = model.UserId }; await _heatService.AddAsyncContestantInHeat(entity); if (model.ChipNumber > 0) { var chip = await _chipService.GetChipByNumberAsync(model.ChipNumber); if (chip == null) { await _heatService.RemoveAsyncContestantInHeat(entity); return(Json("There exists no chip with the chip number " + model.ChipNumber)); } var chipinHeat = new ChipInHeat { ChipCode = chip.Code, HeatId = heatId, UserId = model.UserId, Valid = true }; try { await _chipService.AssignChipToUserInHeatAsync(chipinHeat); } catch (Exception e) { await _heatService.RemoveAsyncContestantInHeat(entity); return(Json(e.Message)); } } return(RedirectToAction("Heat", "Admin", new { heatId, eventId, competitionId, competitionInstanceId })); }
public async Task <IActionResult> RegisterToEvent(RegisterToEventDto model, string userId, int eventId) { if (ModelState.IsValid) { var heatsInEvent = _heatService.GetHeatsForEvent(model.Event.Id); var heatId = (from x in heatsInEvent where x.HeatNumber == 0 select x.Id).SingleOrDefault(); var contestantInHeat = new ContestantInHeat { HeatId = heatId, UserId = model.UserId, Modified = DateTime.Now }; await _heatService.AddAsyncContestantInHeat(contestantInHeat); return(RedirectToAction("Events", "User", new { @competitionInstanceId = model.Instance.Id })); } return(View(model)); }
public async Task <IActionResult> EditContestantInEvent(EditContestantInEventDto model, string userId, int competitionInstanceId, int competitionId, int eventId) { if (ModelState.IsValid) { // Get The Chip Contestants in About To Be Connected To var chip = await _chipService.GetChipByNumberAsync(model.ChipNumber); if (chip == null && model.ChipNumber != 0) { return(Json("Chip with this Number does not exist")); } // Get oldChipInHeat To Remove var oldChipInHeat = await _chipService.GetChipInHeatByCodeUserIdAndHeatId(model.OldChipCode, userId, model.OldHeatId); if (oldChipInHeat != null) { var chipSuccess = await _chipService.RemoveChipInHeatAsync(oldChipInHeat); if (!chipSuccess) { return(Json("chipInHeatToRemove not successfully removed")); } } if (model.ChipNumber != 0) { // Edit Fields in Contestants New Chip chip.LastCompetitionInstanceId = competitionInstanceId; chip.LastUserId = userId; chip.LastSeen = DateTime.Now; var chipEdit = await _chipService.EditChipAsync(chip); if (chipEdit != true) { return(Json("Edit Chip Failed")); } // Create New ChipInHeat var newChipInHeat = new ChipInHeat { UserId = userId, ChipCode = chip.Code, HeatId = model.HeatId, Valid = true }; // Assigning New ChipInHeat To User try { await _chipService.AssignChipToUserInHeatAsync(newChipInHeat); } catch (Exception e) { return(Json(e.Message)); } } // Get ContestantInHeat To Remove var contestantInHeat = await _heatService.GetContestantsInHeatByUserIdAndHeatIdAsync(userId, model.OldHeatId); if (contestantInHeat == null) { return(Json("contestantInHeat does not match this userId and heatId")); } // Get Old Results to keep track of data before it is deleted var oldResult = await _resultService.GetResultAsync(userId, model.OldHeatId); if (oldResult == null) { return(Json("Result does not match this userId and heatId")); } // Removes ContestantInHeat and Result await _heatService.RemoveAsyncContestantInHeat(contestantInHeat); // Create New ContestantIn Heat To Replace The Old One // New Result Will Be Created Automatically var newContestantInHeat = new ContestantInHeat { HeatId = model.HeatId, UserId = userId, Bib = model.Bib, Team = model.Team, Modified = DateTime.Now }; // Save newContestantInHeat In Database await _heatService.AddAsyncContestantInHeat(newContestantInHeat); // Get The New Result To Update Its Data var newResult = await _resultService.GetResultAsync(userId, newContestantInHeat.HeatId); if (newResult == null) { return(Json("newResult was not created which means newContestantInHeat was not created")); } // Edit Field That Came From The Model newResult.Modified = DateTime.Now; newResult.HeatId = model.HeatId; newResult.Status = model.Status; newResult.Notes = model.Notes; newResult.UserId = userId; // Edit Fields That Came From The Old Result newResult.Name = oldResult.Name; newResult.Club = oldResult.Club; newResult.Country = oldResult.Country; newResult.Created = oldResult.Created; newResult.Gender = oldResult.Gender; newResult.FinalTime = oldResult.FinalTime; newResult.Nationality = oldResult.Nationality; // Save newResult In Database await _resultService.EditAsync(newResult); return(RedirectToAction("Contestants", "CompetitionInstance", new { competitionId, competitionInstanceId })); } return(View(model)); }
public void EditContestantInHeat(ContestantInHeat h) { _db.ContestantsInHeats.Update(h); _db.SaveChanges(); }
public async Task InsertAsyncContestantInHeat(ContestantInHeat h) { _db.ContestantsInHeats.Add(h); await _db.SaveChangesAsync(); }
public async Task EditAsyncContestantInHeat(ContestantInHeat h) { await _repo.EditAsyncContestantInHeat(h); //TODO: Update result for contestant }
public void InsertContestantInHeat(ContestantInHeat h) { _db.ContestantsInHeats.Add(h); _db.SaveChanges(); }
public async Task RemoveAsyncContestantInHeat(ContestantInHeat h) { _db.ContestantsInHeats.Remove(h); await _db.SaveChangesAsync(); }
public void RemoveContestantInHeat(ContestantInHeat h) { _db.ContestantsInHeats.Remove(h); _db.SaveChanges(); }
public async Task EditAsyncContestantInHeat(ContestantInHeat h) { _db.ContestantsInHeats.Update(h); await _db.SaveChangesAsync(); }
public void EditContestantInHeat(ContestantInHeat h) { _repo.EditContestantInHeat(h); //TODO: Update result for contestant }