public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); if (!ModelState.IsValid) { return(View(model)); } var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { // Не показывать, что пользователь не существует return(RedirectToAction("ResetPasswordConfirmation", "Account")); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { return(RedirectToAction("ResetPasswordConfirmation", "Account")); } AddErrors(result); return(View()); }
// // GET: /Search/ public ActionResult Index() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); string title = Request.QueryString["title"]; ViewBag.Title = title; int Page = 0; Int32.TryParse(Request.QueryString["page"], out Page); string author = Request.QueryString["author"]; ViewBag.Author = author; string description = Request.QueryString["description"]; ViewBag.Description = description; int GenreID = 0; Int32.TryParse(Request.QueryString["genreId"], out GenreID); ViewBag.GenreID = GenreID; ViewBag.CurPage = Page; ViewBag.MaxPage = MirKnigEntities.GetFindMaxPage(Page, title, author, description, GenreID).First().Value; var model = MirKnigEntities.FindBook(Page, title, author, description, GenreID).ToList(); return(View(model)); }
public ActionResult ForgotPassword() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return(View()); }
public ActionResult ResetPassword(string code) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return(code == null?View("Error") : View()); }
public ActionResult ResetPasswordConfirmation() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return(View()); }
public ActionResult Register() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return(View()); }
public ActionResult Login(string returnUrl) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); ViewBag.ReturnUrl = returnUrl; return View(); }
public ActionResult Login(string returnUrl) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); ViewBag.ReturnUrl = returnUrl; return(View()); }
public async Task <ActionResult> VerifyCode(string provider, string returnUrl, bool rememberMe) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); // Требовать предварительный вход пользователя с помощью имени пользователя и пароля или внешнего имени входа if (!await SignInManager.HasBeenVerifiedAsync()) { return(View("Error")); } return(View(new VerifyCodeViewModel { Provider = provider, ReturnUrl = returnUrl, RememberMe = rememberMe })); }
public ActionResult Index() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); int id; if (!int.TryParse(Request.Params["BookId"], out id)) { return(RedirectToAction("Index", "Genre")); } @User.Identity.GetUserId(); MirKnigEntities.AddComment(id, @User.Identity.GetUserId(), Request.Params["comment"]); MirKnigEntities.SaveChanges(); return(RedirectToAction("Index", "Book", new { bookid = id })); }
// // GET: /Genre/ public ActionResult Index(int?genreid, int?page) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); int Page = (page == null) ? 0 : page.Value; int GenreId = (genreid == null) ? 0 : genreid.Value; var model = MirKnigEntities.GetBookPage(Page, GenreId); ViewBag.CurPage = Page; ViewBag.MaxPage = MirKnigEntities.GetMaxPage(GenreId).First().Value; ViewBag.GenreId = GenreId; ViewBag.Title = "Mirknig 150 000 книг в бесплатном онлайн чтении."; return(View(model)); }
public async Task <ActionResult> ExternalLoginCallback(string returnUrl) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return(RedirectToAction("Login")); } // Выполнение входа пользователя посредством данного внешнего поставщика входа, если у пользователя уже есть имя входа var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent : false); switch (result) { case SignInStatus.Success: return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false })); case SignInStatus.Failure: default: // Если у пользователя нет учетной записи, то ему предлагается создать ее ViewBag.ReturnUrl = returnUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; return(View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email })); } }
public ActionResult Index(int bookid) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); var data = MirKnigEntities.GetBookById(bookid); if (data.Count() == 0) { return(RedirectToAction("Index", "Genre")); } var model = MirKnigEntities.GetBookById(bookid).First(); ViewBag.GenreId = model.GenreID; ViewBag.Title = model.Title; ViewBag.Comments = MirKnigEntities.GetComment(bookid); return(View(model)); }
static void Main(string[] args) { HtmlWeb webGet = new HtmlWeb() { AutoDetectEncoding = false, OverrideEncoding = Encoding.GetEncoding(1251) }; //HtmlDocument document = webGet.Load("http://mirknig.com/page/1000/"); //название книги HtmlNode Header; string title; //Жанр книги HtmlNodeCollection Genge; int genreID; //картинка HtmlNode ImgNode; string ImgSrc; //Аттрибуты книги HtmlNodeCollection BookAttrs; string bookattr; string bookattrval; HtmlNode DescNode; string author = ""; string publisher = ""; string year = ""; int? pages = null; int languageId = 1; string description = ""; //if (File.Exists("imgsrc.txt")) File.Delete("imgsrc.txt"); StreamWriter Stream = File.AppendText("imgsrc.txt"); MirKnigEntities MirKnigEntities = new MirKnigEntities(); for (int i = 200; i < 300; i++) { HtmlDocument document = webGet.Load("http://mirknig.com/page/" + i.ToString()); //выбираем блоки с книгами HtmlNodeCollection NodeCollection = document.DocumentNode.SelectNodes("//div[@class='infoboxStory']"); foreach (HtmlNode Node in NodeCollection) { author = ""; publisher = ""; year = ""; pages = null; languageId = 1; description = ""; //Console.WriteLine(Node.InnerText); Console.WriteLine("--------------------------"+i+"---------------------------------"); //получаем название книги Header = Node.SelectSingleNode(".//div[@class='cellMiddleTitle']/a"); if (Header == null) continue; title = Header.InnerText; //получаем жанр Genge = Node.SelectNodes(".//div[@class='cellRightTitle']/strong/a"); if (Genge[0].InnerText != "КНИГИ") continue; genreID = GetGenreByName(Genge[1].InnerText); //Console.WriteLine(genreID); //адрес картинки ImgNode = Node.SelectSingleNode(".//div[@class='newsbody']/a/img"); if (ImgNode == null) ImgNode = Node.SelectSingleNode(".//div[@class='newsbody']/img"); ImgSrc = ImgNode.Attributes.First(x => x.Name == "src").Value; Stream.WriteLine(@"http://mirknig.com" + ImgSrc); Stream.Flush(); ImgSrc = Path.GetFileName(ImgSrc); Console.WriteLine(title); Console.WriteLine(Genge[1].InnerText); Console.WriteLine(ImgSrc); //берем заголовки книги BookAttrs = Node.SelectNodes(".//div[@class='newsbody']/b"); if (BookAttrs == null) continue; foreach (HtmlNode Attr in BookAttrs) { bookattr = Attr.InnerText.Replace(':', ' ').Trim().ToLower(); bookattrval = Attr.NextSibling.InnerText.Trim(); if (bookattrval.Length > 0 && bookattrval[0] == ':') bookattrval = bookattrval.Substring(2); if (bookattr == "автор") author = bookattrval; if (bookattr == "издательство" || bookattr == "издатель") publisher = bookattrval; if (bookattr == "год") year = bookattrval; if (bookattr == "страниц") { int page; if (int.TryParse(bookattrval, out page)) pages = page; } if (bookattr == "язык" && bookattrval == "English") languageId = 2; } //анатация DescNode = Node.SelectSingleNode(".//div[@class='newsbody']"); for (int j = DescNode.ChildNodes.Count - 1; j >= 0; j--) { if (DescNode.ChildNodes[j].InnerText.Length > 20) { description = DescNode.ChildNodes[j].InnerText.Trim(); break; } } MirKnigEntities.Book.Add(new Book() { Description = description, Author = author, Title = title, Year = year, Publisher = publisher, GenreID = genreID, LanguageID = languageId, Pages = pages, CoverFileName = ImgSrc }); MirKnigEntities.SaveChanges(); } } Stream.Close(); Console.ReadLine(); }
public ActionResult ForgotPassword() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return View(); }
public ActionResult ResetPassword(string code) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return code == null ? View("Error") : View(); }
public ActionResult Register() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return View(); }
public async Task<ActionResult> ExternalLoginCallback(string returnUrl) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return RedirectToAction("Login"); } // Выполнение входа пользователя посредством данного внешнего поставщика входа, если у пользователя уже есть имя входа var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false); switch (result) { case SignInStatus.Success: return RedirectToLocal(returnUrl); case SignInStatus.LockedOut: return View("Lockout"); case SignInStatus.RequiresVerification: return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }); case SignInStatus.Failure: default: // Если у пользователя нет учетной записи, то ему предлагается создать ее ViewBag.ReturnUrl = returnUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); } }
public ActionResult ResetPasswordConfirmation() { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); return View(); }
public async Task<ActionResult> ResetPassword(ResetPasswordViewModel model) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); if (!ModelState.IsValid) { return View(model); } var user = await UserManager.FindByNameAsync(model.Email); if (user == null) { // Не показывать, что пользователь не существует return RedirectToAction("ResetPasswordConfirmation", "Account"); } var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password); if (result.Succeeded) { return RedirectToAction("ResetPasswordConfirmation", "Account"); } AddErrors(result); return View(); }
static void Main(string[] args) { HtmlWeb webGet = new HtmlWeb() { AutoDetectEncoding = false, OverrideEncoding = Encoding.GetEncoding(1251) }; //HtmlDocument document = webGet.Load("http://mirknig.com/page/1000/"); //название книги HtmlNode Header; string title; //Жанр книги HtmlNodeCollection Genge; int genreID; //картинка HtmlNode ImgNode; string ImgSrc; //Аттрибуты книги HtmlNodeCollection BookAttrs; string bookattr; string bookattrval; HtmlNode DescNode; string author = ""; string publisher = ""; string year = ""; int? pages = null; int languageId = 1; string description = ""; //if (File.Exists("imgsrc.txt")) File.Delete("imgsrc.txt"); StreamWriter Stream = File.AppendText("imgsrc.txt"); MirKnigEntities MirKnigEntities = new MirKnigEntities(); for (int i = 200; i < 300; i++) { HtmlDocument document = webGet.Load("http://mirknig.com/page/" + i.ToString()); //выбираем блоки с книгами HtmlNodeCollection NodeCollection = document.DocumentNode.SelectNodes("//div[@class='infoboxStory']"); foreach (HtmlNode Node in NodeCollection) { author = ""; publisher = ""; year = ""; pages = null; languageId = 1; description = ""; //Console.WriteLine(Node.InnerText); Console.WriteLine("--------------------------" + i + "---------------------------------"); //получаем название книги Header = Node.SelectSingleNode(".//div[@class='cellMiddleTitle']/a"); if (Header == null) { continue; } title = Header.InnerText; //получаем жанр Genge = Node.SelectNodes(".//div[@class='cellRightTitle']/strong/a"); if (Genge[0].InnerText != "КНИГИ") { continue; } genreID = GetGenreByName(Genge[1].InnerText); //Console.WriteLine(genreID); //адрес картинки ImgNode = Node.SelectSingleNode(".//div[@class='newsbody']/a/img"); if (ImgNode == null) { ImgNode = Node.SelectSingleNode(".//div[@class='newsbody']/img"); } ImgSrc = ImgNode.Attributes.First(x => x.Name == "src").Value; Stream.WriteLine(@"http://mirknig.com" + ImgSrc); Stream.Flush(); ImgSrc = Path.GetFileName(ImgSrc); Console.WriteLine(title); Console.WriteLine(Genge[1].InnerText); Console.WriteLine(ImgSrc); //берем заголовки книги BookAttrs = Node.SelectNodes(".//div[@class='newsbody']/b"); if (BookAttrs == null) { continue; } foreach (HtmlNode Attr in BookAttrs) { bookattr = Attr.InnerText.Replace(':', ' ').Trim().ToLower(); bookattrval = Attr.NextSibling.InnerText.Trim(); if (bookattrval.Length > 0 && bookattrval[0] == ':') { bookattrval = bookattrval.Substring(2); } if (bookattr == "автор") { author = bookattrval; } if (bookattr == "издательство" || bookattr == "издатель") { publisher = bookattrval; } if (bookattr == "год") { year = bookattrval; } if (bookattr == "страниц") { int page; if (int.TryParse(bookattrval, out page)) { pages = page; } } if (bookattr == "язык" && bookattrval == "English") { languageId = 2; } } //анатация DescNode = Node.SelectSingleNode(".//div[@class='newsbody']"); for (int j = DescNode.ChildNodes.Count - 1; j >= 0; j--) { if (DescNode.ChildNodes[j].InnerText.Length > 20) { description = DescNode.ChildNodes[j].InnerText.Trim(); break; } } MirKnigEntities.Book.Add(new Book() { Description = description, Author = author, Title = title, Year = year, Publisher = publisher, GenreID = genreID, LanguageID = languageId, Pages = pages, CoverFileName = ImgSrc }); MirKnigEntities.SaveChanges(); } } Stream.Close(); Console.ReadLine(); }
public async Task<ActionResult> VerifyCode(string provider, string returnUrl, bool rememberMe) { MirKnigEntities MirKnigEntities = new MirKnigEntities(); ViewBag.Genre = MirKnigEntities.Genre.ToList(); // Требовать предварительный вход пользователя с помощью имени пользователя и пароля или внешнего имени входа if (!await SignInManager.HasBeenVerifiedAsync()) { return View("Error"); } return View(new VerifyCodeViewModel { Provider = provider, ReturnUrl = returnUrl, RememberMe = rememberMe }); }