public ActionResult Index(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; if (tabletDeviceStatus.RoundNumber > 1) // Show ranking list only from round 2 onwards { if (Settings.ShowRanking == 1) { RankingList rankingList = new RankingList(tabletDeviceNumber); // Only show the ranking list if it contains something meaningful if (rankingList != null && rankingList.Count != 0 && rankingList[0].ScoreDecimal != 0 && rankingList[0].ScoreDecimal != 50) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tabletDeviceStatus.RoundNumber}"; ViewData["Title"] = $"Ranking List - {tabletDeviceStatus.Location}"; ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; if (AppData.IsIndividual) { return(View("Individual", rankingList)); } else if (rankingList.Exists(x => x.Orientation == "E")) { return(View("TwoWinners", rankingList)); } else { return(View("OneWinner", rankingList)); } } } } return(RedirectToAction("Index", "ShowMove", new { tabletDeviceNumber, newRoundNumber = tabletDeviceStatus.RoundNumber + 1 })); }
public ActionResult Final(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; RankingList rankingList = new RankingList(tabletDeviceNumber); // Only show the ranking list if it contains something meaningful if (rankingList == null || rankingList.Count == 0 || rankingList[0].ScoreDecimal == 0 || rankingList[0].ScoreDecimal == 50) { return(RedirectToAction("Index", "EndScreen", new { tabletDeviceNumber })); } else { rankingList.FinalRankingList = true; ViewData["Header"] = $"Table {tabletDeviceStatus.Location} - Round {tabletDeviceStatus.RoundNumber}"; ViewData["Title"] = $"Final Ranking List - {tabletDeviceStatus.Location}"; ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; if (AppData.IsIndividual) { return(View("Individual", rankingList)); } else if (rankingList.Exists(x => x.Orientation == "E")) { return(View("TwoWinners", rankingList)); } else { return(View("OneWinner", rankingList)); } } }
public ActionResult OKButtonClick(int tabletDeviceNumber) { // Only used by ViewOnly view, for tablet device that is not being used for scoring, to check if all results have been entered TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); ResultsList resultsList = new ResultsList(tabletDeviceNumber, tableStatus); if (!resultsList.GotAllResults) { resultsList.Message = "NOTALLRESULTS"; if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth} v {tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - NS {tableStatus.RoundData.NumberNorth} v EW {tableStatus.RoundData.NumberEast}"; } ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; ViewData["Title"] = $"Show Boards - {tabletDeviceStatus.Location}"; ViewData["TabletDeviceNumber"] = tabletDeviceNumber; return(View("ViewOnly", resultsList)); } else { return(RedirectToAction("Index", "ShowRankingList", new { tabletDeviceNumber })); } }
public ActionResult Index(int tabletDeviceNumber, int boardNumber, bool fromView) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); HandRecord handRecord = HandRecords.HandRecordsList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.BoardNumber == boardNumber); if (handRecord == null) // Can't find matching hand record, so use default SectionID = 1 { handRecord = HandRecords.HandRecordsList.Find(x => x.SectionID == 1 && x.BoardNumber == boardNumber); } handRecord.TabletDeviceNumber = tabletDeviceNumber; handRecord.FromView = fromView; ViewData["Title"] = $"Hand Record - {tabletDeviceStatus.Location}"; if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", boardNumber, $"{tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth}")} v {Utilities.ColourPairByVulnerability("EW", boardNumber, $"{tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}")}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", boardNumber, $"NS {tableStatus.RoundData.NumberNorth}")} v {Utilities.ColourPairByVulnerability("EW", boardNumber, $"EW {tableStatus.RoundData.NumberEast}")}"; } ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; return(View(handRecord)); }
public ActionResult Index(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); ResultsList resultsList = new ResultsList(tabletDeviceNumber, tableStatus); tableStatus.ResultData = null; // No board selected yet if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth} v {tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - NS {tableStatus.RoundData.NumberNorth} v EW {tableStatus.RoundData.NumberEast}"; } ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; ViewData["Title"] = $"Show Boards - {tabletDeviceStatus.Location}"; if (tabletDeviceStatus.Direction == Direction.North) { return(View("Scoring", resultsList)); } else { resultsList.Message = "NOMESSAGE"; return(View("ViewOnly", resultsList)); } }
public ActionResult Index(int tabletDeviceNumber, bool showWarning = false) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); if (tabletDeviceStatus.NamesUpdateRequired) { tableStatus.RoundData.UpdateNames(tableStatus); // Update names from database if not done very recently } if (tableStatus.RoundData.GotAllNames && tabletDeviceStatus.RoundNumber > 1 && !Settings.NumberEntryEachRound) { // Player numbers not needed if all names have already been entered and names are not being updated each round tabletDeviceStatus.NamesUpdateRequired = false; // No round update required in RoundInfo as it's just been done return(RedirectToAction("Index", "ShowRoundInfo", new { tabletDeviceNumber })); } tabletDeviceStatus.NamesUpdateRequired = true; // We'll now need to update when we get to RoundInfo in case names change in the mean time PlayerEntryList playerEntryList = new PlayerEntryList(tabletDeviceNumber, tableStatus); playerEntryList.ShowWarning = showWarning; ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; ViewData["Title"] = $"Show Player Numbers - {tabletDeviceStatus.Location}"; ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tabletDeviceStatus.RoundNumber}"; if (AppData.IsIndividual) { return(View("Individual", playerEntryList)); } else { return(View("Pair", playerEntryList)); } }
public ActionResult ViewResult(int tabletDeviceNumber, int boardNumber) { // Only used by ViewOnly view, for tablet device that is not being used for scoring, to check if result has been entered for this board TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); ResultsList resultsList = new ResultsList(tabletDeviceNumber, tableStatus); Result result = resultsList.Find(x => x.BoardNumber == boardNumber); if (result == null || result.ContractLevel < 0) { resultsList.Message = "NORESULT"; if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth} v {tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - NS {tableStatus.RoundData.NumberNorth} v EW {tableStatus.RoundData.NumberEast}"; } ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; ViewData["Title"] = $"Show Boards - {tabletDeviceStatus.Location}"; ViewData["TabletDeviceNumber"] = tabletDeviceNumber; return(View("ViewOnly", resultsList)); } else { return(RedirectToAction("Index", "ShowTraveller", new { tabletDeviceNumber, boardNumber, fromView = true })); } }
public ActionResult Index(int tabletDeviceNumber, LeadValidationOptions leadValidation) { if (!Settings.EnterLeadCard) { return(RedirectToAction("Index", "EnterTricksTaken", new { tabletDeviceNumber })); } TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); if (tableStatus.ResultData.LeadCard == "") // Lead not set, so use leadValidation value as passed to controller { tableStatus.ResultData.LeadValidation = leadValidation; } else // Lead already set, so must be an edit (ie no validation and no warning) { tableStatus.ResultData.LeadValidation = LeadValidationOptions.NoWarning; } ResultInfo resultInfo = new ResultInfo(tabletDeviceNumber, tableStatus); if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", tableStatus.ResultData.BoardNumber, $"{tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth}")} v {Utilities.ColourPairByVulnerability("EW", tableStatus.ResultData.BoardNumber, $"{tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}")}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", tableStatus.ResultData.BoardNumber, $"NS {tableStatus.RoundData.NumberNorth}")} v {Utilities.ColourPairByVulnerability("EW", tableStatus.ResultData.BoardNumber, $"EW {tableStatus.RoundData.NumberEast}")}"; } ViewData["ButtonOptions"] = ButtonOptions.OKDisabledAndBack; ViewData["Title"] = $"Enter Lead - {tabletDeviceStatus.Location}"; return(View(resultInfo)); }
public ActionResult Index(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); ResultInfo resultInfo = new ResultInfo(tabletDeviceNumber, tableStatus); if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", tableStatus.ResultData.BoardNumber, $"{tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth}")} v {Utilities.ColourPairByVulnerability("EW", tableStatus.ResultData.BoardNumber, $"{tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}")}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", tableStatus.ResultData.BoardNumber, $"NS {tableStatus.RoundData.NumberNorth}")} v {Utilities.ColourPairByVulnerability("EW", tableStatus.ResultData.BoardNumber, $"EW {tableStatus.RoundData.NumberEast}")}"; } ViewData["ButtonOptions"] = ButtonOptions.OKDisabledAndBack; ViewData["Title"] = $"Enter Tricks Taken - {tabletDeviceStatus.Location}"; if (Settings.EnterResultsMethod == 1) { return(View("TotalTricks", resultInfo)); } else { return(View("TricksPlusMinus", resultInfo)); } }
public ActionResult OKButtonClick(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); tableStatus.ResultData.UpdateDB(tableStatus); return(RedirectToAction("Index", "ShowTraveller", new { tabletDeviceNumber, boardNumber = tableStatus.ResultData.BoardNumber })); }
public RoundInfo(int tabletDeviceNumber, TableStatus tableStatus) { TabletDeviceNumber = tabletDeviceNumber; TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; RoundNumber = tabletDeviceStatus.RoundNumber; RoundData = tableStatus.RoundData; }
public SitoutRoundInfo(int tabletDeviceNumber) { TabletDeviceNumber = tabletDeviceNumber; TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TabletDevicesPerTable = AppData.SectionsList.Find(x => x.SectionID == tabletDeviceStatus.SectionID).TabletDevicesPerTable; PairNumber = tabletDeviceStatus.PairNumber; RoundNumber = tabletDeviceStatus.RoundNumber; }
public ActionResult OKButtonClick(int tabletDeviceNumber, int numTricks) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; Result result = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber).ResultData; result.TricksTakenNumber = numTricks; result.CalculateScore(); return(RedirectToAction("Index", "ConfirmResult", new { tabletDeviceNumber })); }
public ActionResult Index(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; ViewData["Title"] = $"Show Round Info - {tabletDeviceStatus.Location}"; ViewData["Header"] = $"{tabletDeviceStatus.Location}"; if (tabletDeviceStatus.TableNumber == 0) { SitoutRoundInfo sitoutRoundInfo = new SitoutRoundInfo(tabletDeviceNumber); ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; return(View("Sitout", sitoutRoundInfo)); } // Update player names if not just immediately done in ShowPlayerNumbers TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); if (tabletDeviceStatus.NamesUpdateRequired) { tableStatus.RoundData.UpdateNames(tableStatus); } tabletDeviceStatus.NamesUpdateRequired = true; RoundInfo roundInfo = new RoundInfo(tabletDeviceNumber, tableStatus); Section section = AppData.SectionsList.Find(x => x.SectionID == tabletDeviceStatus.SectionID); if (tableStatus.RoundData.NumberNorth == 0 || tableStatus.RoundData.NumberNorth == section.MissingPair) { tableStatus.ReadyForNextRoundNorth = true; tableStatus.ReadyForNextRoundSouth = true; roundInfo.NSMissing = true; } else if (tableStatus.RoundData.NumberEast == 0 || tableStatus.RoundData.NumberEast == section.MissingPair) { tableStatus.ReadyForNextRoundEast = true; tableStatus.ReadyForNextRoundWest = true; roundInfo.EWMissing = true; } if (tabletDeviceStatus.RoundNumber == 1 || section.TabletDevicesPerTable > 1) { ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; } else { // Back button needed if one tablet device per table, in case EW need to check their move details ViewData["ButtonOptions"] = ButtonOptions.OKEnabledAndBack; } if (AppData.IsIndividual) { return(View("Individual", roundInfo)); } else { return(View("Pair", roundInfo)); } }
public ActionResult Index(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; ViewData["Header"] = $"{tabletDeviceStatus.Location}"; ViewData["Title"] = $"Show Move - {tabletDeviceStatus.Location}"; ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; ViewData["TabletDeviceNumber"] = tabletDeviceNumber; return(View()); }
public ActionResult OKButtonClick(int tabletDeviceNumber, Direction direction, int playerNumber) { // Update Round with new player TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); tableStatus.RoundData.UpdatePlayer(tabletDeviceStatus.SectionID, tabletDeviceStatus.TableNumber, direction, tabletDeviceStatus.RoundNumber, playerNumber); return(RedirectToAction("Index", "ShowPlayerNumbers", new { tabletDeviceNumber })); }
public ActionResult BackButtonClick(int tabletDeviceNumber) { // Only for one tablet device per table. Reset to the previous round; RoundNumber > 1 else no Back button and cannot get here TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); tabletDeviceStatus.RoundNumber--; tableStatus.RoundNumber--; tableStatus.RoundData = new Round(tableStatus); return(RedirectToAction("Index", "ShowMove", new { tabletDeviceNumber, newRoundNumber = tabletDeviceStatus.RoundNumber + 1 })); }
public ActionResult OKButtonContract(int tabletDeviceNumber, int contractLevel, string contractSuit, string contractX, string declarerNSEW) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; Result result = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber).ResultData; result.ContractLevel = contractLevel; result.ContractSuit = contractSuit; result.ContractX = contractX; result.DeclarerNSEW = declarerNSEW; return(RedirectToAction("Index", "EnterLead", new { tabletDeviceNumber, leadValidation = LeadValidationOptions.Validate })); }
public ActionResult OKButtonClick(int sectionID, int tableNumber, bool confirm) { // Register table in database Utilities.RegisterTable(sectionID, tableNumber); // Check if table status has already been created; if not, add it to the list TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == sectionID && x.TableNumber == tableNumber); if (tableStatus == null) { tableStatus = new TableStatus(sectionID, tableNumber, Utilities.GetLastRoundWithResults(sectionID)); AppData.TableStatusList.Add(tableStatus); } if (AppData.SectionsList.Find(x => x.SectionID == sectionID).TabletDevicesPerTable == 1) { // One tablet device per table TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList.Find(x => x.SectionID == sectionID && x.TableNumber == tableNumber); // Check if tablet device is already registered for this location, and if so confirm if (tabletDeviceStatus != null && !confirm) { return(RedirectToAction("Index", "EnterTableNumber", new { sectionID, tableNumber, confirm = true })); } else if (tabletDeviceStatus == null) { // Not on list, so need to add it. Direction is fixed as North as only one tablet per table tabletDeviceStatus = new TabletDeviceStatus(sectionID, tableNumber, Direction.North, tableStatus.RoundData.NumberNorth, tableStatus.RoundNumber); AppData.TabletDeviceStatusList.Add(tabletDeviceStatus); } // tabletDeviceNumber is the key for identifying this particular tablet device and is used throughout the rest of the application int tabletDeviceNumber = AppData.TabletDeviceStatusList.LastIndexOf(tabletDeviceStatus); if (tableStatus.ReadyForNextRoundNorth) { return(RedirectToAction("Index", "ShowMove", new { tabletDeviceNumber, newRoundNummber = tableStatus.RoundNumber + 1 })); } else if (tabletDeviceStatus.RoundNumber == 1 || Settings.NumberEntryEachRound) { return(RedirectToAction("Index", "ShowPlayerNumbers", new { tabletDeviceNumber })); } else { return(RedirectToAction("Index", "ShowRoundInfo", new { tabletDeviceNumber })); } } else // More than one tablet device per table, so need to know direction for this tablet device { return(RedirectToAction("Index", "EnterDirection", new { sectionID, tableNumber, tableStatus.RoundNumber })); } }
public ActionResult BackButtonClick(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; if (Settings.EnterLeadCard) { return(RedirectToAction("Index", "EnterLead", new { tabletDeviceNumber, leadValidation = LeadValidationOptions.NoWarning })); } else { return(RedirectToAction("Index", "EnterContract", new { tabletDeviceNumber, boardNumber = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber).ResultData.BoardNumber })); } }
public ActionResult BackButtonClick(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; Result result = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber).ResultData; if (result.ContractLevel == 0) // This was passed out, so Back goes all the way to Enter Contract screen { return(RedirectToAction("Index", "EnterContract", new { tabletDeviceNumber, boardNumber = result.BoardNumber })); } else { return(RedirectToAction("Index", "EnterTricksTaken", new { tabletDeviceNumber })); } }
public ActionResult OKButtonPass(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; Result result = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber).ResultData; result.ContractLevel = 0; result.ContractSuit = ""; result.ContractX = ""; result.DeclarerNSEW = ""; result.LeadCard = ""; result.TricksTakenNumber = -1; result.CalculateScore(); return(RedirectToAction("Index", "ConfirmResult", new { tabletDeviceNumber })); }
public ActionResult OKButtonSkip(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); Result result = tableStatus.ResultData; result.ContractLevel = -1; result.ContractSuit = ""; result.ContractX = ""; result.DeclarerNSEW = ""; result.LeadCard = ""; result.TricksTakenNumber = -1; result.UpdateDB(tableStatus); return(RedirectToAction("Index", "ShowBoards", new { tabletDeviceNumber })); }
public ActionResult OKButtonClick(int tabletDeviceNumber, string card) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); if (tableStatus.ResultData.LeadValidation != LeadValidationOptions.Validate || !Settings.ValidateLeadCard || Utilities.ValidateLead(tableStatus, card)) { tableStatus.ResultData.LeadCard = card; return(RedirectToAction("Index", "EnterTricksTaken", new { tabletDeviceNumber })); } else { return(RedirectToAction("Index", "EnterLead", new { tabletDeviceNumber, leadValidation = LeadValidationOptions.Warning })); } }
public ActionResult OKButtonClick(int tabletDeviceNumber) { // Check if new round has been added; can't apply to individuals TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; if (tabletDeviceStatus.RoundNumber == Utilities.NumberOfRoundsInEvent(tabletDeviceStatus.SectionID)) { // Final round, so no new rounds added return(RedirectToAction("Index", "EndScreen", new { tabletDeviceNumber })); } else { return(RedirectToAction("Index", "ShowMove", new { tabletDeviceNumber, newRoundNumber = tabletDeviceStatus.RoundNumber + 1 })); } }
public ActionResult Index(int tabletDeviceNumber, Direction direction) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; ViewData["ButtonOptions"] = ButtonOptions.OKDisabled; ViewData["Title"] = $"Enter Player Number - {tabletDeviceStatus.Location}"; ViewData["Header"] = $"{tabletDeviceStatus.Location}"; EnterPlayerNumber enterPlayerNumber = new EnterPlayerNumber() { TabletDeviceNumber = tabletDeviceNumber, Direction = direction, DisplayDirection = Enum.GetName(typeof(Direction), direction) }; return(View(enterPlayerNumber)); }
public ActionResult Index(int tabletDeviceNumber, int newRoundNumber, int tableNotReadyNumber = -1) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; if (newRoundNumber > Utilities.NumberOfRoundsInEvent(tabletDeviceStatus.SectionID)) // Session complete { if (Settings.ShowRanking == 2) { return(RedirectToAction("Final", "ShowRankingList", new { tabletDeviceNumber })); } else { return(RedirectToAction("Index", "EndScreen", new { tabletDeviceNumber })); } } TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); if (tableStatus != null && tableStatus.RoundNumber < newRoundNumber) { // No tablet device has yet advanced this table to the next round, so show that this one is ready to do so if (tabletDeviceStatus.Direction == Direction.North) { tableStatus.ReadyForNextRoundNorth = true; } else if (tabletDeviceStatus.Direction == Direction.East) { tableStatus.ReadyForNextRoundEast = true; } else if (tabletDeviceStatus.Direction == Direction.South) { tableStatus.ReadyForNextRoundSouth = true; } else if (tabletDeviceStatus.Direction == Direction.West) { tableStatus.ReadyForNextRoundWest = true; } } MovesList movesList = new MovesList(tabletDeviceNumber, tableStatus, newRoundNumber, tableNotReadyNumber); ViewData["Header"] = $"{tabletDeviceStatus.Location}"; ViewData["Title"] = $"Show Move - {tabletDeviceStatus.Location}"; ViewData["ButtonOptions"] = ButtonOptions.OKEnabled; return(View(movesList)); }
public ActionResult OKButtonClick(int sectionID, int tableNumber, Direction direction, int roundNumber, bool confirm) { // Check if tablet device is already registered for this location, and if so confirm TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList.Find(x => x.SectionID == sectionID && x.TableNumber == tableNumber && x.Direction == direction); TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == sectionID && x.TableNumber == tableNumber); if (tabletDeviceStatus != null && !confirm) { return(RedirectToAction("Index", "EnterDirection", new { sectionID, tableNumber, roundNumber, direction, confirm = true })); } else if (tabletDeviceStatus == null) { // Not on list of registered tablet devices, so need to add it int pairNumber = 0; if (direction == Direction.North) { pairNumber = tableStatus.RoundData.NumberNorth; } else if (direction == Direction.East) { pairNumber = tableStatus.RoundData.NumberEast; } else if (direction == Direction.South) { pairNumber = tableStatus.RoundData.NumberSouth; } else if (direction == Direction.West) { pairNumber = tableStatus.RoundData.NumberWest; } tabletDeviceStatus = new TabletDeviceStatus(sectionID, tableNumber, direction, pairNumber, roundNumber); AppData.TabletDeviceStatusList.Add(tabletDeviceStatus); } // tabletDeviceNumber is the key for identifying this particular tablet device and is used throughout the rest of the application int tabletDeviceNumber = AppData.TabletDeviceStatusList.LastIndexOf(tabletDeviceStatus); if (((direction == Direction.North) && tableStatus.ReadyForNextRoundNorth) || ((direction == Direction.East) && tableStatus.ReadyForNextRoundEast) || (direction == Direction.South && tableStatus.ReadyForNextRoundSouth) || (direction == Direction.West && tableStatus.ReadyForNextRoundWest)) { return(RedirectToAction("Index", "ShowMove", new { tabletDeviceNumber, newRoundNumber = roundNumber + 1 })); } else { return(RedirectToAction("Index", "ShowPlayerNumbers", new { tabletDeviceNumber })); } }
public ActionResult OKButtonClick(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); tableStatus.RoundData.UpdateNames(tableStatus); tabletDeviceStatus.NamesUpdateRequired = false; // No names update required on next screen as it's only just been done // Check if all required names have been entered, and if not go back and wait if (tableStatus.RoundData.GotAllNames) { return(RedirectToAction("Index", "ShowRoundInfo", new { tabletDeviceNumber })); } else { return(RedirectToAction("Index", "ShowPlayerNumbers", new { tabletDeviceNumber, showWarning = true })); } }
public ActionResult Index(int tabletDeviceNumber) { TabletDeviceStatus tabletDeviceStatus = AppData.TabletDeviceStatusList[tabletDeviceNumber]; TableStatus tableStatus = AppData.TableStatusList.Find(x => x.SectionID == tabletDeviceStatus.SectionID && x.TableNumber == tabletDeviceStatus.TableNumber); ResultInfo resultInfo = new ResultInfo(tabletDeviceNumber, tableStatus); if (AppData.IsIndividual) { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", tableStatus.ResultData.BoardNumber, $"{tableStatus.RoundData.NumberNorth}+{tableStatus.RoundData.NumberSouth}")} v {Utilities.ColourPairByVulnerability("EW", tableStatus.ResultData.BoardNumber, $"{tableStatus.RoundData.NumberEast}+{tableStatus.RoundData.NumberWest}")}"; } else { ViewData["Header"] = $"{tabletDeviceStatus.Location} - Round {tableStatus.RoundNumber} - {Utilities.ColourPairByVulnerability("NS", tableStatus.ResultData.BoardNumber, $"NS {tableStatus.RoundData.NumberNorth}")} v {Utilities.ColourPairByVulnerability("EW", tableStatus.ResultData.BoardNumber, $"EW {tableStatus.RoundData.NumberEast}")}"; } ViewData["ButtonOptions"] = ButtonOptions.OKEnabledAndBack; ViewData["Title"] = $"Confirm Result - {tabletDeviceStatus.Location}"; return(View(resultInfo)); }