public string GetNewCard(long clientId, CardsStatuses cardsStatuses)
        {
            long cs;

            try
            {
                cs = Convert.ToInt64(cardsStatuses);
            }
            catch
            {
                return("Ошибка статуса карты");
            }
            if (clientId > 0)
            {
                int pin = 1111; // стандартный пинкод для новой карты
                try
                {
                    CardGateway.Instance.Create(new Cards()
                    {
                        Balance = 0, CardNumber = CardGateway.Instance.GenerateCardNumber(), CardStatus = cs, ClientId = clientId, DateOfEndUsing = DateTime.Now.AddYears(5), IsBlocked = false, Pin = pin
                    });
                    return($"Поздравляем! Новая карта успешно добавлена в ваш кошелек. Пинкод {pin}.");
                }
                catch
                {
                    return("Не удалось добавить новую карту");
                }
            }
            else
            {
                return("Ошибка идентификатора клиента.");
            }
        }
        /// <summary>
        /// проверка, возможна ли следующая транзакция с картой
        /// </summary>
        /// <param name="transactionsSum">итоговая сумма транзакций(суммарная совершонная + желаемая для совершения)</param>
        /// <param name="cardStatus">вид карты</param>
        /// <param name="transactionForm">вид операции со счетом карты</param>
        /// <returns>false=желаемая транзакция невозможна, true=желаемая транзакция возможна</returns>
        public static bool CheckCardLimit(double transactionsSum, CardsStatuses cardStatus, TransactionForm transactionForm)
        {
            bool        rez = false;
            CardsLimits cl  = new CardsLimits();

            switch (cardStatus)
            {
            case CardsStatuses.GoldCard:
                rez = IsInLimit(cl.GoldCardLimit, transactionsSum);
                break;

            case CardsStatuses.BlackCard:
                rez = IsInLimit(cl.BlackCardLimit, transactionsSum);
                break;

            case CardsStatuses.BlueCard:
                rez = IsInLimit(cl.BlueCardLimit, transactionsSum);
                break;
            }

            return(rez);
        }
Exemple #3
0
 public CardsStatusesEventArgs(CardsStatuses cardsStatuses)
 {
     _cardsStatuses = cardsStatuses;
 }