ru.bitel.bgbilling.modules.cerbercrypt.common.service

## Interface UserCardService

- All Superinterfaces:
    LoggableService

      public interface UserCardService
      extends LoggableService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.math.BigDecimal` | `checkSubscriptionCost(int cid, java.util.List<java.lang.Integer> ucids, java.util.Date date)`
    `void` | `deleteUserCard(int id)`
    `java.util.List<UserCard>` | `getCardListByObject(int objectId)` Список карт, привязанных к объекту.
    `java.util.List<IdTitle>` | `getContractObjects(int contractId)`
    `java.util.List<UserCard>` | `getMultiroomBasecards(int cid, int selfCardId)` Получение списка базовых карт для этого договора для заполнения комбобокса базовыми картами (мультирум).
    `MapHolder<java.lang.String,java.lang.String>` | `getSystemInfo()`
    `UserCard` | `getUserCard(int id)`
    `java.util.List<UserCard>` | `getUserCardList(int cid, boolean slavecardsIncluding)` Список карт договора.
    `void` | `releaseSlave(int cid, int slavecardId)` Освободить зависимую карту.
    `void` | `updateUserCard(UserCard uc)`

    - ### Methods inherited from interface ru.bitel.common.model.LoggableService

      `logList`

- - ### Method Detail

    - #### getUserCardList

          java.util.List<UserCard> getUserCardList(int cid,
                                                   boolean slavecardsIncluding)
                                            throws ru.bitel.bgbilling.common.BGException

      Список карт договора. Включая или не включая копии карт, т.е. те карты, у которых назначена какая-либо basecard. Для заполнения таблицы карт в договоре, например, надо все карты, а для комбобоксов выбора карт для изменения подписки, назначения копий карт (не те, что мультирум) итд итп нам надо игнорировать все неосновеные карты.
      Parameters:
        `cid` - контрактИд
        `slavecardsIncluding` - включать ли в том числе "неосновные" карты (т.е. "мультирум копии карт" итд)
      Returns:
        список карт
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### updateUserCard

          void updateUserCard(UserCard uc)
                       throws ru.bitel.bgbilling.common.BGException,
                              ru.bitel.bgbilling.common.BGMessageException

      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `ru.bitel.bgbilling.common.BGMessageException`

    - #### deleteUserCard

          void deleteUserCard(int id)
                       throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getSystemInfo

          MapHolder<java.lang.String,java.lang.String> getSystemInfo()
                                                              throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### checkSubscriptionCost

          java.math.BigDecimal checkSubscriptionCost(int cid,
                                                     java.util.List<java.lang.Integer> ucids,
                                                     java.util.Date date)
                                              throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getMultiroomBasecards

          java.util.List<UserCard> getMultiroomBasecards(int cid,
                                                         int selfCardId)
                                                  throws ru.bitel.bgbilling.common.BGException

      Получение списка базовых карт для этого договора для заполнения комбобокса базовыми картами (мультирум).
      Parameters:
        `cid` - контрактИд
        `selfCardId` - ид самой этой карты (чтобы исключить её из списка, ведь она тоже базовая и выбираем мы только базовые, она сама будет в этом же списке)
      Returns:
        список; пустой если нет на договоре подходящих базовых карт или все они переполнены копиями, в том числе если в конфиге вообще всегда стоит ноль для максимума копий.
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### releaseSlave

          void releaseSlave(int cid,
                            int slavecardId)
                     throws ru.bitel.bgbilling.common.BGException

      Освободить зависимую карту. Если это зависимая, то отсоединяем её от основной (например, закрываем мы её).
      Parameters:
        `cid` - договор.
        `slavecardId` - зависимая карта карта (usercardId).
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getCardListByObject

          java.util.List<UserCard> getCardListByObject(int objectId)
                                                throws ru.bitel.bgbilling.common.BGException

      Список карт, привязанных к объекту.
      Parameters:
        `objectId` - код объекта
      Returns:
        список карт
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getContractObjects

          java.util.List<IdTitle> getContractObjects(int contractId)
                                              throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### getUserCard

          UserCard getUserCard(int id)
                        throws ru.bitel.bgbilling.common.BGException

      Throws:
        `ru.bitel.bgbilling.common.BGException`