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)); }
/// <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); }
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(); }
/// <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); }