protected void AddOrUpdateMatchItem(MatchItemVM matchItem)
 {
     var matchInList = MatchItems.FirstOrDefault(x => x.MatchID == matchItem.MatchID);
     if (matchInList == null)
     {
         MatchItems.Add(matchItem);
     }
     else
     {
         matchInList.RingID = matchItem.RingID;
         matchInList.BlueName = matchItem.BlueName;
         matchInList.BlueNextMatchID = matchItem.BlueNextMatchID;
         matchInList.RedName = matchItem.RedName;
         matchInList.RedNextMatchID = matchItem.RedNextMatchID;
     }
 }
 protected MatchItemVM ConvertToMatchItem(string[] csvColumns)
 {
     const int Column_MatchID = 0;
     const int Column_RingID = 1;
     const int Column_BlueName = 2;
     const int Column_BlueNextMatchID = 3;
     const int Column_RedName = 4;
     const int Column_RedNextMatchID = 5;
     try
     {
         var matchItem = new MatchItemVM();
         matchItem.MatchID = csvColumns.Length > Column_MatchID ? ToNullableInt(csvColumns[Column_MatchID]) : null;
         matchItem.RingID = csvColumns.Length > Column_RingID ? ToNullableInt(csvColumns[Column_RingID]) : null;
         matchItem.BlueName = csvColumns.Length > Column_BlueName ? csvColumns[Column_BlueName] : string.Empty;
         matchItem.BlueNextMatchID = csvColumns.Length > Column_BlueNextMatchID ? ToNullableInt(csvColumns[Column_BlueNextMatchID]) : null;
         matchItem.RedName = csvColumns.Length > Column_RedName ? csvColumns[Column_RedName] : string.Empty;
         matchItem.RedNextMatchID = csvColumns.Length > Column_RedNextMatchID ? ToNullableInt(csvColumns[Column_RedNextMatchID]) : null;
         return matchItem;
     }
     catch (Exception)
     {
         return null;
     }
 }