protected void NewAlbumButton_Click(object sender, EventArgs e) { if (!Roles.IsUserInRole("family")) { ErrorMessage.Text = "<p class=\"errormsg\">Error: You do not have enough permissions to create an album.</p>"; ErrorMessage.Visible = true; return; } // Add album to database using (var db = new NietoYostenDbDataContext()) { var newAlbum = new Album() { Title = AlbumTitle.Text, FolderName = AlbumFolder.Text }; db.Albums.InsertOnSubmit(newAlbum); db.SubmitChanges(); } // Create folders for album //string originalDir = Server.MapPath(string.Format("~/pictures/original/{0}", AlbumFolder.Text)); Directory.CreateDirectory(Server.MapPath(string.Format("~/pictures/original/{0}", AlbumFolder.Text))); Directory.CreateDirectory(Server.MapPath(string.Format("~/pictures/web/{0}", AlbumFolder.Text))); Directory.CreateDirectory(Server.MapPath(string.Format("~/pictures/thumb/{0}", AlbumFolder.Text))); Response.Redirect("~/Pictures.aspx"); }
protected void DeleteAlbumButton_Click(object sender, EventArgs e) { if (!Roles.IsUserInRole("family")) { ErrorMessage.Text = "<p class=\"errormsg\">Error: You do not have enough permissions to delete an album.</p>"; ErrorMessage.Visible = true; return; } if (DeleteAlbumConfirmed.Value == "true") { var selAlbums = GetSelectedAlbums(); using (var db = new NietoYostenDbDataContext()) { foreach (int albumId in selAlbums) { DeleteAlbum(db, albumId); } db.SubmitChanges(); } Response.Redirect(Request.RawUrl); } }
protected void DeletePicture_Click(object sender, EventArgs e) { if (!Roles.IsUserInRole("family")) { ErrorMessage.Text = "<p class=\"errormsg\">Error: You do not have enough permissions to delete pictures.</p>"; ErrorMessage.Visible = true; return; } if (DeleteConfirmed.Value == "true") { var selPics = GetSelectedPictures(); using (var db = new NietoYostenDbDataContext()) { foreach (int pictureId in selPics) { NyUtil.DeletePicture(db, Server, pictureId); } db.SubmitChanges(); } Response.Redirect(Request.RawUrl); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (!string.IsNullOrEmpty(Request.Form["signed_request"])) { string signedRequest = Request.Form["signed_request"]; if (!FacebookUtil.ValidateSignedRequest(signedRequest)) return; var regInfo = FacebookUtil.GetRegistrationInfo(signedRequest); // Check if user is already registered on the site (just re-connecting to the app) bool alreadyRegistered = false; string userName = null; using (var db = new NietoYostenDbDataContext()) { if (db.FacebookUserIds.Any(x => x.FbUid == regInfo.UserId)) { // Nothing to do here other than log the user in alreadyRegistered = true; userName = FacebookUtil.GetUserNameFromFbUid(db, regInfo.UserId); } } if (alreadyRegistered) { FormsAuthentication.RedirectFromLoginPage(userName, true); return; } // Merge with site user if necessary var existingUser = Membership.GetUserNameByEmail(regInfo.Email); if (!string.IsNullOrEmpty(existingUser)) { var aspnetUser = Membership.GetUser(existingUser); var userId = new FacebookUserId() { UserId = (Guid) aspnetUser.ProviderUserKey, FbUid = regInfo.UserId }; using (var db = new NietoYostenDbDataContext()) { db.FacebookUserIds.InsertOnSubmit(userId); db.SubmitChanges(); } // Login user after doing the merge FormsAuthentication.RedirectFromLoginPage(aspnetUser.UserName, true); return; } else { // Create new user MembershipCreateStatus createStatus; var password = "******"; var newUser = Membership.CreateUser(regInfo.UserName, password, regInfo.Email, null, null, true, Guid.NewGuid(), out createStatus); // Grant role to user: default to friend for now // TODO: Grant role based on membership to NY family Facebook group Roles.AddUserToRole(newUser.UserName, "friend"); switch (createStatus) { case MembershipCreateStatus.Success: var userId = new FacebookUserId() { UserId = (Guid) newUser.ProviderUserKey, FbUid = regInfo.UserId }; using (var db = new NietoYostenDbDataContext()) { db.FacebookUserIds.InsertOnSubmit(userId); db.SubmitChanges(); } FormsAuthentication.RedirectFromLoginPage(newUser.UserName, true); break; default: Response.Redirect("FbRegister.aspx?facebook_result=success"); break; } } } } }
public static string EndFileUpload(string folderName, string fileName) { if (!Roles.IsUserInRole("family")) { return "Error: Current user is not allowed to upload pictures."; } string originalPicFile = Path.Combine( HttpContext.Current.Server.MapPath("~/pictures/original/" + folderName), fileName); try { File.Copy(GetTempFilePath(fileName), originalPicFile); } catch (IOException) { return "Error: file with same name already exists in this album."; } finally { File.Delete(GetTempFilePath(fileName)); } // Create and save web-sized image string webPicFile = HttpContext.Current.Server.MapPath(string.Format( "~/pictures/web/{0}/{1}", folderName, fileName)); ResizeImage(originalPicFile, webPicFile, 640); // Create and save thumbnail-sized image string thumbPicFile = HttpContext.Current.Server.MapPath(string.Format( "~/pictures/thumb/{0}/{1}", folderName, fileName)); ResizeImage(originalPicFile, thumbPicFile, 120); // Add picture to the database using (var db = new NietoYostenDbDataContext()) { var album = db.Albums.FirstOrDefault(x => x.FolderName == folderName); var picture = new Picture(); picture.AlbumId = album.Id; picture.FileName = fileName; picture.Title = fileName; db.Pictures.InsertOnSubmit(picture); db.SubmitChanges(); } return "Upload successful"; }