public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new MoviesLabUser() { UserName = model.UserName, Name = model.Name, Surname = model.Surname };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInAsync(user, isPersistent: false);
                    UserManager.AddToRole(user.Id, "Пользователь");

                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    AddErrors(result);
                }
            }

            // Появление этого сообщения означает наличие ошибки; повторное отображение формы
            return View(model);
        }
 private async Task SignInAsync(MoviesLabUser user, bool isPersistent)
 {
     AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
     var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
     AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
 }
Example #3
0
        protected override void Seed(MoviesLabDbContext db)
        {
            //Управление ролями
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db));

            //Создание ролей пользователей
            var adminRole = new IdentityRole {
                Name = "Администратор"
            };
            var userRole = new IdentityRole {
                Name = "Пользователь"
            };

            //Добавление ролей в БД
            roleManager.Create(adminRole);
            roleManager.Create(userRole);


            //Управление пользователями
            var userManager = new UserManager <MoviesLabUser>(new UserStore <MoviesLabUser>(db));

            // создаем администратора
            var admin = new MoviesLabUser {
                UserName = "******", Name = "Администратор", Surname = "Сайта"
            };
            string password = "******";
            var    result   = userManager.Create(admin, password);

            // если создание пользователя прошло успешно
            if (result.Succeeded)
            {
                // добавляем для пользователя роль
                userManager.AddToRole(admin.Id, adminRole.Name);
                userManager.AddToRole(admin.Id, userRole.Name);
            }

            // создаем обычного пользователя
            var user = new MoviesLabUser {
                UserName = "******", Name = "Обычный", Surname = "Пользователь"
            };

            password = "******";
            result   = userManager.Create(user, password);

            // если создание пользователя прошло успешно
            if (result.Succeeded)
            {
                // добавляем для пользователя роль
                userManager.AddToRole(user.Id, userRole.Name);
            }

            //ДОБАВЛЕНИЕ ЖАНРОВ
            Genre g1 = new Genre {
                Name = "Семейный"
            };
            Genre g2 = new Genre {
                Name = "Комедия"
            };
            Genre g3 = new Genre {
                Name = "Приключения"
            };
            Genre g4 = new Genre {
                Name = "Боевик"
            };
            Genre g5 = new Genre {
                Name = "Мелодрама"
            };
            Genre g6 = new Genre {
                Name = "Документальный"
            };
            Genre g7 = new Genre {
                Name = "Детский"
            };
            Genre g8 = new Genre {
                Name = "Мультфильм"
            };
            Genre g9 = new Genre {
                Name = "Фантастика"
            };
            Genre g10 = new Genre {
                Name = "Триллер"
            };
            Genre g11 = new Genre {
                Name = "Ужасы"
            };
            Genre g12 = new Genre {
                Name = "Военный"
            };
            Genre g13 = new Genre {
                Name = "Биография"
            };
            Genre g14 = new Genre {
                Name = "Короткометражка"
            };
            Genre g15 = new Genre {
                Name = "Детектив"
            };
            Genre g16 = new Genre {
                Name = "Драма"
            };
            Genre g17 = new Genre {
                Name = "Фэнтази"
            };

            db.Genres.Add(g1);
            db.Genres.Add(g2);
            db.Genres.Add(g3);
            db.Genres.Add(g4);
            db.Genres.Add(g5);
            db.Genres.Add(g6);
            db.Genres.Add(g7);
            db.Genres.Add(g8);
            db.Genres.Add(g9);
            db.Genres.Add(g10);
            db.Genres.Add(g11);
            db.Genres.Add(g12);
            db.Genres.Add(g13);
            db.Genres.Add(g14);
            db.Genres.Add(g15);
            db.Genres.Add(g16);
            db.Genres.Add(g17);

            //ДОБАВЛЕНИЕ СТРАН
            Country RU = new Country {
                Name = "Россия", CountryId = "RU"
            };
            Country US = new Country {
                Name = "США", CountryId = "US"
            };
            Country FR = new Country {
                Name = "Франция", CountryId = "FR"
            };
            Country DE = new Country {
                Name = "Германия", CountryId = "DE"
            };
            Country IT = new Country {
                Name = "Италия", CountryId = "IT"
            };
            Country CA = new Country {
                Name = "Канада", CountryId = "CA"
            };
            Country JP = new Country {
                Name = "Япония", CountryId = "JP"
            };
            Country BE = new Country {
                Name = "Бельгия", CountryId = "BE"
            };
            Country HU = new Country {
                Name = "Венгрия", CountryId = "HU"
            };
            Country GR = new Country {
                Name = "Греция", CountryId = "GR"
            };
            Country DK = new Country {
                Name = "Дания", CountryId = "DK"
            };
            Country EG = new Country {
                Name = "Египет", CountryId = "EG"
            };
            Country IE = new Country {
                Name = "Ирландия", CountryId = "IE"
            };
            Country KZ = new Country {
                Name = "Казахстан", CountryId = "KZ"
            };
            Country LV = new Country {
                Name = "Латвия", CountryId = "LV"
            };
            Country ES = new Country {
                Name = "Испания", CountryId = "ES"
            };
            Country LU = new Country {
                Name = "Люксембург", CountryId = "LU"
            };
            Country CH = new Country {
                Name = "Китай", CountryId = "CH"
            };
            Country MX = new Country {
                Name = "Мексика", CountryId = "MX"
            };
            Country UK = new Country {
                Name = "Великобритания", CountryId = "UK"
            };
            Country AU = new Country {
                Name = "Австралия", CountryId = "AU"
            };

            db.Countries.Add(RU);
            db.Countries.Add(US);
            db.Countries.Add(FR);
            db.Countries.Add(DE);
            db.Countries.Add(IT);
            db.Countries.Add(CA);
            db.Countries.Add(JP);
            db.Countries.Add(BE);
            db.Countries.Add(HU);
            db.Countries.Add(GR);
            db.Countries.Add(DK);
            db.Countries.Add(EG);
            db.Countries.Add(IE);
            db.Countries.Add(KZ);
            db.Countries.Add(LV);
            db.Countries.Add(ES);
            db.Countries.Add(LU);
            db.Countries.Add(CH);
            db.Countries.Add(MX);
            db.Countries.Add(UK);
            db.Countries.Add(AU);


            //ДОБАВЛЕНИЕ ДОЛЖНОСТЕЙ СЪЕМОЧНОЙ ГРУППЫ
            CrewPosition cp1 = new CrewPosition {
                Name = "Режиссёр"
            };
            CrewPosition cp2 = new CrewPosition {
                Name = "Сценарист"
            };
            CrewPosition cp3 = new CrewPosition {
                Name = "Продюсер"
            };
            CrewPosition cp4 = new CrewPosition {
                Name = "Оператор"
            };
            CrewPosition cp5 = new CrewPosition {
                Name = "Композитор"
            };
            CrewPosition cp6 = new CrewPosition {
                Name = "Художник"
            };
            CrewPosition cp7 = new CrewPosition {
                Name = "Монтаж"
            };

            db.CrewPositions.Add(cp1);
            db.CrewPositions.Add(cp2);
            db.CrewPositions.Add(cp3);
            db.CrewPositions.Add(cp4);
            db.CrewPositions.Add(cp5);
            db.CrewPositions.Add(cp6);
            db.CrewPositions.Add(cp7);


            //ДОБАВЛЕНИЕ ПЕРСОН
            Person DL = new Person {
                Name = "Дженнифер", Surname = "Лоуренс", Birthday = new DateTime(1990, 08, 15)
            };

            db.People.Add(DL);
            Person DH = new Person {
                Name = "Джош", Surname = "Хатчерсон", Birthday = new DateTime(1992, 10, 12), Biography = "Полное имя — Джошуа Райан Хатчерсон (Joshua Ryan Hutcherson)."
            };

            db.People.Add(DH);

            Person SS = new Person {
                Name = "Сергей", Patronymic = "Юрьевич", Surname = "Светлаков", Birthday = new DateTime(1977, 12, 12)
            };

            db.People.Add(SS);
            Person IU = new Person {
                Name = "Иван", Patronymic = "Андреевич", Surname = "Ургант", Birthday = new DateTime(1978, 04, 16)
            };

            db.People.Add(IU);
            Person LP = new Person {
                Name = "Любовь", Patronymic = "Григорьевна", Surname = "Полищук", Birthday = new DateTime(1949, 05, 21), Obit = new DateTime(2006, 11, 28), Biography = "Родилась в Омске, в семье рабочих. Ещё во время учебы в школе она занималась пением. В 1967 окончила Всероссийские творческие мастерские эстрадного искусства. Стала актрисой разговорного жанра, несколько лет вела театрализованные программы, работала в Омской филармонии артисткой разговорного жанра, исполняла монологи, которые писал для нее Марьян Беленький, потом была приглашена в Московский мюзик-холл. В 1985 году заочно окончила ГИТИС. С 1990 по 1997 играла в театре «Школа современной пьесы». Скончалась после тяжёлой болезни (как позже стало известно — рака позвоночника) утром 28 ноября 2006 года в Москве.", Country = RU
            };

            db.People.Add(LP);
            Person TB = new Person {
                Name = "Тимур", Surname = "Бекмамбетов", Birthday = new DateTime(1961, 06, 25)
            };

            db.People.Add(LP);

            //ГОЛОДНЫЕ ИГРЫ
            Movie gi1 = new Movie {
                Title = "Голодные игры", Duration = 142, Date = new DateTime(2012, 03, 22), Genre = new List <Genre>()
                {
                    g1, g3, g5, g9
                }, Country = new List <Country>()
                {
                    US
                }, Description = "Будущее. Деспотичное государство ежегодно устраивает показательные игры на выживание, за которыми в прямом эфире следит весь мир. Жребий участвовать в Играх выпадает юной Китнисс и тайно влюбленному в нее Питу. Они знакомы с детства, но теперь должны стать врагами. Ведь по нерушимому закону Голодных игр победить может только один из 24 участников. Судьям не важно кто выиграет, главное — зрелище. И на этот раз зрелище будет незабываемым."
            };

            db.Movies.Add(gi1);
            Movie gi2 = new Movie {
                Title = "Голодные игры: И вспыхнет пламя", Genre = new List <Genre>()
                {
                    g1, g3, g5, g9
                }, Country = new List <Country>()
                {
                    US
                }, Duration = 146, Date = new DateTime(2013, 11, 21), Description = "Сумев выжить на безжалостных Голодных играх, Китнисс Эвердин и Пит Мелларк возвращаются домой. Но теперь они в еще большей опасности, так как своим отказом играть по правилам на Арене бросили вызов Капитолию. По традиции следующие, юбилейные, Голодные игры должны стать особенными, и в этот раз в них участвуют только победители прошлых лет. Китнисс и Пит вынуждены вновь выйти на Арену, где будут соперничать с сильнейшими. Правила игры меняются. Арена еще опасней, масштаб еще больше, ставки еще выше!"
            };

            db.Movies.Add(gi2);
            Movie gi3 = new Movie {
                Title = "Голодные игры: Сойка-пересмешница. Часть I", Genre = new List <Genre>()
                {
                    g1, g3, g5, g9
                }, Country = new List <Country>()
                {
                    US
                }, Duration = 123, Date = new DateTime(2014, 11, 20), Description = "75-ые Голодные игры изменили все. Китнисс нарушила правила, и непоколебимое до той поры деспотичное правление Капитолия пошатнулось. У людей появилась надежда, и ее символ — Сойка-пересмешница. Теперь, чтобы освободить захваченного в плен Пита и защитить своих близких, Китнисс придется сражаться в настоящих битвах и стать еще сильнее, чем на арене игр."
            };

            db.Movies.Add(gi2);
            db.Actors.Add(new Actor {
                Movie = gi1, Person = DL, Character = "Китнисс Эвердин"
            });
            db.Actors.Add(new Actor {
                Movie = gi2, Person = DL, Character = "Китнисс Эвердин"
            });
            db.Actors.Add(new Actor {
                Movie = gi3, Person = DL, Character = "Китнисс Эвердин"
            });
            db.Actors.Add(new Actor {
                Movie = gi1, Person = DH, Character = "Пит Мелларк"
            });
            db.Actors.Add(new Actor {
                Movie = gi2, Person = DH, Character = "Пит Мелларк"
            });
            db.Actors.Add(new Actor {
                Movie = gi3, Person = DH, Character = "Пит Мелларк"
            });



            //ТАЧКИ
            db.Movies.Add(new Movie {
                Title = "Тачки", Description = "Неукротимый в своем желании всегда и во всем побеждать гоночный автомобиль «Молния» Маккуин вдруг обнаруживает, что сбился с пути и застрял в маленьком захолустном городке Радиатор-Спрингс, что находится где-то на трассе 66 в Калифорнии. Участвуя в гонках на Кубок Поршня, где ему противостояли два очень опытных соперника, Маккуин совершенно не ожидал, что отныне ему придется общаться с персонажами совсем иного рода. Это, например, Салли — шикарный Порше 2002-го года выпуска, Док Хадсон — легковушка модели «Хадсон Хорнет», 1951-го года выпуска или Метр — ржавый грузовичок-эвакуатор. И все они помогают Маккуину понять, что в мире существуют некоторые более важные вещи, чем слава, призы и спонсоры…", Duration = 112, Date = new DateTime(2006, 06, 15)
            });
            db.Movies.Add(new Movie {
                Title = "Тачки 2", Description = "Молния МакКуин и его друг Мэтр отправляются в международное путешествие — когда МакКуин получает шанс участвовать в соревнованиях для самых быстрых машин в мире, Мировом Гран-При. Этапы этих престижных гонок заведут друзей в Токио, на набережные Парижа, на побережье Италии, и на улицы туманного Лондона.", Duration = 112, Date = new DateTime(2011, 06, 18)
            });

            //ЁЛКИ
            Movie e1 = new Movie {
                Title = "Ёлки", Duration = 90, Date = new DateTime(2010, 12, 16), Genre = new List <Genre>()
                {
                    g1, g2
                }, Country = new List <Country>()
                {
                    RU
                }, Description = "События самой новогодней комедии ЁЛКИ происходят в 11 городах: Калининграде, Казани, Перми, Уфе, Бавлах, Екатеринбурге, Красноярске, Якутске, Новосибирске, Санкт-Петербурге и Москве. Герои фильма — таксист и поп-дива, бизнесмен и актер, сноубордист и лыжник, студент и пенсионерка, пожарный и директриса, вор и милиционер, гастарбайтер и президент России. Все они оказываются в самый канун Нового года в очень непростой ситуации, выйти из которой им поможет только чудо… или Теория шести рукопожатий, согласно которой каждый человек на земле знает другого через шесть знакомых."
            };

            db.Movies.Add(e1);
            Movie e2 = new Movie {
                Title = "Ёлки 2", Duration = 96, Date = new DateTime(2011, 12, 15), Genre = new List <Genre>()
                {
                    g1, g2
                }, Country = new List <Country>()
                {
                    RU
                }, Description = "Незадолго до Нового года Боря теряет память, и единственной зацепкой, которая может помочь, является надпись «З. Г.», которую он обнаруживает на руке. В это же время капитан полиции пытается решить проблемы личного характера и разлучить родную дочь и ее молодого человека, два экстремала и их любимая бабушка из подъезда снова готовятся к членовредительским подвигам, а Вера Брежнева опять сводит с ума сильную половину человечества, а конкретно — рядового Бондарева, бывшего таксиста."
            };

            db.Movies.Add(e2);
            Movie e3 = new Movie {
                Title = "Ёлки 3", Duration = 100, Date = new DateTime(2013, 12, 26), Genre = new List <Genre>()
                {
                    g1, g2
                }, Country = new List <Country>()
                {
                    RU
                }, Description = "Спустя два года они снова с нами: любимые герои «Ёлок» в самых невероятных новогодних историях. Боря и Женя, чьи годовалые дети в канун праздника доведут друзей до психушки. Маленькая девочка Настя, чьи родители разлучат ее влюбленных друг в друга собак. Лыжник и сноубордист в самой экстремальной в их жизни гонке — от военкома. И профессор из Екатеринбурга Андрей, чья любвеобильность вновь не доведет его до добра, а только до проруби в минус 30."
            };

            db.Movies.Add(e3);
            Movie e1914 = new Movie {
                Title = "Ёлки 1914", Duration = 106, Date = new DateTime(2014, 12, 25), Genre = new List <Genre>()
                {
                    g1, g2
                }, Country = new List <Country>()
                {
                    RU
                }, Description = "100 лет назад, Российская империя… Канун Рождества. Декабрьские пробки, праздничные гулянья, роскошные балы и скромные праздники, титулованные дворяне и обычные крестьяне, царская семья и солдаты первой мировой войны, прогрессивные поэты и первые фигуристы — все было по-другому, за исключением … праздника. Люди готовились, жили, верили, мечтали и ждали настоящего чуда — Рождества!"
            };

            db.Movies.Add(e1914);
            db.Actors.Add(new Actor {
                Movie = e1, Person = IU, Character = "Боря"
            });
            db.Actors.Add(new Actor {
                Movie = e2, Person = IU, Character = "Боря"
            });
            db.Actors.Add(new Actor {
                Movie = e3, Person = IU, Character = "Боря"
            });
            db.Actors.Add(new Actor {
                Movie = e1914, Person = IU, Character = "Боря"
            });
            db.Actors.Add(new Actor {
                Movie = e1, Person = SS, Character = "Женя"
            });
            db.Actors.Add(new Actor {
                Movie = e2, Person = SS, Character = "Женя"
            });
            db.Actors.Add(new Actor {
                Movie = e3, Person = SS, Character = "Женя"
            });
            db.Actors.Add(new Actor {
                Movie = e1914, Person = SS, Character = "Женя"
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e1, Person = TB, CrewPosition = cp1
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e1, Person = TB, CrewPosition = cp2
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e1, Person = TB, CrewPosition = cp3
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e2, Person = TB, CrewPosition = cp3
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e3, Person = TB, CrewPosition = cp3
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e1914, Person = TB, CrewPosition = cp1
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = e1914, Person = TB, CrewPosition = cp3
            });


            //ВЫКРУТАСЫ
            Movie v = new Movie {
                Title = "Выкрутасы", Duration = 97, Date = new DateTime(2011, 02, 17), Genre = new List <Genre>()
                {
                    g1, g2, g5
                }, Country = new List <Country>()
                {
                    RU
                }, Description = "Слава Колотилов, простой школьный учитель из сонного приморского городка с небанальным названием «Пальчики», приехал покорять Москву с рукописью романа в руках, а покорил… красавицу Надю. Уже близится свадьба, ресторан заказан и гости приглашены, но цепкие Пальчики не дают Славе вырваться к суженой, подстраивая череду «непреодолимых обстоятельств». Вот и приходится Славе выкручиваться, рассказывая Наде по телефону небылицы о страшных происшествиях и катастрофах. А в далёкой Москве в это время Надя отбивает атаки своего бывшего ухажера Дани, готового пойти на любые выкрутасы, лишь бы вернуть себе невесту…"
            };

            db.Movies.Add(v);
            db.Actors.Add(new Actor {
                Movie = v, Person = IU, Character = "Даня"
            });
            db.FilmCrew.Add(new FilmCrew {
                Movie = v, Person = TB, CrewPosition = cp3
            });


            //БЕЗУМНЫЙ МАКС
            db.Movies.Add(new Movie {
                Title = "Безумный Макс: Дорога ярости", Description = "Преследуемый призраками беспокойного прошлого, Макс уверен, что лучший способ выжить — скитаться в одиночестве. Несмотря на это, он присоединяется к бунтарям, бегущим через всю пустыню на боевой фуре, под предводительством императрицы Фуриозы. Они пытаются сбежать из Цитадели, страдающей от тирании Несмертного Джо, у которого они забрали кое-что очень ценное. Разъярённый военачальник бросает все свои силы на погоню за мятежниками, ступая на дорогу войны — дорогу ярости.", Duration = 120, Date = new DateTime(2015, 05, 14), Genre = new List <Genre>()
                {
                    g3, g4, g9
                }, Country = new List <Country>()
                {
                    US, AU
                }
            });


            //ДОБАВЛЕНИЕ АКТЕРОВ



            base.Seed(db);
        }