/// <summary> /// Получить оставшиеся дни в клубной карте /// </summary> /// <returns></returns> public override int GetRemainderDays() { var numFreezDays = Freeze?.GetSpentDays() ?? 0; //Продлим на замороженные дни DaysLeft = (EndDate.Date - DateTime.Now.Date).Days + numFreezDays; return((DaysLeft >= 0) ? DaysLeft : 0); }
// Методы public override bool IsValid() { // Если +, то DateTime.Now позднее _endDate // Если 0, то даты совпали // Если -, то DateTime.Now раньше Конца абонемента if (_numberMonths == 0) { throw new Exception("Ошибка в методе IsValid Клубной карты. _numberMonths =0" + this.GetType()); } // FIXME Проверить как работает Валидация клубной карты if (!IsActivated && DateTime.Now.Date.CompareTo(BuyActivationDate.AddMonths(12).Date) <= 0) { return(true); } var addFreezedDays = Freeze?.GetSpentDays(); DateTime finishDate = new DateTime(); finishDate = EndDate.Date.AddDays((addFreezedDays ?? 0)); var checkDate = DateTime.Now.Date.CompareTo(finishDate.Date) <= 0; return(checkDate); }
public override IEnumerable <Tuple <string, string> > GetShortInfoList() { var numFreezDays = Freeze?.GetSpentDays() ?? 0; //Продлим на замороженные дни var clubCardEndDate = IsActivated ? EndDate.Date.AddDays(numFreezDays).ToString("d") : BuyDate.AddMonths(12).ToString("d"); // Информация о текущем состоянии Абонемента. Добавляем всё что должно выводиться для Пользователя var result = new List <Tuple <string, string> > { new Tuple <string, string>("Тип: ", AbonementName), new Tuple <string, string>("Доступные Тренировки ", TypeWorkout.ToString()), new Tuple <string, string>("Время Тренировок ", TimeTraining.ToString()), new Tuple <string, string>("Услуги", Spa.ToString()), new Tuple <string, string>("Срок Клубной Карты", _numberMonths + " мес."), new Tuple <string, string>("Дата Покупки", BuyDate.ToString("d")), new Tuple <string, string>("Дата Активации", BuyActivationDate.ToString("d")), new Tuple <string, string>("Дата Окончания", clubCardEndDate), new Tuple <string, string>("Осталось Дней", GetRemainderDays().ToString()) }; if (NumPersonalTr > 0) { result.Add(new Tuple <string, string>("Осталось Персональных", NumPersonalTr.ToString())); } if (NumAerobicTr > 0) { result.Add(new Tuple <string, string>("Осталось Аэробных", NumAerobicTr.ToString())); } if (NumMiniGroup > 0) { result.Add(new Tuple <string, string>("Осталось МиниГрупп", NumMiniGroup.ToString())); } if (PayStatus == Pay.Не_Оплачено) { result.Add(new Tuple <string, string>("Статус Оплаты ", PayStatus.ToString())); } if (Freeze != null) { result.Add(new Tuple <string, string>("Осталось дней Заморозки", Freeze.GetAvailableDays().ToString())); } return(result); }