/// <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); } }
public new void WithdrawMoney(decimal value, BankCard card) { decimal dec = 0; endTime = beginTime.AddMonths(monthsCount); dec = card.GetMoney() - value; card.SetMoney(dec); }
public void WithdrawMoney(decimal value, BankCard card) { decimal add = 0; add = card.GetMoney() - value; endTime = beginTime.AddMonths(monthsCount); card.SetMoney(add); }
public void WithdrawMoney(decimal value, BankCard card) { decimal dec = 0; endTime = beginTime.AddDays(daysCount); dec = card.GetMoney() - value; card.SetMoney(dec); }
/// <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); } }
/// <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); } }
/// <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); } }