public void CreatePerson(ShortProfile profile) { string sqlConn = ConfigurationManager.ConnectionStrings["DRCOG"].ToString(); using (SqlConnection conn = new SqlConnection(sqlConn)) { conn.Open(); //Save Person information (UserInfo & Address) using (SqlCommand cmd = new SqlCommand("[dbo].[CreatePerson]", conn) { CommandType = CommandType.StoredProcedure }) { cmd.Parameters.AddWithValue("@PersonGUID", profile.PersonGUID); cmd.Parameters.AddWithValue("@FirstName", profile.FirstName); cmd.Parameters.AddWithValue("@LastName", profile.LastName); if (!String.IsNullOrEmpty(profile.SponsorCode)) { cmd.Parameters.AddWithValue("@SponsorCode", profile.SponsorCode); } SqlParameter param = new SqlParameter("@PersonID", SqlDbType.Int); param.Direction = ParameterDirection.Output; cmd.Parameters.Add(param); try { int rowsAffected = cmd.ExecuteNonQuery(); if (rowsAffected < 1) { profile.Success = false; throw new Exception("Save to Person table was not successful"); } profile.Success = true; profile.PersonID = (int)cmd.Parameters["@PersonID"].Value; } catch (Exception exc) { Logger.WarnException("Failed to CreatePerson", exc); } // TODO: connect sponsor } } }
public void CreatePerson(ShortProfile profile) { throw new NotImplementedException(); }
private void SavePropertyValues(Trips4.Data.Models.TRIPS_UserEntities db, Trips4.Data.Models.aspnet_Users user, ShortProfile profile) { SavePropertyValue(db, user, "LastName", profile.LastName); SavePropertyValue(db, user, "FirstName", profile.FirstName); SavePropertyValue(db, user, "PrimaryContact", profile.Phone); SavePropertyValue(db, user, "Organization", profile.Organization); SavePropertyValue(db, user, "Title", profile.Title); }
public void LinkUserWithSponsor(ShortProfile profile) { throw new NotImplementedException(); }
public void CreateUserAndPerson(ShortProfile profile) { // the recovery email is required. if (string.IsNullOrWhiteSpace(profile.RecoveryEmail)) { throw new Exception("Recovery Email is required."); } // unique user name is required. Hint: use RecoveryEmail. if (string.IsNullOrWhiteSpace(profile.UserName)) { throw new Exception("UserName is required."); } // GUID must be, ummm, unique if (profile.PersonGUID.Equals(Guid.Empty)) { profile.PersonGUID = Guid.NewGuid(); } // use providers to create a user var password = "******"; MembershipCreateStatus membershipStatus; var muser = Membership.CreateUser(profile.UserName, password, profile.RecoveryEmail, "What is the answer to the ultimate question?", "42", true, profile.PersonGUID, out membershipStatus); if (membershipStatus != MembershipCreateStatus.Success) { throw new Exception("Membership Creation failed: " + membershipStatus.ToString()); } if (!Membership.ValidateUser(profile.UserName, password)) { Logger.Warn("Cannot validate user " + profile.UserName); } // save extra properties using (var db = new Trips4.Data.Models.TRIPS_UserEntities()) { // get the aspnet_User that was just created var user = db.aspnet_Users.Single(u => u.UserName == profile.UserName); SavePropertyValues(db, user, profile); db.SaveChanges(); } // give the new user roles //string[] roles = { "Contact Manager", "Contact", "Viewer", "SponsorRoleManager", "Administrator" }; string[] roles = { "Contact", "Viewer" }; Roles.AddUserToRoles(profile.UserName, roles); using (var tdb = new Trips4.Data.Models.TRIPSEntities()) { var pid = new ObjectParameter("PersonID", 0); tdb.CreatePerson(profile.PersonGUID, pid, profile.FirstName, profile.LastName, profile.SponsorCode); profile.PersonID = (int)pid.Value; } }
private void Initialize() { profile = new ShortProfile(); SponsoredProjectVersionIds = new List<int>(); }
private bool GuestUser(LogOnModel model) { if (model.LoginType != "guest") { return false; } model.UserName = "******"; model.Password = "******"; // see if this is a valid user if (Membership.ValidateUser(model.UserName, model.Password)) { Logger.Debug("found guest"); return true; } // if not, add the user and roles Logger.Debug("creating guest " + model.UserName); var profile = new ShortProfile() { FirstName = "Anonymous", LastName = "Guest", Password = model.Password, RecoveryEmail = "*****@*****.**", UserName = model.UserName }; _userRepository.CreateUserAndPerson(profile); return true; }
public void CreateUserAndPersonTest() { UserRepository target = new UserRepository(); ShortProfile profile = new ShortProfile() { FirstName = "sword", LastName = "fish", UserName = "******", RecoveryEmail = "*****@*****.**", SponsorCode = "XXX", PersonGUID = Guid.Parse("180F39D4-5F7B-4F11-8DF3-CAF135FDCA6A") }; target.CreateUserAndPerson(profile); Assert.IsTrue(profile.PersonID > 0); }