Exemple #1
0
 public static bool CheckTrainingOnAvailable(Account account, UpcomingTraining item)
 {
     if (item == null || account == null)
     {
         return(false);
     }
     return(DbManager.GetInstance().IsRecordAvailable(account, item));
 }
 /// <summary>
 /// Звафиксировыать посещение тренировки
 /// </summary>
 /// <param name="account">Учетная запись</param>
 /// <param name="upcomingTraining">Предстоящая тренировка</param>
 public void FixTheVisit(Account account, UpcomingTraining upcomingTraining)
 {
     if (account == null || upcomingTraining == null)
     {
         return;
     }
     unitOfWork.UpcomingTrainings.FixTheVisit(account, upcomingTraining);
 }
 /// <summary>
 /// Проверить тренировку на возможность записи
 /// </summary>
 /// <param name="account">аккаунт</param>
 /// <param name="item">выбранная тренировка</param>
 /// <returns></returns>
 public bool CheckTrainingOnAvailable(Account account, UpcomingTraining item)
 {
     if (item == null || account == null)
     {
         return(false);
     }
     return(Assistiant.CheckTrainingOnAvailable(account, item));
 }
Exemple #4
0
        /// <summary>
        /// Отказ о посещении тренировки
        /// </summary>
        /// <param name="account">Аккаунт</param>
        /// <param name="upcTraining">предстоящая тренировка</param>
        public static void RefusalOfVisit(Account account, UpcomingTraining upcTraining)
        {
            if (account == null || upcTraining == null)
            {
                return;
            }

            DbManager.GetInstance().RefusalOfVisit(account, upcTraining);
        }
        /// <summary>
        /// Отказ о посещении тренировки
        /// </summary>
        /// <param name="account">Аккаунт</param>
        /// <param name="upcTraining">предстоящая тренировка</param>
        public void RefusalOfVisit(Account account, UpcomingTraining upcTraining)
        {
            if (account == null || upcTraining == null)
            {
                return;
            }

            ClientsHelper.RefusalOfVisit(account, upcTraining);
        }
Exemple #6
0
        public bool CheckTrainingOnAvailable(UpcomingTraining item)
        {
            if (item == null)
            {
                return(false);
            }
            var query = DataBaseFcContext.UpcomingTrainings.FirstOrDefault(upc => upc.TrainingId == item.TrainingId);

            return(query != null && query.NumberOfSeats != 0);
        }
        /// <summary>
        /// Звафиксировыать посещение тренировки
        /// </summary>
        /// <param name="account">Учетная запись</param>
        /// <param name="upcomingTraining">Предстоящая тренировка</param>
        public void FixTheVisit(Account account, UpcomingTraining upcomingTraining)
        {
            if (account == null || upcomingTraining == null)
            {
                return;
            }

            ClientsHelper.FixTheVisit(account, upcomingTraining);
            SetTotalCost(account.Abonement);
        }
        /// <summary>
        /// Проверка тренировки по факту доступности (число мест !=0)
        /// </summary>
        /// <param name="account">аккаунт</param>
        /// <param name="item">предстоящая тренировка</param>
        /// <returns></returns>
        public bool IsRecordAvailable(Account account, UpcomingTraining item)
        {
            if (item == null || account == null)
            {
                return(false);
            }

            bool bIsNotContainsTraining = !account.Abonement.ArrUpcomingTrainings.Contains(item);

            return(unitOfWork.Services.CheckTrainingOnAvailable(item) && bIsNotContainsTraining);
        }
        public void IncrementCountServices(UpcomingTraining upcTraining)
        {
            if (upcTraining == null)
            {
                return;
            }
            var query = DataBaseFcContext.ServicesInSubscription.FirstOrDefault(upcTrain => upcTrain.PriceType.TrainingListName.ServiceName == upcTraining.Service.ServiceName);

            if (query == null)
            {
                return;
            }
            query.SiSTrainingCount++;

            DataBaseFcContext.SaveChanges();
        }
        /// <summary>
        /// Отказ о посещении тренировки
        /// </summary>
        /// <param name="account">Аккаунт</param>
        /// <param name="upcTraining">предстоящая тренировка</param>
        public void RefusalOfVisit(Account account, UpcomingTraining upcTraining)
        {
            if (account == null || upcTraining == null)
            {
                return;
            }

            //1. Получили предстоящую тренировку
            var upcomTraining = unitOfWork.UpcomingTrainings.GetUpcomingTraining(upcTraining);
            //2. получили текущий аккаунт
            var currAccount = unitOfWork.Accounts.FindAccountWithSameData(account);
            //3. Получили отмененную тренировку
            var CancelledTraining = currAccount.Abonement.ArrServicesInSubscription.FirstOrDefault(upcTr => upcTr.PriceType.TrainingListName.ServiceName ==
                                                                                                   upcTraining.Service.ServiceName);

            if (CancelledTraining == null)
            {
                currAccount.Abonement.ArrServicesInSubscription.Add(new ServicesInSubscription()
                {
                    SiSTrainingName  = upcTraining.Service.ServiceName,
                    SiSTrainingCount = 1,
                    PriceType        = upcTraining.CurrentService.PriceType
                });
            }
            else
            {
                CancelledTraining.SiSTrainingCount++;
                //  //Нашли текущую тренировку
                //var existTraining =  currAccount.Abonement.ArrServicesInSubscription.FirstOrDefault(upcTr =>
                //      upcTr.SiSTrainingName == upcTraining.Service.ServiceName);
                //  if (existTraining != null)
                //  {
                //      existTraining.SiSTrainingCount++;
                //  }

                ////4. Увеличим счетчик текущей тренировки
                //unitOfWork.ServicesInSubscription.IncrementCountServices(upcTraining);
            }
            //3. Убрали тренировку из записи
            currAccount.Abonement.ArrUpcomingTrainings.Remove(upcTraining);
            ////3. Убрали тренировку из записи
            //unitOfWork.UpcomingTrainings.Remove(upcTraining);
            //Сохраним изменения в БД
            unitOfWork.Complete();
        }
Exemple #11
0
        /// <summary>
        /// Создать предварительную регистрацию тренировки
        /// </summary>
        /// <param name="account">Аккаунт</param>
        /// <param name="currentItem">Выбранная тренировка</param>
        public static void CreatePriorRegistration(Account account, ServicesInSubscription service, UpcomingTraining currentItem)
        {
            if (account == null || service == null || currentItem == null)
            {
                return;
            }

            DbManager.GetInstance().CreatePriorRegistration(account, service, currentItem);
        }
 /// <summary>
 /// Предварительно зарегистрировать трениртовку
 /// </summary>
 /// <param name="currentItem">Предварительная запись на тренировку</param>
 public void CreatePriorRegistration(Account account, ServicesInSubscription service, UpcomingTraining currentItem)
 {
     if (account == null || service == null || currentItem == null)
     {
         return;
     }
     ClientsHelper.CreatePriorRegistration(account, service, currentItem);
 }
        /// <summary>
        /// Создать предварительную регистрацию тренировки
        /// </summary>
        /// <param name="account">Аккаунт</param>
        /// <param name="currentItem">Выбранная тренировка</param>
        public void CreatePriorRegistration(Account account, ServicesInSubscription service, UpcomingTraining currentItem)
        {
            var servicesInSubscriptions = account.Abonement.ArrServicesInSubscription.Where(serv =>
                                                                                            serv.PriceType.TrainingListName.ServiceName == currentItem.Service.ServiceName).FirstOrDefault();

            if (servicesInSubscriptions.SiSTrainingCount == 1)
            {
                //сохраним ссылку на тренировку
                currentItem.CurrentService = new ServicesInSubscription(service);
            }


            //1. Получим аккаунт
            account.Abonement.ArrUpcomingTrainings.Add(currentItem);
            service.SiSTrainingCount--;
            if (service.SiSTrainingCount == 0)
            {
                account.Abonement.ArrServicesInSubscription.Remove(service);
            }
            //// //1. Получили тренировку
            ////var currentService = unitOfWork.ServicesInSubscription.Get(service.SiSId);
            ////2. Уменьшили счетчик
            // currentService.SiSTrainingCount--;
            //3. Засейвили изменения
            //  unitOfWork.ServicesInSubscription.AddOrUpdate(currentService);

            unitOfWork.Complete();
            //Также необходимо создать новую запись
            // unitOfWork.UpcomingTrainings.AddNewUpcomingTraining(account, currentItem);
        }