public static CConverterResult Convert(CMemberAndResults Member, CResult result, enRounds?Round, int?MembersFromQualif, enCellType DestColumnType, out bool PlainStyleSetted) { PlainStyleSetted = false; CConverterResult res = new CConverterResult(); lock (DBManagerApp.m_AppSettings.m_SettingsSyncObj) { if ((Member.HasFalsestart && DestColumnType == enCellType.SurnameAndName) || (result.AdditionalEventTypes.HasValue && result.AdditionalEventTypes.Value.HasFlag(enAdditionalEventTypes.Falsestart) && (DestColumnType == enCellType.Route1 || DestColumnType == enCellType.Route2))) { res = new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.FalsestartFontStyle, false); } if (Round.HasValue) { switch (Round) { #region Qualif, Qualif2 case enRounds.Qualif: case enRounds.Qualif2: switch (DestColumnType) { #region StartNumber, SurnameAndName case enCellType.StartNumber: case enCellType.SurnameAndName: if (result.CondFormating.HasValue) { switch (result.CondFormating.Value) { case enCondFormating.StayOnStart: // Находится на старте return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.InvitedToStartFontStyle, false), false)); case enCondFormating.JustRecievedResult: // Только что полученный результат if (result.ResultColumnNumber == enResultColumnNumber.Sum) { return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.JustRecievedResultFontStyle, false), false)); } else { break; } case enCondFormating.Preparing: // Участник готовится return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.PreparingFontStyle, false), false)); default: break; } } break; #endregion #region Route1, Route2, Sum case enCellType.Route1: case enCellType.Route2: case enCellType.Sum: if (result.CondFormating.HasValue) { switch (result.CondFormating.Value) { case enCondFormating.StayOnStart: // Находится на старте return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle, false), false)); case enCondFormating.JustRecievedResult: // Только что полученный результат return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.JustRecievedResultFontStyle, false), false)); case enCondFormating.Preparing: // Участник готовится break; default: break; } } break; #endregion default: break; } if (Member.Place.HasValue && Member.Place > 0 && Member.Place <= MembersFromQualif) { // Участник проходит в следуюущий тур return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.NextRoundMembersCountFontStyle, false), false)); } break; #endregion #region OneEighthFinal, QuaterFinal, SemiFinal, Final case enRounds.OneEighthFinal: case enRounds.QuaterFinal: case enRounds.SemiFinal: case enRounds.Final: switch (DestColumnType) { #region StartNumber, SurnameAndName case enCellType.StartNumber: case enCellType.SurnameAndName: break; #endregion #region Route1, Route2, Sum case enCellType.Route1: case enCellType.Route2: case enCellType.Sum: if (result.CondFormating.HasValue) { switch (result.CondFormating.Value) { case enCondFormating.StayOnStart: // Находится на старте return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle, false), false)); case enCondFormating.JustRecievedResult: // Только что полученный результат case enCondFormating.Preparing: // Участник готовится break; default: break; } } break; #endregion default: break; } break; #endregion } } } if (res.IsEmpty) { PlainStyleSetted = true; } return(res.MixWithOther(new CConverterResult(DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle, true), false)); }
public OneCellInterior(enCellType CellType) { m_CellType = CellType; }
public override object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { enCellType DestColumnType = parameter == null ? enCellType.None : (enCellType)parameter; CResult result = values[0] as CResult; if (values.Length == 4) { if (result == null || !(values[1] is byte) || !(values[2] is int) || !(values[3] is int)) { if (result != null && result.CondFormating.HasValue && (values[1] is byte) && values[3] is int) { // Возможно участник стоит на старте lock (DBManagerApp.m_AppSettings.m_SettigsSyncObj) { if (result.CondFormating.Value == enCondFormating.StayOnStart && DestColumnType != enCellType.StartNumber && DestColumnType != enCellType.SurnameAndName) { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle, false)); } } } else { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle, true)); } } } else if (values.Length == 2) { if (result == null || !(values[1] is byte)) { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle, true)); } } else { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle, true)); } enRounds Round = (enRounds)((byte)values[1]); if (!(result == null || result.CondFormating == null)) { lock (DBManagerApp.m_AppSettings.m_SettigsSyncObj) { switch (result.CondFormating.Value) { case enCondFormating.StayOnStart: // Находится на старте switch (DestColumnType) { case enCellType.StartNumber: case enCellType.SurnameAndName: if (Round == enRounds.Qualif || Round == enRounds.Qualif2) { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.InvitedToStartFontStyle, false)); } break; case enCellType.None: return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.StayOnStartFontStyle, false)); default: break; } break; case enCondFormating.JustRecievedResult: // Только что полученный результат if (Round == enRounds.Qualif || Round == enRounds.Qualif2 || (Round > enRounds.Qualif2 && Round <= enRounds.Final && result.ResultColumnNumber == enResultColumnNumber.Sum)) { // Тут подсветка не нужна break; } else { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.JustRecievedResultFontStyle, false)); } case enCondFormating.Preparing: // Участник готовится if (Round == enRounds.Qualif || Round == enRounds.Qualif2) { switch (DestColumnType) { case enCellType.StartNumber: case enCellType.SurnameAndName: return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.PreparingFontStyle, false)); default: break; } } break; default: break; } } } if (values.Length == 4) { int RoundPlace = values[2] is int?(int)values[2] : 0; int MembersFromQualif = values[3] is int?(int)values[3] : 0; if (RoundPlace > 0 && RoundPlace <= MembersFromQualif) { // Участник проходит в следуюущий тур return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.NextRoundMembersCountFontStyle, false)); } else { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle, true)); } } else { return(ConvResultVal(DBManagerApp.m_AppSettings.m_Settings.PlainResultsFontStyle, true)); } }
// CTOR public stCell(Vector3 cellPosition, enCellDir cellDirection, enCellType cellType) { this.CellPosition = cellPosition; this.CellDirection = cellDirection; this.CellType = cellType; this.CellTheme = csTempleRun.enCellTheme.Stone; this.NeighbourN = null; this.NeighbourS = null; this.NeighbourE = null; this.NeighbourW = null; }