protected void RescanDirectory() { //Increase timeout Server.ScriptTimeout = 600; //get list of files IEnumerable<FileInfo> filelist = FileUtility.GetSafeFileList(PicturePath, GetExcludedFiles(), GetSortOrder()); int filelistcount = filelist.Count(); //If there are any process them if (filelistcount > 0) { //get list from db var tc = new ItemController(); IEnumerable<Item> dblist = tc.GetItems(ModuleId); foreach (FileInfo file in filelist) { bool isinDB = false; //see if this file is in dm foreach (Item picture in dblist) { if (file.FileName.Contains("thm_") || file.FileName == picture.ItemFileName) { isinDB = true; break; } } if (!isinDB) //picture is not in db so add it and create thumbnail { Item addPic = new Item(); //check for bad filename string goodFileName = RemoveCharactersFromString(file.FileName," '&#<>"); if(goodFileName != file.FileName) { //rename the file and use goodfilename instead of file.filename string myPath = Server.MapPath("portals/" + PortalId + "/Gallery/Nano/" + ModuleId + "/"); string myOldPath = myPath + file.FileName; string myNewPath = myPath + goodFileName; System.IO.FileInfo f = new System.IO.FileInfo(myOldPath); f.CopyTo(myNewPath); f.Delete(); } addPic.ItemFileName = goodFileName; addPic.ItemTitle = goodFileName; addPic.ItemKind = ""; addPic.AlbumID = 0; addPic.ItemDescription = "New Picture"; addPic.CreatedOnDate = DateTime.Now; addPic.LastModifiedOnDate = DateTime.Now; addPic.LastModifiedByUserId = UserId; addPic.ModuleId = ModuleId; //add to db var tc1 = new ItemController(); tc1.CreateItem(addPic); // Get image System.Drawing.Image image = System.Drawing.Image.FromFile(PicturePath + "\\" + goodFileName); float x = image.Width; float y = image.Height; float scale = x / y; int newx = 120; int newy = Convert.ToInt32(120 / scale); if (newy > 120) { newy = 120; newx = Convert.ToInt32(120 * scale); } //create thumbnail System.Drawing.Image thumb = image.GetThumbnailImage(newx, newy, () => false, IntPtr.Zero); thumb.Save(PicturePath + "\\thm_" + goodFileName); } } } //Reload page Response.Redirect(DotNetNuke.Common.Globals.NavigateURL()); }
protected void btnSubmit_Click(object sender, EventArgs e) { var t = new Item(); var tc = new ItemController(); if (ItemId > 0) { t = tc.GetItem(ItemId, ModuleId); t.ItemTitle = txtTitle.Text.Trim(); t.ItemFileName = txtFileName.Text.Trim(); t.ItemDescription = txtDescription.Text.Trim(); t.ItemKind = rblItemKind.SelectedValue; if (ddlAlbumID.SelectedValue != "0") t.AlbumID = Convert.ToInt32(ddlAlbumID.SelectedValue); else t.AlbumID = 0; t.LastModifiedByUserId = UserId; t.LastModifiedOnDate = DateTime.Now; } else { //make sure there are no ' in title or description string newTitle = txtTitle.Text.Trim(); string newDescription = txtDescription.Text.Trim(); newTitle = newTitle.Replace("'", ""); newDescription = newDescription.Replace("'", ""); t = new Item() { CreatedByUserId = UserId, CreatedOnDate = DateTime.Now, ItemTitle = newTitle, ItemFileName = txtFileName.Text.Trim(), ItemDescription = newDescription, ItemKind = "", AlbumID = 0 }; } t.LastModifiedOnDate = DateTime.Now; t.LastModifiedByUserId = UserId; t.ModuleId = ModuleId; if (t.ItemId > 0) { tc.UpdateItem(t); } else { tc.CreateItem(t); } //reload LoadGalleryList(); LoadAlbumList(); SetPanels(true); }