public override IEnumerable <Tuple <string, string> > GetShortInfoList() { // Информация о текущем состоянии Абонемента. Добавляем всё что должно выводиться для Пользователя var result = new List <Tuple <string, string> > { new Tuple <string, string>("Тип: ", AbonementName), new Tuple <string, string>("Доступные Тренировки ", TypeWorkout.ToString()), new Tuple <string, string>("Услуги", Spa.ToString()), new Tuple <string, string>("Дата Покупки", BuyDate.ToShortDateString()), new Tuple <string, string>("Дата Активации", BuyActivationDate.ToShortDateString()) }; if (NumPersonalTr > 0) { result.Add(new Tuple <string, string>("Осталось Персональных", NumPersonalTr.ToString())); } if (NumAerobicTr > 0) { result.Add(new Tuple <string, string>("Осталось Аэробных", NumAerobicTr.ToString())); } if (PayStatus == Pay.Не_Оплачено) { result.Add(new Tuple <string, string>("Статус Оплаты ", PayStatus.ToString())); } return(result); }
// Конструктор public SingleVisit(TypeWorkout typeTr, SpaService spa, Pay payStatus, TimeForTr time) : base(payStatus, time, typeTr, spa) { _numAerobicTr = 0; _numPersonalTr = 0; DaysLeft = 1; EndDate = DateTime.Now.Date; }
protected AbonementBasic() { this.PayStatus = Pay.Не_Оплачено; TimeTraining = TimeForTr.Весь_День; TypeWorkout = TypeWorkout.Тренажерный_Зал; this.Spa = SpaService.Спа; IsActivated = false; BuyActivationDate = DateTime.Now.Date; BuyDate = DateTime.Now.Date; }
public override bool CheckInWorkout(TypeWorkout type) { if (DaysLeft <= 0) { return(false); } DaysLeft--; // OnValuesChanged(); return(true); }
private void RemoveGymList(string namePerson, TypeWorkout arg) { var gymItem = GymList?.FindLastIndex((x => x.Name.Equals(namePerson))); if (gymItem == null) { return; } GymList.RemoveAt((int)gymItem); }
private void RemoveMiniGroupList(string namePerson, TypeWorkout arg) { var item = MiniGroupList?.FindIndex((x => x.NamePerson.Equals(namePerson))); if (item == null) { return; } MiniGroupList.RemoveAt((int)item); }
// КОНСТРУКТОР protected AbonementBasic(Pay payStatus, TimeForTr time, TypeWorkout tr, SpaService spa) { this.PayStatus = payStatus; TimeTraining = time; TypeWorkout = tr; this.Spa = spa; IsActivated = false; BuyActivationDate = DateTime.Now.Date; BuyDate = DateTime.Now.Date; }
public override bool CheckInWorkout(TypeWorkout type) { bool result = false; if (IsValid()) { DaysLeft--; result = true; } return(result); }
public override bool CheckInWorkout(TypeWorkout type) { var result = false; if (!IsValid()) { return(false); } switch (type) { case TypeWorkout.Аэробный_Зал: { if (NumAerobicTr > 0) { --NumAerobicTr; result = true; } break; } case TypeWorkout.Персональная: { if (NumPersonalTr > 0) { --NumPersonalTr; result = true; } break; } case TypeWorkout.Тренажерный_Зал: { result = true; break; } case TypeWorkout.МиниГруппа: { if (NumMiniGroup > 0) { --NumMiniGroup; result = true; } break; } default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } // OnValuesChanged(); return(result); }
// Конструктор public AbonementByDays(Pay payStatus, TimeForTr time, TypeWorkout typeTr, SpaService spa, DaysInAbon numDays) : base(payStatus, time, typeTr, spa) { DaysLeft = (int)numDays; _typeAbonement = numDays; NumAerobicTr = 0; NumPersonalTr = 0; _validityPeriod = (typeTr == TypeWorkout.Персональная || typeTr == TypeWorkout.МиниГруппа) ? Options.ValidPeriod12Month: Options.ValidPeriodInMonth; // 12 месяцев - длительность абонемента с персональными тренировками EndDate = CalculateEndDate(DateTime.Now, _validityPeriod); }
public NumWorkoutForm(AbonementBasic abonement) { InitializeComponent(); _abonement = abonement; _selectedValue = 1; _selectedTypeWorkout = TypeWorkout.Персональная; var numbersAvailable = Options.NumAvailTrenToBuy;// 1,5,10 тренировок MyComboBox.Initialize(comboBox_num, numbersAvailable, numbersAvailable[0]); radioButton_mini.Visible = (abonement is ClubCardA); }
// Конструктор public ClubCardA(Pay payStatus, TimeForTr time, TypeWorkout typeTr, SpaService spa, PeriodClubCard periodInMonths) : base(payStatus, time, typeTr, spa) { _numberMonths = (int)periodInMonths; _numAerobicTr = _numberMonths * 10; NumPersonalTr = 0; NumMiniGroup = 0; _periodAbonem = periodInMonths; Freeze = new FreezeClass(periodInMonths); EndDateChanged += CalculateDaysLeft; EndDate = DateTime.Now.AddMonths(_numberMonths).Date; }
private void comboBox_TypeTren_SelectedValueChanged(object sender, EventArgs e) { var combo = (ComboBox)sender; try { _typeWorkout = MyComboBox.GetComboBoxValue <TypeWorkout>(combo); } catch (Exception) { MessageBox.Show(@"Exception 2"); } UpdateCorrectFieldsEn(); }
private void UpdateCorrectFieldsEn() { // Выходим если не нужна корректировка if (!checkBox_Activated.Checked) { return; } comboBox_Tren.Enabled = false; comboBox_Personal.Enabled = false; comboBox_Aerob.Enabled = false; comboBox_freez.Enabled = false; if (radioButton_Abonement.Checked) { if (comboBox_TypeTren.SelectedItem != null) { _typeWorkout = MyComboBox.GetComboBoxValue <TypeWorkout>(comboBox_TypeTren); switch (_typeWorkout) { case TypeWorkout.Тренажерный_Зал: comboBox_Tren.Enabled = true; break; case TypeWorkout.Аэробный_Зал: comboBox_Aerob.Enabled = true; break; case TypeWorkout.Персональная: comboBox_Personal.Enabled = true; break; case TypeWorkout.МиниГруппа: comboBox_Personal.Enabled = true; break; } comboBox_freez.Enabled = true; } } if (radioButton_ClubCard.Checked) { comboBox_Personal.Enabled = true; comboBox_freez.Enabled = true; comboBox_Aerob.Enabled = true; } }
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); }
/// <inheritdoc /> /// <summary> /// Добавить Блок Персональных или Аэробных тренировок к Клубной Карте /// </summary> public override bool AddTrainingsToAbon(TypeWorkout type, int numberToAdd) { bool result; switch (type) { case TypeWorkout.Аэробный_Зал: { NumAerobicTr += numberToAdd; result = true; break; } case TypeWorkout.Персональная: { NumPersonalTr += numberToAdd; result = true; break; } case TypeWorkout.Тренажерный_Зал: { result = false; break; } case TypeWorkout.МиниГруппа: { NumMiniGroup += numberToAdd; result = true; break; } default: { result = false; break; } } OnValuesChanged(); return(result); }
public override IEnumerable <Tuple <string, string> > GetShortInfoList() { // Информация о текущем состоянии Абонемента. Добавляем всё что должно выводиться для Пользователя 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>("Осталось Занятий", GetRemainderDays().ToString()), new Tuple <string, string>("Услуги", Spa.ToString()), new Tuple <string, string>("Дата Покупки", BuyDate.ToString("d")), new Tuple <string, string>("Дата Активации", BuyActivationDate.ToString("d")), new Tuple <string, string>("Дата Окончания", CalculateEndDate(BuyActivationDate, Options.ValidPeriodInMonth).ToString("d")) }; if (PayStatus == Pay.Не_Оплачено) { result.Add(new Tuple <string, string>("Статус Оплаты ", PayStatus.ToString())); } return(result); }
private void SetInitialValues() { if (_person.AbonementCurent == null) { _selectedAbonementName = "Абонемент";// Вид Абонемента по Умолчанию radioButton_Abonement.Checked = true; _typeWorkout = TypeWorkout.Тренажерный_Зал; _timeTren = TimeForTr.Весь_День; _spa = SpaService.Спа; _pay = Pay.Оплачено; _daysInAbon = DaysInAbon.На_12_посещений; _periodClubCard = PeriodClubCard.На_1_Месяц; } else // Абонемент Существует { _selectedAbonementName = _person.AbonementCurent.AbonementName; _typeWorkout = _person.AbonementCurent.TypeWorkout; _timeTren = _person.AbonementCurent.TimeTraining; _spa = _person.AbonementCurent.Spa; _pay = _person.AbonementCurent.PayStatus; switch (_person.AbonementCurent) { case AbonementByDays days: _daysInAbon = days.GetTypeAbonementByDays(); radioButton_Abonement.Checked = true; break; case ClubCardA abonement: _periodClubCard = abonement.GetTypeClubCard(); radioButton_ClubCard.Checked = true; break; case SingleVisit _: radioButton_Single.Checked = true; break; } } }
private void radioButtons_CheckedChanged(object sender, EventArgs e) { var radioB = (RadioButton)sender; var numbersAvailable = Options.NumAvailTrenToBuy;// 1,5,10 тренировок по умолчанию if (radioB.Name == radioButton_personal.Name) { _selectedTypeWorkout = TypeWorkout.Персональная; } if (radioB.Name == radioButton_aerob.Name) { _selectedTypeWorkout = TypeWorkout.Аэробный_Зал; } if (radioB.Name == radioButton_mini.Name) { _selectedTypeWorkout = TypeWorkout.МиниГруппа; numbersAvailable = Options.NumAvailMiniGroup;//1, 8 } // Сколько тренировок доступно для конкретного типа трени MyComboBox.Initialize(comboBox_num, numbersAvailable, numbersAvailable[0]); }
/// <summary> /// Добавление Персональных или Аэробных тренировок к текущему абонементу. /// </summary> public abstract bool AddTrainingsToAbon(TypeWorkout type, int numberToAdd);
public override string GetAbonementType() { return(TypeWorkout.ToString()); }
public override bool AddTrainingsToAbon(TypeWorkout type, int numberToAdd) { DaysLeft += numberToAdd; OnValuesChanged(); return(true); }
public void RemoveFromLog(string name, TypeWorkout arg) { TotalPersonToday--; // Счетчик посетителей за день _methodsDelCollection[arg].Invoke(name, arg); }
/// <summary> /// Проверяет если введен пароль. /// Удаляет посещение из списков на экране /// Удаляет посещение из сохраненной базы /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="typeWorkout"></param> private static void DelSelectedItem(object sender, PreviewKeyDownEventArgs e, TypeWorkout typeWorkout) { if (e.KeyData != Keys.Delete) { return; } Logic.AccessRootUser(); if (!PwdForm.IsPassUnLocked()) { return; } var name = MyListViewEx.GetSelectedText((ListView)sender); // Удаление из журнала DailyVisits.GetInstance().RemoveFromLog(name[1], typeWorkout); // Удаление с экрана MyListViewEx.RemoveSelectedItem((ListView)sender); PwdForm.LockPassword(); }
/// <summary> /// Отметить и Учесть посещение в абонементе /// </summary> public abstract bool CheckInWorkout(TypeWorkout type);
public WorkoutOptions() { TypeWorkout = new TypeWorkout(); PersonalTrener = new Trener(); GroupInfo = new Group(); }
public override bool AddTrainingsToAbon(TypeWorkout type, int numberToAdd) { return(false); // Заглушка }