public async Task <IActionResult> EditAuto(int id, Dizi dizi, string returnUrl) { var diziFromDb = await _db.Diziler.Where(m => m.Id == dizi.Id).FirstOrDefaultAsync(); if (User.IsInRole(Constants.ModeratorUser)) // Moderator ise izin verme { //return Redirect(returnUrl ?? "Index"); return(RedirectToAction(nameof(Error))); } else if (ModelState.IsValid) { //Şuanki kullanıcıyı bulma ClaimsPrincipal currentUser = this.User; var claimsIdentity = (ClaimsIdentity)this.User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); // This is ID var claimName = currentUser.Identity.Name; if (diziFromDb.ApprovedBy == claimName || diziFromDb.UploadedBy == claimName || User.IsInRole(Constants.MasterAdminUser) || (User.IsInRole(Constants.NormalAdminUser) && diziFromDb.Approved == false)) { diziFromDb.ApprovedBy = currentUser.Identity.Name; // this is name diziFromDb.Approved = !(diziFromDb.Approved); await _db.SaveChangesAsync(); return(Redirect(returnUrl ?? "Index")); } else { return(RedirectToAction(nameof(Error))); } } return(Redirect(returnUrl ?? "Index")); }
public static List <ArsivShortDizi> GetArsivDiziler(string HTML) { HtmlAgilityPack.HtmlDocument Document = new HtmlAgilityPack.HtmlDocument(); Document.LoadHtml(HTML); var Diziler = Document.DocumentNode.SelectNodes("/html/body/main/div[4]/div[2]/article"); var Liste = new List <ArsivShortDizi>(); foreach (var Dizi in Diziler) { var Isim = Dizi.SelectSingleNode("div/h3/a").InnerText; var ImdbObje = Dizi.SelectSingleNode("div/div[1]/span[3]"); var Imdb = ""; if (ImdbObje != null) { Imdb = ImdbObje.InnerText.Trim(); } var Tur = Dizi.SelectSingleNode("div/div[1]/span[1]").InnerText.Split('&')[0].Trim(); var TarihYer = Dizi.SelectSingleNode("div/div[1]/span[2]").InnerText.Replace(" ", string.Empty).Replace("|", string.Empty).Trim(); var Resim = DbxCore.Http.GetImage(Dizi.SelectSingleNode("figure/a/img").Attributes["src"].Value); var Aciklama = Dizi.SelectSingleNode("div/div[2]").InnerText.Trim(); Liste.Add(new ArsivShortDizi() { Aciklama = Aciklama, Yil = TarihYer.Split('-')[0].Trim(), Ulke = TarihYer.Split('-')[1].Trim(), Resim = Resim, Isim = Isim.Replace("\n", string.Empty), Imdb = Imdb, Tur = Tur }); } return(Liste); }
public static List <ShortDizi> GetEfsaneler(string HTML) { HtmlAgilityPack.HtmlDocument Document = new HtmlAgilityPack.HtmlDocument(); Document.LoadHtml(HTML); var Diziler = Document.DocumentNode.SelectNodes("/html/body/main/div[4]/section/div[2]/article"); var Liste = new List <ShortDizi>(); foreach (var Dizi in Diziler) { var Isim = Dizi.SelectSingleNode("figure/figcaption/a").InnerText; var Imdb = Dizi.SelectSingleNode("figure/figcaption/div/div[1]").InnerText.Trim(); var Tarih = Dizi.SelectSingleNode("figure/figcaption/div/div[2]").InnerText.Trim(); var Resim = DbxCore.Http.GetImage(Dizi.SelectSingleNode("figure/a[2]/img").Attributes["src"].Value); Liste.Add(new ShortDizi() { Resim = Resim, Isim = Isim.Replace("\n", string.Empty), Imdb = Imdb, Yil = Tarih }); } return(Liste); }
public async Task <IActionResult> Edit(int id, Dizi dizi) { var diziFromDb = await _db.Diziler.Where(m => m.Id == dizi.Id).FirstOrDefaultAsync(); dizi.Image = diziFromDb.Image; if (diziFromDb.Approved == true && User.IsInRole(Constants.ModeratorUser)) // Moderator'un onaylanmış bir postu değiştirmesine izin vermiyoruz. { return(RedirectToAction(nameof(Index))); } else if (ModelState.IsValid) { //Şuanki kullanıcıyı bulma ClaimsPrincipal currentUser = this.User; var claimsIdentity = (ClaimsIdentity)this.User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); // This is ID var claimName = currentUser.Identity.Name; //Eğer Onaylanan kişi tarafından yada yüklenen kişi tarafından yada Master admin ise yada (Onaylanmamış olup şuanki kullanıcı Normal admin ise) değiştirme işlemini gerçekleştir. if (diziFromDb.ApprovedBy == claimName || diziFromDb.UploadedBy == claimName || User.IsInRole(Constants.MasterAdminUser) || (User.IsInRole(Constants.NormalAdminUser) && diziFromDb.Approved == false)) { //C:\Users\StrongTURK\source\repos\DiziSearch\DiziSearch\wwwroot string webRootPath = _hostingEnvironment.WebRootPath; //wwwroot var files = HttpContext.Request.Form.Files; //Yüklenen type file'ın url'sini al // var diziFromDb = await _db.Diziler.Where(m => m.Id == dizi.Id).FirstOrDefaultAsync(); if (files.Count > 0 && files[0] != null) //Dosya 0'dan büyük ve ilgili image yüklenmiş ise { //C:\Users\StrongTURK\source\repos\DiziSearch\DiziSearch\wwwroot'\'images\DiziImages var uploads = Path.Combine(webRootPath, Constants.ImageFolder); var extension_new = Path.GetExtension(files[0].FileName);//Yüklediğimiz dosyanın extension'ı al var extension_old = Path.GetExtension(diziFromDb.Image); //Eğer ilgili Image var ise o image'i sil if (System.IO.File.Exists(Path.Combine(uploads, dizi.Id + extension_old))) { System.IO.File.Delete(Path.Combine(uploads, dizi.Id + extension_old)); } //ilgili uploads'taki yere Id.extension isimli bir dosya yarat using (var filestream = new FileStream(Path.Combine(uploads, dizi.Id + extension_new), FileMode.Create)) { files[0].CopyTo(filestream); //yaratılan dosyaya ilgili yüklenen dosyayı kopyala. } //Image' ilgili url'yi ata dizi.Image = @"\" + Constants.ImageFolder + @"\" + dizi.Id + extension_new; } if (dizi.Image != null) //eğer image yüklenmiş ise databasedeki image bölmesine ata { diziFromDb.Image = dizi.Image; } //This changes applying if its been changing like _db.Update(); await _db.SaveChangesAsync(); diziFromDb.Name = dizi.Name; diziFromDb.Year = dizi.Year; diziFromDb.Country = dizi.Country; diziFromDb.IMDBScore = dizi.IMDBScore; diziFromDb.Description = dizi.Description; diziFromDb.Alias = Url.AliasUrl(dizi.Name); diziFromDb.Genre = dizi.Genre; diziFromDb.InFront = dizi.InFront; #region AdminIslemler //UploadedBy kısmında kim eklemişse onu atama işlemini gerçekleştir //Master Admin yada Normal admin değilse otomatik olarak approved false olarak ayarlasın. if (User.IsInRole(Constants.ModeratorUser)) { diziFromDb.Approved = false; } else { //Eğer önceki onay durumuyla şuanki onay durumu eşleşmiyorsa yeniden biri onaylamıştır. if (diziFromDb.Approved == false || (diziFromDb.Approved != dizi.Approved)) { diziFromDb.ApprovedBy = currentUser.Identity.Name; // this is name } diziFromDb.Approved = dizi.Approved; } #endregion var a = diziFromDb.IMDBScore.ToString(); diziFromDb.IMDBScoreStr = a[0] + "." + a[1]; await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { ModelState.AddModelError("", "Bunu yapacak izniniz bulunmamaktadır."); } } return(View(dizi)); }
public async Task <IActionResult> Create(Dizi dizi) { if (!ModelState.IsValid) { return(NotFound()); } var IsDiziExists = _db.Diziler.Where(m => m.Name == dizi.Name).Count(); if (IsDiziExists > 0) { ModelState.AddModelError("", "İlgili dizi zaten daha önce yaratıldı."); return(View()); } else { _db.Diziler.Add(dizi); await _db.SaveChangesAsync(); //C:\Users\StrongTURK\source\repos\DiziSearch\DiziSearch\wwwroot string webRootPath = _hostingEnvironment.WebRootPath; //wwwroot var files = HttpContext.Request.Form.Files; //Yüklenen type file'ın url'sini al var diziFromDb = _db.Diziler.Find(dizi.Id); if (files.Count > 0) //Eğer dizi yüklenmişse { //C:\Users\StrongTURK\source\repos\DiziSearch\DiziSearch\wwwroot'\'images\DiziImages var uploads = Path.Combine(webRootPath, Constants.ImageFolder); var extension = Path.GetExtension(files[0].FileName);//Yüklediğimiz dosyanın extension'ı al //ilgili uploads'taki yere Id.extension isimli bir dosya yarat using (var filestream = new FileStream(Path.Combine(uploads, dizi.Id + extension), FileMode.Create)) { files[0].CopyTo(filestream); //yaratılan dosyaya ilgili yüklenen dosyayı kopyala. } //Image' ilgili url'yi ata diziFromDb.Image = @"\" + Constants.ImageFolder + @"\" + dizi.Id + extension; } else //Eğer Dizi yüklenmemişse { var uploads = Path.Combine(webRootPath, Constants.ImageFolder + @"\" + Constants.DefaultImage); //default-image.png'i = kopyala ve ilgili isim ile kayıt et System.IO.File.Copy(uploads, webRootPath + @"\" + Constants.ImageFolder + @"\" + dizi.Id + ".png"); //Image'i ilgili url'yi ata diziFromDb.Image = @"\" + Constants.ImageFolder + @"\" + dizi.Id + ".png"; } //AddedTime diziFromDb.AddedDate = DateTime.Now; diziFromDb.Alias = Url.AliasUrl(diziFromDb.Name); //Alias atama normal ismi uygun biçimde düzenleyerek. var a = diziFromDb.IMDBScore.ToString(); diziFromDb.IMDBScoreStr = a[0] + "." + a[1]; #region AdminIslemler //Şuanki kullanıcıyı bulma ClaimsPrincipal currentUser = this.User; var claimsIdentity = (ClaimsIdentity)this.User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); // This is ID //UploadedBy kısmında kim eklemişse onu atama işlemini gerçekleştir diziFromDb.UploadedBy = currentUser.Identity.Name; // this is name //Master Admin yada Normal admin değilse otomatik olarak approved false olarak ayarlasın. if (User.IsInRole(Constants.ModeratorUser)) { diziFromDb.Approved = false; } //Eğer onaylanmış vaziyette ise kimin onayladığını alalım if (diziFromDb.Approved == true) { diziFromDb.ApprovedBy = currentUser.Identity.Name; } #endregion await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } }