static void Generate(ref int inNumberSubscription, DataBaseFcContext context) { if (context == null) { return; } if (context.Accounts.ToList().Count == 0) { m_next = m_rnd.Next(MinValue, MaxValue); inNumberSubscription = m_next; } else { //Получим номера абонементов всех клиеннтов var query = from numberSubscription in context.Accounts select numberSubscription.Abonement.NumberSubscription; //сгенерировали номер абонемента m_next = m_rnd.Next(MinValue, MaxValue); if (query.ToList().Contains(m_next)) { Generate(ref inNumberSubscription, context); } else { inNumberSubscription = m_next; } } }
static DbManager() { if (_dataBaseContext == null) { _dataBaseContext = new DataBaseFcContext("dbContext"); } if (_manager == null) { _manager = new DbManager(); } }
/// <summary> /// Звафиксировыать посещение тренировки /// </summary> /// <param name="account">Учетная запись</param> /// <param name="upcomingTraining">Предстоящая тренировка</param> public void FixTheVisit(Account account, UpcomingTraining upcomingTraining) { if (account == null || upcomingTraining == null) { return; } //1.Нашли аккаунт var currentAbonement = DataBaseFcContext.Abonements.FirstOrDefault(abonem => abonem.AbonementId == account.Abonement.AbonementId); //2. Удалили тренировку из записи currentAbonement?.ArrUpcomingTrainings.Remove(upcomingTraining); DataBaseFcContext.SaveChanges(); }
/// <summary> /// Добавить новую предстоящую тренировку /// </summary> public void AddNewUpcomingTraining(Account account, UpcomingTraining newTraining) { if (account == null || newTraining == null) { return; } //1.Нашли аккаунт var currentAbonement = DataBaseFcContext.Abonements.FirstOrDefault(abonem => abonem.AbonementId == account.Abonement.AbonementId); //2. Добавили новую тренировку currentAbonement?.ArrUpcomingTrainings.Add(newTraining); DataBaseFcContext.SaveChanges(); }
public void GetTrainingWithCurrentGym(Gym gym) { if (gym == null) { return; } var query = DataBaseFcContext.UpcomingTrainings.Where(currGym => currGym.Gym.GymId == gym.GymId).ToList(); foreach (UpcomingTraining item in query) { DataBaseFcContext.UpcomingTrainings.Remove(item); } DataBaseFcContext.SaveChanges(); }
/// <summary> /// Функция генерирует номер абонемента /// </summary> /// <returns>Уникальный номер абонемента</returns> public static int CreateNumberSubscription() { DataBaseFcContext context = DbManager.GetDbContext(); int number = 0; try { Generate(ref number, context); } catch (Exception e) { //Messenger.Default.Send<Exception>(e); Debug.Write("Исключение" + e.Message); } return(number); }
public UnitOfWork(DataBaseFcContext context) { m_context = context; //иницилизация репозиториев Accounts = new AccountRepository(m_context); Employess = new EmployeeRepository(m_context); EmployeRoles = new EmployeeRoleRepository(m_context); EmployeesWorkingStatus = new EmployeeWorkingStatusRepository(m_context); TrainingList = new TrainingListRepository(m_context); Services = new ServiceRepository(m_context); AccountStatus = new AccountStatusRepository(m_context); ServicesInSubscription = new SiSRepository(m_context); Abonements = new AbonementRepository(m_context); UpcomingTrainings = new UpcomingTrainingRepository(m_context); PriceTrainingLists = new PriceTrainingListRepository(m_context); Gyms = new GymRepository(m_context); }
/// <summary> /// Создать запись клиента в БД /// </summary> /// <param name="data">Регистрационные данные клиента</param> public void CreateRecord(Account data) { //проверим еще раз, что такой записи нет var clientData = DataBaseFcContext.Accounts.Find(data.HumanId); if (clientData == null) { //создадим статус var statuses = DataBaseFcContext.AbonementStatuses.FirstOrDefault(stat => stat.StatusName == "Не активен"); //создадим абонемент data.Abonement = new Abonement() { AbonmentStatus = statuses }; //создаем абонемент data.HumanPhoto = SqlTools.ConvertImageToByteArray(data.StrPathPhoto); } DataBaseFcContext.Accounts.AddOrUpdate(data); DataBaseFcContext.SaveChanges(); }
/// <summary> /// Найти аккаунт с определенными данными /// </summary> /// <param name="clientData"> Данные по которым будет производиться выборка</param> /// <returns></returns> //public NewClientData FindAccountWithSameData(NewClientData clientData) //{ // //var query = DataBaseFcContext.Accounts.FirstOrDefault(acc => acc.ClientFirstName == clientData.PersonFirstName && acc.ClientLastName == // // clientData.PersonLastName // // && acc.ClientFamilyName == // // clientData.PersonFamilyName && // // acc.ClientDateOfBirdth == // // clientData.PersonDateOfBirdth); //var query = DataBaseFcContext.Accounts.FirstOrDefault(acc => ((acc.HumanFirstName == clientData.PersonFirstName) // && // (acc.HumanLastName == clientData.PersonLastName) // && // (acc.HumanFamilyName == clientData.PersonFamilyName) // && // (acc.HumanPasportDataSeries == clientData.ClientPasportDataSeries) // && // (acc.HumanPasportDataNumber == clientData.ClientPasportDataNumber) // )); // return query != null // ? new NewClientData(true) // { // PersonRole = "Клиент", // PersonFirstName = query.HumanFirstName, // PersonLastName = query.HumanLastName, // PersonFamilyName = query.HumanFamilyName, // PersonDateOfBirdth = query.HumanDateOfBirdth, // PersonGender = query.HumanGender, // PersonId = query.HumanId, // PersonAdress = query.HumanAdress, // PersonPhoneNumber = query.HumanPhoneNumber, // PersonMail = query.HumanMail, // PersonPhoto =query.HumanPhoto, // ClientPasportDataSeries = query.HumanPasportDataSeries, // ClientPasportDataNumber = query.HumanPasportDataNumber, // ClientPasportDataIssuedBy = query.HumanPasportDataIssuedBy, // ClientPasportDatеOfIssue = query.HumanPasportDatеOfIssue, // NumberSubscription = query.Abonement.NumberSubscription // } : null; //} public void UpdateFields(Account clientData) { Account _clientData = null; if (clientData.HumanId == 0) { _clientData = DataBaseFcContext.Accounts.Find(clientData.HumanId); if (_clientData == null) { return; } } else { _clientData = clientData; } SqlTools.UpdatePhoto(ref _clientData, clientData.StrPathPhoto); DataBaseFcContext.Accounts.AddOrUpdate(_clientData); DataBaseFcContext.SaveChanges(); }
public UnitOfWork(IServiceProvider serviceProvider) { //получаем контекст БД m_context = (DataBaseFcContext)serviceProvider.GetService(typeof(DataBaseFcContext)); //инциализация репозиториев Clients = serviceProvider.GetRequiredService <IClientRepository>(); AbonementStatuses = serviceProvider.GetRequiredService <IAbonementStatusRepository>(); AbonementTypes = serviceProvider.GetRequiredService <IAbonementTypeRepository>(); TrainingClients = serviceProvider.GetRequiredService <ITrainingClientRepository>(); TrainingDatas = serviceProvider.GetRequiredService <ITrainingDataRepository>(); Trainings = serviceProvider.GetRequiredService <ITrainingRepository>(); Gyms = serviceProvider.GetRequiredService <IGymRepository>(); CoachesTrainings = serviceProvider.GetRequiredService <ICoachTrainingRepository>(); Employees = serviceProvider.GetRequiredService <IEmployeeRepository>(); Roles = serviceProvider.GetRequiredService <IRoleRepository>(); ReplacedTrainings = serviceProvider.GetRequiredService <IReplacedTrainingRepository>(); TrainingLevels = serviceProvider.GetRequiredService <ITrainingLevelRepository>(); ProgramTypes = serviceProvider.GetRequiredService <IProgramTypeRepository>(); VisitedTrainingClients = serviceProvider.GetRequiredService <IVisitedTrainingClientRepository>(); FcmInfos = serviceProvider.GetRequiredService <IFcmInfoRepository>(); ClientsFcmInfos = serviceProvider.GetRequiredService <IClientsFcmInfoRepository>(); // }
public AbonementTypeRepository(DataBaseFcContext context) : base(context) { }
public ServiceRepository(DataBaseFcContext context) : base(context) { }
public FcmInfoRepository(DataBaseFcContext context) : base(context) { }
public void AppentRecordToExistAccount(Account acc) { DataBaseFcContext.Accounts.AddOrUpdate(acc); DataBaseFcContext.SaveChanges(); }
public ClientRepository(DataBaseFcContext context) : base(context) { }
public ReplacedTrainingRepository(DataBaseFcContext context) : base(context) { }
public RoleRepository(DataBaseFcContext context) : base(context) { }
public CoachTrainingRepository(DataBaseFcContext context) : base(context) { }
public AccountStatusRepository(DataBaseFcContext context) : base(context) { }
public EmployeeWorkingStatusRepository(DataBaseFcContext context) : base(context) { }
public GymRepository(DataBaseFcContext context) : base(context) { }
public TrainingListRepository(DataBaseFcContext context) : base(context) { }
public VisitedTrainingClientRepository(DataBaseFcContext context) : base(context) { }
public AbonementStatusRepository(DataBaseFcContext context) : base(context) { //TODO: Разместите объявления методов для работы со статусами абонемента }
public EmployeeRoleRepository(DataBaseFcContext context) : base(context) { }
public ProgramTypeRepository(DataBaseFcContext context) : base(context) { }