示例#1
0
        public static void SaveAbonementToHistory(Person person, AbonementBasic abon)
        {
            if (abon == null)
            {
                return;
            }

            var currentAdmin = (DataBaseLevel.GetManhattanInfo()?.CurrentAdmin) ?? new Administrator();

            var lengAbonOrClCa = string.Empty;

            if (abon is AbonementByDays byDays)
            {
                lengAbonOrClCa = byDays.GetTypeAbonementByDays().ToString().Replace("На_", "").Replace("_", " ");
            }
            else if (abon is ClubCardA clubCardA)
            {
                lengAbonOrClCa = clubCardA.PeriodAbonem.ToString().Replace("На_", "");
            }
            else if (abon is SingleVisit singleVisit)
            {
                lengAbonOrClCa = "";
            }


            var abonHistory = new AbonHistory()
            {
                AbonementName        = abon.AbonementName,
                AdminName            = currentAdmin.Name,
                TypeWorkout          = abon.TypeWorkout.ToString(),
                Time                 = abon.TimeTraining.ToString(),
                SpaStatus            = abon.Spa.ToString(),
                EndDate              = abon.EndDate.ToShortDateString(),
                ActivationDate       = abon.BuyActivationDate.ToShortDateString(),
                LengthAbonOrClubCard = lengAbonOrClCa,
                NumAerobn            = (abon is AbonementByDays days && days.TypeWorkout == TypeWorkout.Аэробный_Зал) ? days.GetRemainderDays().ToString() : abon.NumAerobicTr.ToString(),
                NumMini              = (abon is AbonementByDays daysM && daysM.TypeWorkout == TypeWorkout.МиниГруппа) ? daysM.GetRemainderDays().ToString() : abon.NumMiniGroup.ToString(),
                NumPerson            = (abon is AbonementByDays daysP && daysP.TypeWorkout == TypeWorkout.Персональная) ? daysP.GetRemainderDays().ToString() : abon.NumPersonalTr.ToString(),
                BuyDate              = abon.BuyDate.ToShortDateString()
            };

            // Список всех абонементов для всех клиентов
            var personsAbonHistDict = DataBaseLevel.GetPersonsAbonHistDict();

            if (personsAbonHistDict.ContainsKey(person.Name))
            {
                personsAbonHistDict[person.Name].Add(abonHistory);
            }
            else
            {
                personsAbonHistDict.Add(person.Name, new List <AbonHistory> {
                    abonHistory
                });
            }
        }

        #endregion
    }
示例#2
0
        /// <summary>
        /// Сохраняет текущий визит. Перегрузка для работы с Диспетчером абонементов
        /// Добавляет в Журнал посещений параметры выбранной Тренировки, Текущего администратора, время тренировки.
        /// Статический метод, на вход нужно подать Персону.
        /// </summary>
        /// <param name="person"></param>
        /// <param name="abonement">Абонемент для сохранения</param>
        /// <param name="selectedOptions"></param>
        public static void SaveCurentVisit(Person person, AbonementBasic abonement, WorkoutOptions selectedOptions)
        {
            var currentAdmin     = (DataBaseLevel.GetManhattanInfo()?.CurrentAdmin) ?? new Administrator();
            var visit            = new Visit(abonement, selectedOptions, currentAdmin.Name);
            var personsVisitDict = DataBaseLevel.GetPersonsVisitDict();

            if (personsVisitDict.ContainsKey(person.Name))
            {
                personsVisitDict[person.Name].Add(visit);
            }
            else
            {
                personsVisitDict.Add(person.Name, new List <Visit> {
                    visit
                });
            }
        }