public IActionResult Index(TournamentVM tvm) { tvm.ArabicMonthName = ArabicMonthName(tvm.Month) + " " + tvm.Year; tvm.DDlYear = GenerateYearsDDL(tvm.Year); tvm.DDlMonth = GenerateMonthsDDL(tvm.Month); var shootingField = _context.ShootingFields.Find(tvm.ShootingFieldId); if (shootingField == null) { return(Redirect("/Error/404")); } tvm.DDLShootingField = new SelectList(_context.ShootingFields.OrderByDescending(i => i.Id).ToList(), "Id", "ShootingName", tvm.ShootingFieldId); if (tvm.ShootingFieldId == 1008) { tvm.Tournaments = _context.Tournaments.Where(t => t.TournamentDate.Year == tvm.Year && t.TournamentDate.Month == tvm.Month && t.ShootingFieldId != tvm.ShootingFieldId).Include(t => t.ShootingField).OrderBy(t => t.TournamentDate).ToList(); } else { tvm.Tournaments = _context.Tournaments.Where(t => t.TournamentDate.Year == tvm.Year && t.TournamentDate.Month == tvm.Month && t.ShootingFieldId == tvm.ShootingFieldId).Include(t => t.ShootingField).OrderBy(t => t.TournamentDate).ToList(); } foreach (var item in tvm.Tournaments) { int IndexOfWeek = (int)item.TournamentDate.DayOfWeek; item.ArabicDayName = array_of_day[IndexOfWeek].ToString(); } return(View(tvm)); }
public async Task <ActionResult <ApiResult <string> > > PostNewTournament(TournamentVM p) { Tournament t = new Tournament { TournamentID = p.TournamentID, Event = _context.Events.Where(x => x.EventID.Equals(1)).FirstOrDefault(), EventID = 2, Organiser = _context.Organisers.Where(x => x.OrganiserID.Equals(1)).FirstOrDefault(), Venue = _context.Venues.Where(x => x.VenueID.Equals(2)).FirstOrDefault(), Product = _context.Products.Where(x => x.ProductID.Equals(1)).FirstOrDefault(), TournamentType = _context.TournamentTypes.Where(x => x.TournamentTypeID.Equals(1)).FirstOrDefault(), Format = _context.Formats.Where(x => x.FormatID.Equals(1)).FirstOrDefault(), TournamentName = p.TournamentName, Description = p.Description, SanctionID = p.SanctionID, RegistrationRequired = p.RegistrationRequired }; _context.Tournaments.Add(t); _context.SaveChanges(); return(new ApiResult <string> { IsValid = true, Result = "Tournament '" + t.TournamentName + "' was successfully uploaded!" }); }
public IActionResult Index() { TournamentVM tvm = new TournamentVM(); DateTime CurrentDate = DateTime.Now; tvm.Year = CurrentDate.Year; tvm.Month = CurrentDate.Month; tvm.DDlYear = GenerateYearsDDL(tvm.Year); tvm.DDlMonth = GenerateMonthsDDL(tvm.Month); tvm.DDLShootingField = new SelectList(_context.ShootingFields.OrderByDescending(i => i.Id).ToList(), "Id", "ShootingName"); tvm.ArabicMonthName = ArabicMonthName(tvm.Month) + " " + tvm.Year; tvm.Tournaments = _context.Tournaments.Where(t => t.TournamentDate.Year == CurrentDate.Year && t.TournamentDate.Month == CurrentDate.Month && t.ShootingFieldId != 1008).Include(t => t.ShootingField).OrderBy(t => t.TournamentDate).ToList(); foreach (var item in tvm.Tournaments) { int IndexOfWeek = (int)item.TournamentDate.DayOfWeek; item.ArabicDayName = array_of_day[IndexOfWeek].ToString(); } ViewBag.IndexDayOfWeek = (int)CurrentDate.DayOfWeek; return(View(tvm)); }
static bool Prefix(TournamentVM __instance, ref bool __result) { bool failed = false; try { if (bettedAmountFieldInfo == null) { GetFieldInfo(); } bool result = false; if (__instance.IsTournamentIncomplete) { int thisRoundBettedAmount = (int)bettedAmountFieldInfo.GetValue(__instance); bool flag = __instance.Tournament.CurrentMatch.Participants.Any((TournamentParticipant x) => x.Character == CharacterObject.PlayerCharacter); if (flag && thisRoundBettedAmount < Settings.Instance.TournamentMaxBetAmount) { result = Hero.MainHero.Gold > 0; } } __result = result; } catch (Exception ex) { failed = true; MessageBox.Show($"An error occurred while trying to get IsBetButtonEnabled. Reverting to original...\n\n{ex.ToStringFull()}"); } return(failed); }
// GET: Tournaments/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var tournament = await _context.Tournaments.FindAsync(id); //create TournamentVM if (tournament == null) { return(NotFound()); } TournamentVM tournamentVM = new TournamentVM() { Name = tournament.Name, Note = tournament.Note, ExistingTournamentImage = tournament.TournamentImage, IsActive = tournament.IsActive }; return(View(tournamentVM)); }
public static Tournament MapFromVM(TournamentVM tournamentVM) { Tournament tournament = new Tournament() { Name = tournamentVM.Name, TournamentId = tournamentVM.TournamentId }; return(tournament); }
static void Postfix(TournamentVM __instance) { if (bettedAmountFieldInfo == null) { GetFieldInfo(); } int thisRoundBettedAmount = (int)bettedAmountFieldInfo.GetValue(__instance); __instance.MaximumBetValue = Math.Min(Settings.Instance.TournamentMaxBetAmount - thisRoundBettedAmount, Hero.MainHero.Gold); }
public static TournamentVM MapToVM(Tournament tournament) { TournamentVM tournamentVM = new TournamentVM() { Name = tournament.Name, TournamentId = tournament.TournamentId }; return(tournamentVM); }
static void Postfix(TournamentVM __instance) { int num = BannerlordTweaksSettings.Instance is { } settings?settings.TournamentMaxBetAmount : __instance.MaximumBetValue; if (Hero.MainHero.GetPerkValue(DefaultPerks.Roguery.DeepPockets)) { num *= (int)DefaultPerks.Roguery.DeepPockets.PrimaryBonus; } GameTexts.SetVariable("MAX_AMOUNT", num); __instance.BetDescriptionText = GameTexts.FindText("str_tournament_bet_description").ToString(); }
private static void Postfix(TournamentVM __instance) { try { var info = TournamentsXPandedBehavior.GetTournamentInfo(__instance.Tournament.TournamentGame.Town); if (!string.IsNullOrWhiteSpace(info.SelectedPrizeStringId)) { var ire = info.SelectedPrizeItem.ToItemRosterElement(); __instance.PrizeVisual = new ImageIdentifierVM(ire); __instance.PrizeItemName = ire.EquipmentElement.GetModifiedItemName().ToString(); } } catch (Exception) { } }
private static void Postfix(TournamentVM __instance) { try { var currentPool = TournamentPrizePoolBehavior.GetTournamentPrizePool(__instance.Tournament.TournamentGame.Town.Settlement); if (!string.IsNullOrWhiteSpace(currentPool.SelectedPrizeStringId)) { var ire = currentPool.Prizes.Where(x => x.EquipmentElement.Item.StringId == currentPool.SelectedPrizeStringId).First(); __instance.PrizeVisual = new ImageIdentifierVM(ire); __instance.PrizeItemName = ire.EquipmentElement.GetModifiedItemName().ToString(); } } catch (Exception ex) { } }
static void Postfix(TournamentVM __instance) { if (!(BannerlordTweaksSettings.Instance is { } settings)) { return; } if (bettedAmountFieldInfo == null) { GetFieldInfo(); } int thisRoundBettedAmount = !(bettedAmountFieldInfo is null) ? (int)bettedAmountFieldInfo.GetValue(__instance) : 0; int num = settings.TournamentMaxBetAmount; if (Hero.MainHero.GetPerkValue(DefaultPerks.Roguery.DeepPockets)) { num *= (int)DefaultPerks.Roguery.DeepPockets.PrimaryBonus; } __instance.MaximumBetValue = Math.Min(num - thisRoundBettedAmount, Hero.MainHero.Gold); }
public async Task <IActionResult> Create(TournamentVM tournamentVM) { if (ModelState.IsValid) { string image = "default_tournament_image.jpg"; _fileManagementController = new FileManagementController(_appEnvironment); #region Image //if we uploaded an image if (tournamentVM.TournamentImage != null) { // #region File Upload Validation bool fileUploadError = _fileManagementController.ValidateFileUploadExtensionAndSize(ModelState, tournamentVM.TournamentImage, FileType.Image, 2); //return error if there is a file upload Error if (fileUploadError) { TempData["message"] = NotificationSystem.AddMessage("لقد حصل خطأ في تحميل الملف", NotificationType.Danger.Value); return(View(tournamentVM)); } // upload and remove existing image = _fileManagementController.UploadFile(tournamentVM.TournamentImage, "Media/Tournament"); } #endregion // create tournament Tournament tournament = new Tournament() { TournamentImage = image, Name = tournamentVM.Name, Note = tournamentVM.Note, CreationDate = DateTime.Now.Date, IsActive = true }; _context.Add(tournament); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(tournamentVM)); }
public bool Insert(TournamentVM tournamentVM) { using (var scope = new TransactionScope()) { var tournamentId = _tournament.Insert(tournamentVM); if (tournamentId == 0) { scope.Dispose(); return(false); } if (!_workDay.MakeFixture(tournamentVM.Players, tournamentId)) { scope.Dispose(); return(false); } scope.Complete(); return(true); } }
public List <PositionTable> GetPositionTable(TournamentVM tournament) { var workDays = tournament.WorkDays; var availableTables = new List <PositionTable>(); var positionTables = new List <PositionTable>(); tournament.Players.ForEach(x => availableTables.Add(new PositionTable() { PlayerId = x.PlayerId, Player = x })); foreach (var workDay in workDays) { foreach (var match in workDay.Matches) { if (match.Played) { var homePosition = new PositionTable(); var awayPosition = new PositionTable(); homePosition.LostMatch = match.HomeGoal < match.AwayGoal ? 1 : 0; homePosition.TiedMatch = match.HomeGoal == match.AwayGoal ? 1 : 0; homePosition.MatchWon = match.HomeGoal > match.AwayGoal ? 1 : 0; positionTables.Add(GetTables(match.AwayGoal, match.HomeGoal, homePosition.LostMatch, homePosition.MatchWon, homePosition.TiedMatch, match.HomePlayerId)); awayPosition.LostMatch = match.HomeGoal > match.AwayGoal ? 1 : 0; awayPosition.TiedMatch = match.HomeGoal == match.AwayGoal ? 1 : 0; awayPosition.MatchWon = match.HomeGoal < match.AwayGoal ? 1 : 0; positionTables.Add(GetTables(match.HomeGoal, match.AwayGoal, awayPosition.LostMatch, awayPosition.MatchWon, awayPosition.TiedMatch, match.AwayPlayerId)); } } } return(FinishTable(positionTables, tournament.Players)); }
public async Task <IActionResult> Edit(int id, TournamentVM tournamentVM) { if (id != tournamentVM.Id) { return(NotFound()); } if (ModelState.IsValid) { try { List <Officer> officers = _context.Officers.Where(t => t.TournamentId == tournamentVM.Id).ToList(); if (!tournamentVM.IsActive) { foreach (var item in officers) { item.IsActive = false; _context.Officers.Update(item); } } else { foreach (var item in officers) { item.IsActive = true; _context.Officers.Update(item); } } string image = "default_tournament_image.jpg"; _fileManagementController = new FileManagementController(_appEnvironment); #region Image //if we uploaded an image if (tournamentVM.TournamentImage != null) { // #region File Upload Validation bool fileUploadError = _fileManagementController.ValidateFileUploadExtensionAndSize(ModelState, tournamentVM.TournamentImage, FileType.Image, 2); //return error if there is a file upload Error if (fileUploadError) { TempData["message"] = NotificationSystem.AddMessage("لقد حصل خطأ في تحميل الملف", NotificationType.Danger.Value); return(View(tournamentVM)); } // upload and remove existing image = _fileManagementController.UploadFile(tournamentVM.TournamentImage, "Media/Tournament"); } else { image = tournamentVM.ExistingTournamentImage; } #endregion Tournament tournament = _context.Tournaments.Find(tournamentVM.Id); tournament.IsActive = tournamentVM.IsActive; tournament.Name = tournamentVM.Name; tournament.Note = tournamentVM.Note; tournament.TournamentImage = image; _context.Update(tournament); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TournamentExists(tournamentVM.Id)) { return(NotFound()); } else { throw; } } TempData["message"] = NotificationSystem.AddMessage("تم تعديل الدورة بنجاح", NotificationType.Success.Value); return(RedirectToAction(nameof(Index))); } return(View(tournamentVM)); }
static void Postfix(TournamentVM __instance) { GameTexts.SetVariable("MAX_AMOUNT", Settings.Instance.TournamentMaxBetAmount); __instance.BetDescriptionText = GameTexts.FindText("str_tournament_bet_description").ToString(); }
public static void Postfix(TournamentVM __instance) { XmlNode settings = ClanTweakerSubModule.settings.xmlSettings.ChildNodes[1].SelectSingleNode("TournamentSettings"); typeof(TournamentVM).GetProperty("MaximumBetValue").SetValue(__instance, Math.Min(int.Parse(settings.SelectSingleNode("MaximumBet").InnerText), Hero.MainHero.Gold)); }
static void Postfix(TournamentVM __instance) { int thisRoundBettedAmount = (int)(typeof(TournamentVM).GetField("_thisRoundBettedAmount", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)).GetValue(__instance); __instance.MaximumBetValue = Math.Min(Settings.Instance.TournamentMaxBetAmount - thisRoundBettedAmount, Hero.MainHero.Gold); }
public int Insert(TournamentVM tournamentVM) { var tournament = Mapper.MapFromVM(tournamentVM); return(Repository.Insert(tournament)); }