public ActionResult Index() { List <Content> faaliyetler; using (var db = new EF_CONTEXT()) { var settingEnum = SettingsENUM.HOMEPAGE_SHOW_CONTENT_LIMITATION.ToString(); var setting = db.SiteSettings.FirstOrDefault(s => s.ENUM == settingEnum); if (setting == null) { setting = new SiteSetting() { Value = 24.ToString() }; } var limitation = int.Parse(setting.Value); faaliyetler = db.Contents .Where(e => !e.CID.EndsWith("e")) .OrderByDescending(e => e.On) .Take(limitation) .ToList(); } return(View(new IndexViewModel() { Events = faaliyetler })); }
public ActionResult ListArticle( string author, string tags, bool listAll = false ) { List <Content> result; string filter = null; var authorFunc = funcByAuthor(author.BuildUpAuthorText(), out string authorFilter); var tagsFunc = funcByTags(tags, out string tagFilter); using (var db = new EF_CONTEXT()) { var filtered = db.Contents.ToList().Where(content => authorFunc(content) && tagsFunc(content)); if (!listAll) { filtered = filtered.Where(content => !content.IsEditorial()); } result = filtered.ToList(); } if (!string.IsNullOrEmpty(authorFilter)) { filter = authorFilter; } if (!string.IsNullOrEmpty(tagFilter)) { tagFilter = tagFilter.Substring(0, tagFilter.Length - 1); filter = string.IsNullOrEmpty(filter) ? tagFilter : filter + ";" + tagFilter; } return(View(new Tuple <string, IEnumerable <Content> >(filter, result))); }
public ActionResult CreateUser(User usr) { using (var db = new EF_CONTEXT()) { if (db.Users.Any(c => c.Username.ToLower() == usr.Username.ToLower())) { TempData["Error"] = "Bu isimde [" + usr.Username + "] bir kullanıcı zaten var!"; return(RedirectToAction("Users", "Settings")); } if (User.IsInRole("USER") && usr.Role != "USER") { usr.Role = "USER"; } else if (User.IsInRole("ADMIN") && usr.Role == "SUPER") { usr.Role = "ADMIN"; } usr.Password = _Extentions.CreateMD5(usr.Password); db.Users.Add(usr); db.SaveChanges(); } TempData["Message"] = "Kullanıcı [" + usr.Username + "] Başarı ile yaratıldı!"; return(RedirectToAction("Users", "Settings")); }
public ActionResult Users() { IEnumerable <User> users; using (var db = new EF_CONTEXT()) { users = db.Users.ToList(); } return(View(users)); }
public ActionResult Site() { IEnumerable <SiteSetting> settings = null; using (var db = new EF_CONTEXT()) { settings = db.SiteSettings.ToList(); } return(View(settings)); }
public string DeleteAll() { int deleted; using (var dbContext = new EF_CONTEXT()) { dbContext.Contents.RemoveRange(dbContext.Contents); deleted = dbContext.SaveChanges(); } return($"Done! Deleted {deleted} amount of content!"); }
private void BackupDBasCSV(ZipArchive zip) { using (var db = new EF_CONTEXT()) { var yalanci = new YALANCI_CONTEXT(db, zip); yalanci.ZipEntryFor_dynamicHTMLPages(); yalanci.ZipEntryFor_siteSettings(); yalanci.ZipEntryFor_contents(); } }
public ActionResult ResetDatabase() { int total; using (var db = new EF_CONTEXT()) { db.Contents.RemoveRange(db.Contents); total = db.SaveChanges(); } TempData["Result"] = "Toplam " + total + " içerik veritabanından silindi"; return(RedirectToAction("Database")); }
public ActionResult Delete(string id) { using (var dbContext = new EF_CONTEXT()) { if (_Extentions.IsIdSafe(id) && Directory.Exists(_Extentions.Locate(id))) { dbContext.Contents.Remove(dbContext.Contents.FirstOrDefault(f => f.CID == id)); dbContext.SaveChanges(); dbContext.Dispose(); return(RedirectToAction("Index", "Home")); } } return(HttpNotFound()); }
private void Seed() { var context = new EF_CONTEXT(); IList <User> defaultStandards = new List <User>(); defaultStandards.Add(new User() { Username = "******", Password = "******", Fullname = "Ercan Bal", Role = "ADMIN", IsActive = true }); defaultStandards.Add(new User() { Username = "******", Password = "******", Fullname = "Perihan Şahin Bal", Role = "ADMIN", IsActive = true }); defaultStandards.Add(new User() { Username = "******", Password = "******", Fullname = "Admin", Role = "ADMIN", IsActive = true }); defaultStandards.Add(new User() { Username = "******", Password = "******", Fullname = "Hasan Ünal", Role = "SUPER", IsActive = true }); foreach (var item in defaultStandards) { if (context.Users.FirstOrDefault(c => c.Username == item.Username) == null) { context.Users.Add(item); } } IList <SiteSetting> settings = new List <SiteSetting>(); settings.Add(new SiteSetting { ENUM = SettingsENUM.HOMEPAGE_SHOW_CONTENT_LIMITATION.ToString(), DataTypeENUM = DataTypeENUM.INT.ToString(), Value = 25.ToString() }); settings.Add(new SiteSetting { ENUM = SettingsENUM.IMAGE_COMPRESSION_QUALITY.ToString(), DataTypeENUM = DataTypeENUM.INT.ToString(), Value = 55.ToString() }); settings.Add(new SiteSetting { ENUM = SettingsENUM.IMAGE_COMPRESSION_MAXSUMOFWIDTHANDHEIGHT.ToString(), DataTypeENUM = DataTypeENUM.INT.ToString(), Value = 3000.ToString() }); foreach (var item in settings) { if (context.SiteSettings.FirstOrDefault(c => c.ENUM == item.ENUM) == null) { context.SiteSettings.Add(item); } } context.SaveChanges(); }
/// <summary> /// Returns Username,Role,And MD5 Hashed Password, Null if no such username /// </summary> /// <param name="username"></param> /// <returns></returns> User GetUser(string username) { User user; using (var db = new EF_CONTEXT()) { user = db.Users.FirstOrDefault(f => f.Username == username); } if (user != null) { return(user); } return(null); }
public ActionResult Create(ContentCreateModel model) { var img = model.ImageFile.FileName; using (var db = new EF_CONTEXT()) { string outputqulity = db.GetSetting(SettingsENUM.IMAGE_COMPRESSION_QUALITY); string maxSummaryOfWidthAndHeight = db.GetSetting(SettingsENUM.IMAGE_COMPRESSION_MAXSUMOFWIDTHANDHEIGHT); if (outputqulity.Length > 0) { OutputImageQualityPercentage = byte.Parse(outputqulity); } if (maxSummaryOfWidthAndHeight.Length > 0) { MaxSummaryOfWidthAndHeight = int.Parse(maxSummaryOfWidthAndHeight); } } var path = SaveFiles(model); var content = new Content() { CID = model.CID, Author = model.Author.BuildUpAuthorText(), Describer = _Extentions.RemoveUnwantedTags(model.HTMLBody, 150).Trim(), Header = model.Header ?? "İçerik Başlığı", ImageFile = "header" + Path.GetExtension(model.ImageFile.FileName), On = model.AddedOn, Path = path, Tags = model.Tags.CheckForTags(), HtmlFile = "Index.html"//If you want to change Index.html rendering start changing this. }; CreateMeta(path, content); try { using (var dbContext = new EF_CONTEXT()) { dbContext.Contents.Add(content); dbContext.SaveChanges(); } TempData["Message"] = "İçerik Yaratıldı!"; TempData["Content"] = content; } catch (Exception e) { TempData["Message"] = "Hata Oluştu! Teknik Bilgi: " + e.Message; DeleteFiles(path); } return(RedirectToAction("Index", "Enter")); }
private int RecoverFromBackup(string destination, bool wipeDBFirst) { int total = 0; using (var db = new EF_CONTEXT()) { if (wipeDBFirst) { db.Contents.RemoveRange(db.Contents); total = db.SaveChanges(); } //var normalDbDir = _Extentions.GetDatabaseDir() // .Replace(_Extentions.GetRootDirectory(), ""); //var backedUpDatabaseDir = destination + "\\" + normalDbDir; var backedUpContext = new YALANCI_CONTEXT(destination); foreach (var item in backedUpContext.Contents()) { if (db.Contents.Any(c => c.CID == item.CID)) { continue; } total++; if (item.Path.Replace(_Extentions.GetRootDirectory(), "").Length >= item.Path.Length) { var articles = item.Path.Split(new string[] { "articles" }, StringSplitOptions.None); var tailing = articles[1]; item.Path = _Extentions.ArticleRootPath() + tailing; } db.Contents.Add(item); var relative = item.GenerateRelativePathIndependently(); Directory.CreateDirectory(_Extentions.ArticleRootPath() + "\\" + relative); var target = destination + "\\articles\\" + relative; foreach (var filePath in Directory.GetFiles(target)) { var fileName = System.IO.Path.GetFileName(filePath); var destFile = _Extentions.ArticleRootPath() + "" + relative; destFile = System.IO.Path.Combine(destFile, fileName); System.IO.File.Copy(filePath, destFile, true); } } db.SaveChanges(); } System.IO.Directory.Delete(destination, true); return(total); }
public ActionResult Change(string setting, string value) { SettingsENUM @enum; var parsed = Enum.TryParse <SettingsENUM>(setting, out @enum); if (!parsed) { return(HttpNotFound()); } using (var db = new EF_CONTEXT()) { var ss = db.SiteSettings.FirstOrDefault(s => s.ENUM == setting); ss.Value = value; db.SaveChanges(); } return(RedirectToAction("Site")); }
public ActionResult ChangeUserPassword(int id, string changedPassword) { string username; using (var db = new EF_CONTEXT()) { var user = db.Users.First(u => u.Id == id); if (user == null) { TempData["Error"] = "Kullanıcı Bulunamadı!"; return(RedirectToAction("Users", "Settings")); } user.Password = _Extentions.CreateMD5(changedPassword); db.Users.Remove(user); db.Users.Add(user); db.SaveChanges(); username = user.Username; } TempData["Message"] = "Kullanıcı [" + username + "] Parolası değiştirildi! "; return(RedirectToAction("Users", "Settings")); }
public ActionResult ResetDatabaseAndDeleteFolders() { int total = 0; using (var db = new EF_CONTEXT()) { db.Contents.RemoveRange(db.Contents); total = db.SaveChanges(); } if (Directory.Exists(_Extentions.EditorialRootPath())) { Directory.Delete(_Extentions.EditorialRootPath(), true); } if (Directory.Exists(_Extentions.EventsRootPath())) { Directory.Delete(_Extentions.EventsRootPath(), true); } _Extentions.CreateRootPaths(); TempData["Result"] = "Toplam " + total + " içerik ve dosyaları veritabanından silindi!"; return(RedirectToAction("Database")); }
public ActionResult ReadArticle(string id) { Content content; using (var dbContext = new EF_CONTEXT()) { content = dbContext.Contents.FirstOrDefault(i => i.CID == id); if (!_Extentions.IsIdSafe(id) || !Directory.Exists(_Extentions.Locate(id)) || content == null) { return(HttpNotFound()); } }//sanity check return(View(content)); }
public YALANCI_CONTEXT(EF_CONTEXT db, ZipArchive zip) { Db = db; Zip = zip; }
MemoryStream GenerateBackup( DateTime?until = null, bool deleteFile = false ) { if (until == null) { until = DateTime.Now; } var zipStream = new MemoryStream(); using (ZipArchive zip = new ZipArchive(zipStream, ZipArchiveMode.Create, true)) { BackupUntil(until, _Extentions.ArticleRootPath(), zip, deleteFile); BackupDBasCSV(zip); //var dbRoot = _Extentions.GetDatabaseDir(); //var toBeReplaced = _Extentions.GetRootDirectory(); //var dbEntry = zip.CreateEntry(dbRoot.Replace(toBeReplaced + "\\", "")); //using (var wr = new BinaryWriter(dbEntry.Open())) //{ // var bytes = System.IO.File.ReadAllBytes(_Extentions.GetDatabaseDir()); // wr.Write(bytes); // wr.Flush(); // wr.Close(); //} //if (includeStaticHTMLFiles) //{ // foreach (var item in Directory.EnumerateDirectories(_Extentions.PagesRootPath())) // { // var entry = zip.CreateEntry(item.Replace(toBeReplaced + "\\", "")); // using (var wr = new BinaryWriter(entry.Open())) // { // var bytes = System.IO.File.ReadAllBytes(item); // wr.Write(bytes); // wr.Flush(); // wr.Close(); // } // } //} if (deleteFile) { Directory.Delete(_Extentions.EventsRootPath(), true); Directory.Delete(_Extentions.EditorialRootPath(), true); try { using (var db = new EF_CONTEXT()) { db.Contents.RemoveRange(db.Contents); db.SaveChanges(); } } catch (Exception) { throw; } } } return(zipStream); }