Exemple #1
0
 public bool AddCard(int cardRecordID, int positionIndex)
 {
     if (fieldCardDictionary.ContainsKey(cardRecordID))
     {
         return(false);
     }
     if (DisplayCheck(positionIndex))
     {
         FieldCardRecord record = new FieldCardRecord {
             CardRecordID = cardRecordID, PositionIndex = positionIndex
         };
         foreach (var targetCard in FieldCards)
         {
             if (targetCard.PositionIndex >= positionIndex)
             {
                 targetCard.PositionIndex++;
                 OnCardChanged?.Invoke(targetCard, DataChangeCode.Update);
             }
         }
         fieldCardDictionary.Add(cardRecordID, record);
         OnCardChanged?.Invoke(record, DataChangeCode.Add);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #2
0
 public bool UpdateCard(int cardRecordID, int positionIndex)
 {
     if (fieldCardDictionary.ContainsKey(cardRecordID))
     {
         FieldCardRecord record = fieldCardDictionary[cardRecordID];
         record.PositionIndex = positionIndex;
         OnCardChanged?.Invoke(record, DataChangeCode.Update);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #3
0
 public bool RemoveCard(int cardRecordID)
 {
     if (fieldCardDictionary.ContainsKey(cardRecordID))
     {
         FieldCardRecord record = fieldCardDictionary[cardRecordID];
         fieldCardDictionary.Remove(record.CardRecordID);
         OnCardChanged?.Invoke(record, DataChangeCode.Remove);
         foreach (var targetCard in FieldCards)
         {
             if (targetCard.PositionIndex >= record.PositionIndex)
             {
                 targetCard.PositionIndex--;
                 OnCardChanged?.Invoke(targetCard, DataChangeCode.Update);
             }
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }