private void GetIDAndActivate() { try { _ID = Request.QueryString["ID"]; if (!string.IsNullOrEmpty(_ID)) { tblActivationRequest actReq = (from req in GoProGoDC.ProfileDC.tblActivationRequests where req.ActivationID.ToString() == _ID && !req.IsFulfilled select req).SingleOrDefault <tblActivationRequest>(); if (actReq != null && actReq.IsFulfilled == false) { MembershipUser user = Membership.GetUser(actReq.tblProfile.UserID); if (!user.IsApproved) { //Approved user account first user.IsApproved = true; Membership.UpdateUser(user); //Following line will submit changes in DB for creating file tblFileInformation fileInfo = VirtualFS.CreateFolder(user.UserName, actReq.tblProfile.ID, null); actReq.tblProfile.RootFolderID = fileInfo.ID; actReq.IsFulfilled = true; //Following line will submit changes to update Profile GoProGoDC.ProfileDC.SubmitChanges(ConflictMode.FailOnFirstConflict); pnlSuccess.Visible = true; } } else { pnlFailure.Visible = true; } } else { throw new Exception("Invalid request."); } } catch (Exception ex) { ((PublicMaster)this.Master).ShowMessage(ex.Message, MessageType.Error); } }
public void btnCreateUser_Click(object sender, EventArgs e) { if (OnBeforeUserCreate != null) { OnBeforeUserCreate(this, new EventArgs()); } string userName = UserName.Trim(); string email = Email.Trim(); string password = Password.Trim(); string confPassword = ConfirmPassword.Trim(); MembershipCreateStatus createStatus = MembershipCreateStatus.UserRejected; MembershipUser user; try { if (password == confPassword) { if (password == confPassword) { user = Membership.CreateUser(userName, password, email, null, null, false, out createStatus); if (createStatus != MembershipCreateStatus.Success) { throw new Exception("User creation failed: " + createStatus.ToString()); } } else { throw new Exception("Password Comparison failed."); } Roles.AddUsersToRole(new string[] { userName }, "Members"); if (OnAfterUserCreate != null) { OnAfterUserCreate(this, new EventArgs()); } //Right after creating user create a new profile for this user if (OnBeforeProfileCreate != null) { OnBeforeProfileCreate(this, null); } tblProfile prof = new tblProfile() { UserID = new Guid(user.ProviderUserKey.ToString()) , RegistrationDate = DateTime.Parse(DateTime.Now.ToShortDateString()) , IsActive = false , IsCompleted = false , IsPublic = false , MemberShipTypeID = (int)GoProGo.Business.Entities.MemberShipType.Standard , Longitude = 0 , Latitude = 0 }; GoProGoDC.ProfileDC.tblProfiles.InsertOnSubmit(prof); GoProGoDC.ProfileDC.SubmitChanges(); tblActivationRequest activation = new tblActivationRequest() { ActivationID = Guid.NewGuid() , Email = this.Email , IsFulfilled = false , ProfileID = prof.ID , CreationDate = DateTime.Now }; prof.tblActivationRequests.Add(activation); GoProGoDC.ProfileDC.SubmitChanges(); pnlConfirmationMessage.Visible = true; pnlCreateUser.Visible = false; lblEmail.Text = Email; //if (OnAfterProfileCreate != null) // OnAfterProfileCreate(this, null); } else { throw new Exception("Password comparison failed."); } } catch (SqlException ex) { if (createStatus == MembershipCreateStatus.Success) { Membership.DeleteUser(userName); } if (this.OnError != null) { OnError(this, new ControlErrorArgs() { Severity = 10, Message = "General sql exception." }); } } catch (Exception ex) { if (createStatus == MembershipCreateStatus.Success) { Membership.DeleteUser(userName); } if (this.OnError != null) { OnError(this, new ControlErrorArgs() { InnerException = ex }); } } }