/// <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(); }
public static void Seed(IUnitOfWork context) { // UnitOfWork.IUnitOfWork context = IoC.ApplicationDbContext; //1 способ - получить из IoC //если нет статусов абонемента if (!context.AbonementStatuses.GetAll().Any()) { context.AbonementStatuses.AddRange(new List <AbonementStatus>() { new AbonementStatus { Name = "Активен" }, new AbonementStatus { Name = "Не активен" }, new AbonementStatus { Name = "Заморожен" } }); } //если нет типа абонемента if (!context.AbonementTypes.GetAll().Any()) { context.AbonementTypes.AddRange(new List <AbonementType>() { new AbonementType { Name = "Утренний" }, new AbonementType { Name = "Вечер" }, new AbonementType() { Name = "Карта полного дня" } }); } //если нет данных об уровне тренировок if (!context.TrainingLevels.GetAll().Any()) { context.TrainingLevels.AddRange(new List <TrainingLevel>() { new TrainingLevel() { Name = "Для всех уровней подготовки" }, new TrainingLevel() { Name = "Низкая интенсивность" }, new TrainingLevel() { Name = "Высокая интенсивность" } }); } //если нет данных об типе программы if (!context.ProgramTypes.GetAll().Any()) { context.ProgramTypes.AddRange(new List <ProgramType>() { new ProgramType() { Name = "Специальные программы" }, new ProgramType() { Name = "Силовой и функциональный тренинг" }, new ProgramType() { Name = "Mind&Body (Мягкий фитнес)" }, new ProgramType() { Name = "Кардио тренинг" }, }); } //если нет данных о залах, создадим if (!context.Gyms.GetAll().Any()) { context.Gyms.AddRange(new List <Gym>() { new Gym() { Name = "Большой зал" }, new Gym() { Name = "Тренажерный зал" }, new Gym() { Name = "Зал персональных занятий" }, }); } //если нет данных о тренировке if (!context.TrainingDatas.GetAll().Any()) { context.TrainingDatas.AddRange(new List <TrainingData>() { new TrainingData() { TrainingName = "Hatha Yoga", TrainingDescription = "Занятие, на котором помимо асан и пранаямы делается акцент на " + "концентрацию внимания и медитацию. Урок рекомендован для всех уровней подготовки", Level = context.TrainingLevels.Get(2), ProgramType = context.ProgramTypes.Get(2), IsNewTraining = true }, new PayTraining() { TrainingName = "TRX", TrainingDescription = "TRX - тренировка мышц всего тела с помощью уникального оборудования - " + "TRX-петель. Это тренировка, которая позволяет не только развивать все мышечные группы, " + "укреплять связки и сухожилия, но и развивать гибкость, ловкость, выносливость и многое " + "другое. Данная тренировка имеет еще одно важное достоинство - эффективное развитие мышц так " + "называемого кора(мышц-стабилизаторов). Упражнения подходят для всех возрастных групп, " + "для мужчин и женщин, для лиц с отклонениями в состоянии здоровья, так как в этой тренировке " + "нет никакой осевой (вертикальной) нагрузки на позвоночник", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(1), PlacesCount = 10, }, new TrainingData() { TrainingName = "New Body", TrainingDescription = "NEW BODY (55 мин) («Новое тело») - силовой урок, направленный на тренировку всех " + "групп мышц. Специально подобранные комплексы упражнений помогут скорректировать проблемные зоны, " + "независимо от того, каким телосложением вы обладаете. Урок рекомендован как для среднего так и для " + "продвинутого уровня подготовки", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "ABS and Stretch", TrainingDescription = "Урок, направленный на развитие гибкости, с использованием специальных упражнений на растягивание. " + "Увеличивает подвижность суставов, эластичность связок, дает общее расслабление и релаксацию.", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "Pilates", TrainingDescription = "Урок направлен на укрепление мышц-стабилизаторов, упражнгения пилатес " + "способствуют снятию напряжению с позвоночника, восстановлению эластичности " + "связочного аппарата и мышц. Урок рекомендован для всех уровней подготовки", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(3), Ispopular = true }, new TrainingData() { TrainingName = "Здоровая спина", TrainingDescription = "Улучшит функционирование внутренних органов " + "и систем организма, укрепит мышечно-связочный аппарат, " + "скорректирует мышечный дисбаланс, будет способствовать развитию" + " гибкости позвоночника и тела в целом, позволит выработать правильную осанку." + " Урок рекомендован для всех уровней подготовки.", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(1), Ispopular = true }, new TrainingData() { TrainingName = "STEP ABS", TrainingDescription = "Step+ABS – это отличная комбинированная кардио тренировка, " + "сочетающая нагрузку на мышцы брюшного пресса и занятия на степ-платформе.", Level = context.TrainingLevels.Get(3), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "#запускягодицы", TrainingDescription = "Функциональная тренировка, направленная на проработку ягодичных мышц " + "и мышц брюшного пресса. Тренировка состоит из нескольких блоков, с использованием" + " различного оборудования или выполнения упражнений с собственным весом.", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "Upper Body", TrainingDescription = "(англ. «upper» – верх и «body» – тело) —силовой урок, направленный на проработку мышечных " + "групп верхней части тела: рук, плечевого пояса, спины и брюшного пресса. При этом могут использоваться " + "дополнительные отягощения: гантели, бодибары, степ платформы и т.д Тренировка подходит для любого " + "уровня подготовленности.Главная задача тренировки Upper Body. – это подтянуть живот, сделав мышцы пресса " + "крепкими, а талию узкой, привести мышцы рук в тонус, а также укрепить мышцы груди и спины, что важно для " + "красивой осанки.", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "Stretch", TrainingDescription = "Урок, направленный на развитие гибкости, с использованием специальных упражнений на растягивание. " + "Увеличивает подвижность суставов, эластичность связок, даёт общее расслабление и релаксацию.", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(3) }, new TrainingData() { TrainingName = "Callanetics", TrainingDescription = "Уникальная система упражнений, возбуждающая активность глубоко расположенных мышечных групп," + " способствующая оздоровлению организма, снижению веса и уменьшению объемов тела. В статичном режиме " + "тренируются все мышечные группы и связочный аппарат.", Level = context.TrainingLevels.Get(1), ProgramType = context.ProgramTypes.Get(3) }, new TrainingData() { TrainingName = "STEP INTERVAL", TrainingDescription = "Step interval - это аэробно-силовой фитнес, сочетающий чередование упражнений " + "(прыжков, приседаний, отжиманий и т.д.) с базовыми шагами на степ-платформе. ", Level = context.TrainingLevels.Get(3), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "Soft Mix", TrainingDescription = "Фитнес микс – это синтез различных видов фитнеса, которые комбинированно применяются" + " в условиях одной тренировки либо чередуются от занятия к занятию.", Level = context.TrainingLevels.Get(2), ProgramType = context.ProgramTypes.Get(3) }, new TrainingData() { TrainingName = "PUMP", TrainingDescription = "Это целостная система низко-ударной тренировки с использованием облегченной штанги." + " Благодаря PUMP прорабатываются, укрепляются и приводятся в тонус все мышцы тела. " + "Тренировка характеризуется особым агрессивным драйвом и приносит гораздо больше результатов " + "и удовольствия, чем традиционное монотонное поднятие тяжестей. Она подходит как для мужчин, " + "так и для женщин всех возрастов. Для продвинутого уровня подготовки.", Level = context.TrainingLevels.Get(3), ProgramType = context.ProgramTypes.Get(2) }, new TrainingData() { TrainingName = "Тabata", TrainingDescription = "Интервальная тренировка, которая включает в себя 10 блоков по 4 минуты. " + "Табата – это сочетание кардио и силовой нагрузок. Тренирует выносливость " + "как ни одна классическая тренировка. В короткий промежуток времени выполняя " + "упражнения происходит максимально быстрое жиросжигание. Упражнения различные по " + "степени сложности. Урок подходит для людей с разным уровнем подготовки.", Level = context.TrainingLevels.Get(3), ProgramType = context.ProgramTypes.Get(4) }, new PayTraining() { TrainingName = "Шпагат", TrainingDescription = "Занятие включает в себя комплекс упражнений, направленных на улучшение эластичности " + "мышц, подвижность суставов, что позволит вам легко садиться на продольный и поперечный " + "шпагат", Level = context.TrainingLevels.Get(3), ProgramType = context.ProgramTypes.Get(4), PlacesCount = 5 }, new TrainingData() { TrainingName = "#Superпресс", TrainingDescription = "Занятие направлено на укрепление брюшного пресса и спины. Сочетает в себе разминку, " + "разогревающую позвоночник, суставы и непосредственно мышцы живота и спины , и комплекс упражнений, позволяющий быстро " + "и эффективно проработать все мышцы брюшного пресса и спины.", Level = context.TrainingLevels.Get(2), ProgramType = context.ProgramTypes.Get(3) } }); } //если нет тренировки в расписании if (!context.Trainings.GetAll().Any()) { context.Trainings.AddRange(new List <Training>() { #region Тренировки на первый день new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 9, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Здоровая спина") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 9, 0, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "TRX"), PlacesCount = ((PayTraining)context.TrainingDatas.Find(tr => tr.TrainingName == "TRX")).PlacesCount, BusyPlacesCount = 0 }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 10, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "STEP ABS") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 11, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "#запускягодицы") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 15, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Upper Body") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 16, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Stretch") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 17, 30, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Callanetics") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 18, 30, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "STEP INTERVAL") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 18, 30, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "TRX"), PlacesCount = ((PayTraining)context.TrainingDatas.Find(tr => tr.TrainingName == "TRX")).PlacesCount, BusyPlacesCount = 1 }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 18, 30, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Hatha Yoga") }, #endregion #region Тренировки на второй день new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 9, 0, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "TRX"), PlacesCount = ((PayTraining)context.TrainingDatas.Find(tr => tr.TrainingName == "TRX")).PlacesCount, BusyPlacesCount = 2 }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 9, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Здоровая спина") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 10, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "#Superпресс") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 11, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "#запускягодицы") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 11, 0, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "TRX"), PlacesCount = ((PayTraining)context.TrainingDatas.Find(tr => tr.TrainingName == "TRX")).PlacesCount, BusyPlacesCount = 3 }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 14, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Tabata") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 15, 0, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Callanetics") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 17, 30, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "ABS and Stretch") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 17, 30, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Шпагат"), PlacesCount = ((PayTraining)context.TrainingDatas.Find(tr => tr.TrainingName == "TRX")).PlacesCount, BusyPlacesCount = 3 }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 18, 30, 0), Minutes = 55, Gym = context.Gyms.Get(1), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "#запускягодицы") }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 18, 30, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "TRX"), PlacesCount = ((PayTraining)context.TrainingDatas.Find(tr => tr.TrainingName == "TRX")).PlacesCount, BusyPlacesCount = 4 }, new Training() { StartTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 1, 19, 30, 0), Minutes = 55, Gym = context.Gyms.Get(2), TrainingData = context.TrainingDatas.Find(tr => tr.TrainingName == "Hatha Yoga") } #endregion }); } ////если нет таблицы TrainingDataTrainings //if (!context.TrainingDataTrainings.GetAll().Any()) //{ // context.Trainings.Get(1).TrainingDataTrainings.Add(new TrainingDataTraining() { TrainingDataId = context.TrainingDatas.Get(1).Id, TrainingId = context.Trainings.Get(1).Id }); // context.Trainings.Get(1).TrainingDataTrainings.Add(new TrainingDataTraining() { TrainingDataId = context.TrainingDatas.Get(2).Id, TrainingId = context.Trainings.Get(2).Id }); // context.Trainings.Get(1).TrainingDataTrainings.Add(new TrainingDataTraining() { TrainingDataId = context.TrainingDatas.Get(3).Id, TrainingId = context.Trainings.Get(3).Id }); // //создаем замененную тернировку // context.Trainings.Get(1).ReplcedTrainings.Add(new ReplcedTraining() { TrainingDataId = context.TrainingDatas.Get(4).Id, TrainingId = context.Trainings.Get(4).Id }); //} //Создадим клиента if (!context.Clients.GetAll().Any()) { context.Clients.AddRange(new List <Client>() { new Client() { Family = "Куликов", Name = "Антон", LastName = "Юрьевич", DateOfBirdth = DateTime.Parse("24.03.2000"), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "kulikov.png", "\\InitializeData\\HumanPhoto\\"), AbonementStatus = context.AbonementStatuses.Get(1), AbonementType = context.AbonementTypes.Get(3), AbonementDateOfRegistration = DateTime.Now, AbonementNumber = AbonementGenerator.CreateNumberSubscription(context), PasportData = $"2409 N460870 ОУФМС РОССИИ {DateTime.Parse("04.05.2012")}", PasswordHash = "2705", AbonementStatusId = context.AbonementStatuses.Get(1).Id, AbonementActionTime = DateTime.Parse("30.05.2019"), AbonementDateOfActivate = DateTime.Now } }); } //добавим тренировки клиенту по предварительной записи //пока опустим //if (!context.TrainingClients.GetAll().Any()) //{ // context.Clients.Get(1).TrainingClients.Add(new TrainingClient() { ClientId = context.Clients.Get(1).Id, TrainingId = context.Trainings.Get(2).Id }); // context.Complete(); //сохраняем изменения //} //проинициализируем роли пользователей системы if (!context.Roles.GetAll().Any()) { context.Roles.AddRange(new List <Role> { new Role() { Description = "Инструктор групповых программ" }, new Role() { Description = "Администратор" }, new Role() { Description = "Клиент" } }); } //добавим тренеров if (!context.Employees.GetAll().Any()) { context.Employees.AddRange(new List <Employee>() { new Employee() { Name = "Галина", Family = "Елизарова", LastName = "Семеновна", Login = "******", PasswordHash = "hash1", DateOfBirdth = DateTime.Parse("10.05.1978"), Role = context.Roles.Get(1), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "elizarova-galina.jpg"), Desc = "К йоге я пришла более 10 лет назад. И как мне казалось случайно. " + "Больше всего, изначально, меня зацепило то, что мой преподаватель " + "постоянно повторял:«Йога не для всех, она сама выбирает, кто в ней " + "останется, а кто уйдет»! Я говорила себе - так, что значит, йога меня выберет " + "или нет,-захочу и буду заниматься. И каждый раз, когда мне было лень идти на практику " + "я вспоминала именно эти слова и то, что я сама, вроде как, решила заниматься йогой," + "собиралась и шла практиковать" }, new Employee() { Name = "Анастасия", Family = "Молькова", LastName = "Сергеевна", DateOfBirdth = DateTime.Parse("10.01.1979"), Login = "******", PasswordHash = "ana1", Role = context.Roles.Get(1), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "Molkova Anastasija.jpg"), Desc = "Инструктор групповых порграмм. Персональный тренер зала ГП. Составление тренировочных программ и " + "стиля питания для корректировки фигуры. Сертифицированный тренер TRX." }, new Employee() { Name = "Елена", Family = "Куликова", LastName = "Алексеевна", Login = "******", PasswordHash = "ele1", DateOfBirdth = DateTime.Parse("10.03.1965"), Role = context.Roles.Get(1), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "kulikova_elena2.jpg"), Desc = "Инструктор групповых порграмм. Составление программ по снижению веса и коррекции фигуры, повышение " + "выносливости,развитие гибкости. Силовые уроки, степ-аэробика, каланетика в зале." }, new Employee() { Name = "Полина", Family = "Соловьева", LastName = "Николаева", Login = "******", PasswordHash = "pol1", DateOfBirdth = DateTime.Parse("10.04.1985"), Role = context.Roles.Get(1), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "Soloveva Polina.jpg"), Desc = "Инструктор групповых порграмм. Уроки мягкого фитнеса в зале групповых программ. Составление индивидуальных " + "программ по развитию гибкости мышц, связок и позвоночника. Тренер тренажерного зала." }, new Employee() { Name = "Ершова", Family = "Анастасия", LastName = "Олеговна", Login = "******", PasswordHash = "an1", DateOfBirdth = DateTime.Parse("14.02.1987"), Role = context.Roles.Get(1), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "erchova anastasya.jpg"), Desc = "Инструктор групповых порграмм. Персональный тренер. Член национального союза фитнеса." }, new Employee() { Name = "Ольга", Family = "Осипова", LastName = "Антоновна", Login = "******", DateOfBirdth = DateTime.Parse("14.02.1980"), PasswordHash = "ol1", Role = context.Roles.Get(1), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "Osipova Olga.jpg"), Desc = "Мастер-тренер тренажерного зала. Составление программ по снижению веса и коррекции фигуры; " + "танцевальные программы, мягкий фитнес; силовые программы в зале групповых программ. Сертифицированый инструктор " + "по пилатесу,функциональному тренингу, силовым программам и зумбе" }, new Employee() { Name = "Ольга", Family = "Винник", LastName = "Сергеевна", Login = "******", PasswordHash = "ov1", Role = context.Roles.Get(1), DateOfBirdth = DateTime.Parse("14.02.1980"), Photo = SqlTools.ConvertImageToByteArray(SqlTools.GetPath(), "vinnik_2.jpg"), Desc = "Победитель шейпинг-конкурса «Пигмалион и Галатея« 2014 год (проводится под эгидой Федерации шейпинга среди клубов с лицензированным шейпигом) в номинации «Шейпинг-модель»." } }); } //добавим тренера к тренировке if (!context.CoachesTrainings.GetAll().Any()) { #region Тренировки на первый день context.Employees.Get(6).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(1).Id, CoachId = context.Employees.Get(6).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(2).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(3).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(6).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(4).Id, CoachId = context.Employees.Get(6).Id }); context.Employees.Get(4).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(5).Id, CoachId = context.Employees.Get(4).Id }); context.Employees.Get(4).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(6).Id, CoachId = context.Employees.Get(4).Id }); context.Employees.Get(4).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(7).Id, CoachId = context.Employees.Get(4).Id }); context.Employees.Get(6).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(8).Id, CoachId = context.Employees.Get(6).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(9).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(1).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(10).Id, CoachId = context.Employees.Get(1).Id }); #endregion #region Тренировки на второй день context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(11).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(6).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(12).Id, CoachId = context.Employees.Get(6).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(13).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(6).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(14).Id, CoachId = context.Employees.Get(6).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(15).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(5).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(16).Id, CoachId = context.Employees.Get(5).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(17).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(4).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(18).Id, CoachId = context.Employees.Get(4).Id }); context.Employees.Get(6).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(19).Id, CoachId = context.Employees.Get(6).Id }); context.Employees.Get(2).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(20).Id, CoachId = context.Employees.Get(2).Id }); context.Employees.Get(1).CoachTrainings.Add(new CoachTraining() { TrainingId = context.Trainings.Get(21).Id, CoachId = context.Employees.Get(1).Id }); #endregion } context.Complete(); //сохраняем изменения ////https://www.youtube.com/watch?v=oDz7ku6fRkg }
/// <summary> /// Метод переопределяется с целью фактического добавления данных в конекст для заполнения начальными значениями /// </summary> /// <param name="context"></param> protected override void Seed(DataBaseFcContext context) { base.Seed(context); if (context == null) { return; } #region Добавление справочника должностей с зарплатами ObservableCollection <EmployeeRole> roles = new ObservableCollection <EmployeeRole> { new EmployeeRole { EmployeeRoleName = "Администратор", EmployeeSalaryValue = 27000.0m }, new EmployeeRole { EmployeeRoleName = "Фитнес-инструктор", EmployeeSalaryValue = 30000.0m }, new EmployeeRole { EmployeeRoleName = "Менеджер", EmployeeSalaryValue = 25000.0m }, new EmployeeRole { EmployeeRoleName = "Руководитель", EmployeeSalaryValue = 50000.0m } }; context.EmployeeRoles.AddRange(roles); #endregion #region Добавление статусов работников фитнес-клуба ObservableCollection <EmployeeWorkingStatus> employeeWorkingStatuses = new ObservableCollection <EmployeeWorkingStatus> { new EmployeeWorkingStatus { EmployeeWorkingStatusName = "На работе" }, new EmployeeWorkingStatus { EmployeeWorkingStatusName = "На больничном" }, new EmployeeWorkingStatus { EmployeeWorkingStatusName = "В отпуске" } }; context.EmployeeWorkingStatuses.AddRange(employeeWorkingStatuses); #endregion #region Добавление работников фитнес-клуба ObservableCollection <Employee> employees = new ObservableCollection <Employee> { new Employee { HumanFirstName = "Антон", HumanLastName = "Юрьевич", HumanFamilyName = "Куликов", HumanDateOfBirdth = new DateTime(1989, 05, 24), HumanAdress = "ул. Мальцева, д.5, кв.10", HumanPhoneNumber = "8-920-345-57-57", EmployeeLoginName = "IvanovWorker", EmployeePasswordHash = "be50825e1851dfd342ddd6fce6cbd7fa", HumanPhoto = SqlTools.ConvertImageToByteArray(@"Z:\Projects\FitnessClub\FitnesClubMWWM\UI\Ui.Desktop\Photos\men.png"), HumanMail = "*****@*****.**", EmployeeWorkingStatus = employeeWorkingStatuses[(int)EWorkingStaus.EWorking], EmployeeRole = roles[2] }, new Employee { HumanFirstName = "Петров", HumanLastName = "Петр", HumanFamilyName = "Петрович", HumanDateOfBirdth = new DateTime(1980, 01, 21), HumanAdress = "ул. Пушкина, д.15, кв.13", HumanPhoneNumber = "8-915-345-52-57", EmployeeLoginName = "PetrovWorker", EmployeePasswordHash = "ace8eca0be0bead807aec0c2d18a77dc", HumanMail = "*****@*****.**", EmployeeWorkingStatus = employeeWorkingStatuses[(int)EWorkingStaus.ESick], EmployeeRole = roles[2] }, new Employee { HumanFirstName = "Сергеев", HumanLastName = "Сергей", HumanFamilyName = "Сергеевич", HumanDateOfBirdth = new DateTime(1970, 10, 21), HumanAdress = "ул. Пушкина, д.5, кв.1", HumanPhoneNumber = "8-915-435-52-51", EmployeeLoginName = "SergeevWorker", EmployeePasswordHash = "ecb76c003e29175d00c24ea72334a91f", HumanMail = "*****@*****.**", EmployeeWorkingStatus = employeeWorkingStatuses[(int)EWorkingStaus.EVacation], EmployeeRole = roles[2] }, }; context.Employees.AddRange(employees); #endregion #region Добавление новой услуги ObservableCollection <Service> services = new ObservableCollection <Service>() { new Service { ServiceName = "Групповое занятие в фитнес-зале" }, new Service { ServiceName = "Йога" }, new Service { ServiceName = "Занятие в тренажерном зале" }, }; context.Services.AddRange(services); #endregion #region Добавление списка видов тренировок и услуг (прайс - лист) ObservableCollection <PriceTrainingList> trainingsLists = new ObservableCollection <PriceTrainingList>() { new PriceTrainingList { TrainingListName = services[0], TrainingCurrentCost = 200.0m }, new PriceTrainingList { TrainingListName = services[1], TrainingCurrentCost = 400.0m }, new PriceTrainingList { TrainingListName = services[2], TrainingCurrentCost = 600.0m }, }; context.TrainingLists.AddRange(trainingsLists); #endregion #region Добавление статусов тренировки ObservableCollection <StatusTraining> statusTrainingLists = new ObservableCollection <StatusTraining>() { new StatusTraining { StatusName = "Ведется запись" }, new StatusTraining { StatusName = "Группа заполнена, запись невозможна" }, }; context.StatusTrainings.AddRange(statusTrainingLists); #endregion #region Добавление статусов аккаунта ObservableCollection <AbonementStatus> abonementStatusList = new ObservableCollection <AbonementStatus>() { new AbonementStatus { StatusName = "Активен" }, new AbonementStatus { StatusName = "Не активен" }, new AbonementStatus { StatusName = "Заморожен" }, }; context.AbonementStatuses.AddRange(abonementStatusList); #endregion #region Добавление списка залов ObservableCollection <Gym> gymLists = new ObservableCollection <Gym>() { new Gym { GymName = "Зал N1", GymCapacity = 15 }, new Gym { GymName = "Зал N2", GymCapacity = 10 }, new Gym { GymName = "Зал N3", GymCapacity = 20 }, }; context.Gyms.AddRange(gymLists); #endregion ObservableCollection <Abonement> abonements = new ObservableCollection <Abonement>() { new Abonement() { VisitedTrainingCount = 2, AbonementTotalCost = 4300.0m, CountDays = DateTime.Parse("10.06.2018"), ArrServicesInSubscription = new ObservableCollection <ServicesInSubscription>() { new ServicesInSubscription() { SiSTrainingCount = 7, SiSVisitedTrainingCount = 4, TotalCost = 1005.0m, PriceType = trainingsLists[2] }, new ServicesInSubscription() { SiSTrainingCount = 15, SiSVisitedTrainingCount = 5, TotalCost = 2000.0m, PriceType = trainingsLists[0] } }, AbonmentStatus = abonementStatusList[0], }, new Abonement() { VisitedTrainingCount = 2, AbonementTotalCost = 3000.0m, CountDays = DateTime.Parse("10.06.2018"), ArrServicesInSubscription = new ObservableCollection <ServicesInSubscription>() { new ServicesInSubscription() { SiSTrainingCount = 7, SiSVisitedTrainingCount = 4, TotalCost = 1005.0m, PriceType = trainingsLists[2] }, new ServicesInSubscription() { SiSTrainingCount = 15, SiSVisitedTrainingCount = 5, TotalCost = 2000.0m, PriceType = trainingsLists[0] } }, AbonmentStatus = abonementStatusList[1] }, }; #region Добавление аккаунтов клиентов (посетителей фитнес-клуба) ObservableCollection <Account> accounts = new ObservableCollection <Account> { new Account { Abonement = abonements[0], //NumberSubscription = AbonementGenerator.CreateNumberSubscription(), //AccountregistrationDate = DateTime.Now, //TrainingCount = 10, //VisitedTrainingCount = 5, //TotalCost = 1000.0m, //сделать вычисляемым полем HumanFirstName = "Антон", HumanLastName = "Юрьевич", HumanFamilyName = "Куликов", HumanGender = "Муж.", HumanDateOfBirdth = DateTime.Parse("27.05.1989"), HumanAdress = "г.Иваново, ул.Бакинский проезд, д.82, кв.11", HumanPhoneNumber = "8-920-672-00-68", HumanMail = "*****@*****.**", HumanPhoto = SqlTools.ConvertImageToByteArray(@"Z:\Projects\FitnessClub\FitnesClubMWWM\UI\Ui.Desktop\Photos\men.png"), HumanPasportDataSeries = "2409", HumanPasportDataNumber = "460870", HumanPasportDataIssuedBy = "ОУФМС РОССИИ", HumanPasportDatеOfIssue = DateTime.Parse("04.05.2009"), //Employee = employees[0], //TypeAbonement = trainingsLists[0], //AccountStatus = accountStatusList[0], //CountDays = 30, //AbonementActivationDateTime = DateTime.Parse("24.03.2018"), }, new Account { Abonement = abonements[1], //NumberSubscription = AbonementGenerator.CreateNumberSubscription(), //AccountregistrationDate = DateTime.Now, //TrainingCount = 15, //VisitedTrainingCount = 5, //TotalCost = 3000.0m, //сделать вычисляемым полем HumanFirstName = "Анастасия", HumanLastName = "Николаевна", HumanFamilyName = "Смирнова", HumanGender = "Жен.", HumanDateOfBirdth = DateTime.Parse("24.03.2000"), HumanAdress = "г.Иваново, ул.Бакинский проезд, д.82, кв.11", HumanPhoneNumber = "8-920-672-00-68", HumanMail = "*****@*****.**", HumanPhoto = SqlTools.ConvertImageToByteArray(@"Z:\Projects\FitnessClub\FitnesClubMWWM\UI\Ui.Desktop\Photos\girl.jpg"), HumanPasportDataSeries = "2409", HumanPasportDataNumber = "460870", HumanPasportDataIssuedBy = "ОУФМС РОССИИ", HumanPasportDatеOfIssue = DateTime.Parse("04.05.2012"), //Employee = employees[0], //TypeAbonement = trainingsLists[2], //AccountStatus = accountStatusList[1], //CountDays = 25, //AbonementActivationDateTime = DateTime.Parse("20.01.2018"), //ArrServicesInSubscription = new ObservableCollection<ServicesInSubscription>() //{ // new ServicesInSubscription(){ SiSTrainingCount = 3, SiSVisitedTrainingCount=3, TotalCost = 1200.0m, arrPriceType =trainingsLists[1] }, // new ServicesInSubscription(){ SiSTrainingCount = 8, SiSVisitedTrainingCount=5, TotalCost = 2040.0m, arrPriceType =trainingsLists[2] } //} }, }; #endregion //ObservableCollection<Abonement> _Abonements = new ObservableCollection<Abonement>(); //context.Abonements.AddRange(_Abonements); #region Добавление тренировки, которая предстоит ObservableCollection <UpcomingTraining> trainings = new ObservableCollection <UpcomingTraining>() { new UpcomingTraining { TrainingDateTime = new DateTime(2018, 05, 24, 15, 30, 00), NumberOfSeats = 10, StatusTraining = statusTrainingLists[0], Abonements = new ObservableCollection <Abonement> { accounts[0].Abonement, accounts[1].Abonement }, Service = services[0], Gym = gymLists[0], Employee = employees[2] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 05, 24, 16, 30, 00), NumberOfSeats = 12, StatusTraining = statusTrainingLists[0], Abonements = new ObservableCollection <Abonement> { accounts[0].Abonement, accounts[1].Abonement }, Service = services[0], Gym = gymLists[1], Employee = employees[2] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 05, 24, 16, 30, 00), NumberOfSeats = 8, StatusTraining = statusTrainingLists[0], Abonements = new ObservableCollection <Abonement> { accounts[0].Abonement, accounts[1].Abonement }, Service = services[2], Gym = gymLists[2], Employee = employees[1] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 05, 26, 17, 45, 00), NumberOfSeats = 8, StatusTraining = statusTrainingLists[0], Service = services[2], Gym = gymLists[2], Employee = employees[1] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 05, 26, 18, 00, 00), NumberOfSeats = 8, StatusTraining = statusTrainingLists[0], Service = services[2], Gym = gymLists[2], Employee = employees[1] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 05, 27, 16, 30, 00), NumberOfSeats = 8, StatusTraining = statusTrainingLists[0], Service = services[0], Gym = gymLists[0], Employee = employees[1] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 06, 14, 12, 30, 00), NumberOfSeats = 12, StatusTraining = statusTrainingLists[0], Service = services[1], Gym = gymLists[1], Employee = employees[1] }, new UpcomingTraining { TrainingDateTime = new DateTime(2018, 06, 20, 14, 30, 00), NumberOfSeats = 10, StatusTraining = statusTrainingLists[0], Service = services[1], Gym = gymLists[2], Employee = employees[1] }, }; context.UpcomingTrainings.AddRange(trainings); //ObservableCollection<ServicesInSubscription> _collectionSiS = new ObservableCollection<ServicesInSubscription>() //{ // new ServicesInSubscription() { SiSTrainingCount = 3, SiSVisitedTrainingCount=1, TotalCost=254.0m, PriceType = trainingsLists[0]}, // new ServicesInSubscription() { SiSTrainingCount = 2, SiSVisitedTrainingCount=0, TotalCost=204.0m, PriceType = trainingsLists[1]} //}; abonements[0].Account = accounts[0]; abonements[1].Account = accounts[1]; //accounts[0].Abonement.ArrServicesInSubscription.Add(_collectionSiS[0]); //accounts[0].Abonement.ArrServicesInSubscription.Add(_collectionSiS[1]); //accounts[1].Abonement.ArrServicesInSubscription.Add(_collectionSiS[0]); //accounts[1].Abonement.ArrServicesInSubscription.Add(_collectionSiS[1]); context.Abonements.AddRange(abonements); context.Accounts.AddRange(accounts); // context.ServicesInSubscription.AddRange(_collectionSiS); #endregion context.SaveChanges(); }