Esempio n. 1
0
        /// <summary>
        /// Получение банковских данных конкретного пользователя
        /// </summary>
        /// <param name="moneyPath">Путь к файлу</param>
        /// <param name="id">Номер пользователя</param>
        /// <returns></returns>
        public BankCard GetMoneyData(string moneyPath, int id)
        {
            try
            {
                using (StreamReader sr = new StreamReader(moneyPath, Encoding.UTF8))
                {
                    var card = new BankCard();

                    string stream;
                    while ((stream = sr.ReadLine()) != null)
                    {
                        string[] line = stream.Split(';');
                        if (Convert.ToInt32(line[0]) == id)
                        {
                            card.cardNumber = Convert.ToInt64(line[1]);
                            card.validDate  = Convert.ToDateTime(line[2]);
                            card.SetMoney(Convert.ToDecimal(line[3]));
                            sr.Close();
                            return(card);
                        }
                    }
                    sr.Close();
                }
                return(null);
            }
            catch (Exception ex)
            {
                if (_del != null)
                {
                    _del(ex);
                }
                return(null);
            }
        }
Esempio n. 2
0
        public new void WithdrawMoney(decimal value, BankCard card)
        {
            decimal dec = 0;

            endTime = beginTime.AddMonths(monthsCount);
            dec     = card.GetMoney() - value;
            card.SetMoney(dec);
        }
Esempio n. 3
0
        public void WithdrawMoney(decimal value, BankCard card)
        {
            decimal add = 0;

            add     = card.GetMoney() - value;
            endTime = beginTime.AddMonths(monthsCount);
            card.SetMoney(add);
        }
Esempio n. 4
0
        public void WithdrawMoney(decimal value, BankCard card)
        {
            decimal dec = 0;

            endTime = beginTime.AddDays(daysCount);
            dec     = card.GetMoney() - value;
            card.SetMoney(dec);
        }
Esempio n. 5
0
 /// <summary>
 /// Метод MakeTransport передаёт в наследуемые поля класса Ticket информацию о покупке проездного билета
 /// </summary>
 /// <param name="price">Цена за услугу</param>
 /// <param name="_daysCount">Количество дней на которое приобретается билет</param>
 /// <param name="_type">Тип услуги</param>
 /// <param name="card">Объект класса BankCard</param>
 /// <returns>Возвращает true если на карте есть деньги и карта доступна</returns>
 public bool MakeTransport(decimal price, int _daysCount, ETickets _type, BankCard card)
 {
     if (card.GetMoney() > price && card.cardActivated)
     {
         daysCount = _daysCount;
         type      = _type;
         beginTime = DateTime.Now;
         WithdrawMoney(price, card);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 6
0
 /// <summary>
 /// Обновление данных о доступных средствах на банковской карте
 /// </summary>
 /// <param name="card">Объект класса BankCard</param>
 /// <param name="card_path">Путь к файлу</param>
 /// <param name="id">Номер пользователя</param>
 /// <returns></returns>
 public bool MoneyDataSaver(BankCard card, string card_path, int id)
 {
     try
     {
         string text;
         string stream;
         using (StreamReader sr = new StreamReader(card_path, Encoding.UTF8))
         {
             text = sr.ReadToEnd();
             sr.Close();
         }
         using (StreamReader sr = new StreamReader(card_path, Encoding.UTF8))
         {
             while ((stream = sr.ReadLine()) != null)
             {
                 string[] line = stream.Split(';');
                 if (Convert.ToInt32(line[0]) == id)
                 {
                     text = text.Replace(stream, id + card.GetStringToWrite());
                     break;
                 }
             }
             sr.Close();
         }
         using (StreamWriter sw = new StreamWriter(card_path))
         {
             sw.Write(text);
             sw.Close();
         }
         return(true);
     }
     catch (Exception ex)
     {
         if (_del != null)
         {
             _del(ex);
         }
         return(false);
     }
 }
Esempio n. 7
0
 /// <summary>
 /// Метод MakeMedicalPolicy передаёт в наследуемые поля класса Ticket информацию о покупке медицинской страховки
 /// </summary>
 /// <param name="price">Цена за услугу</param>
 /// <param name="_daysCount">Количество месецев на которое приобретается услуга</param>
 /// <param name="_type">Тип услуги</param>
 /// <param name="card">Объект класса BankCard</param>
 /// <returns>Возвращает true если на карте есть деньги и карта доступна</returns>
 public bool MakeMedicalPolicy(decimal price, int _monthsCount, ETickets _type, BankCard card)
 {
     if (card.GetMoney() > price && card.cardActivated)
     {
         monthsCount = _monthsCount;
         type        = _type;
         beginTime   = DateTime.Now;
         WithdrawMoney(price, card);
         return(true);
     }
     else
     {
         return(false);
     }
 }