private int CreateUserDetails(ParticipantRegistration model, string createdBy) { int userDetailsID = 0; using (meetingContext = new OCASIAMeetingContext()) { UserDetail request = new UserDetail() { FirstLastName = model.FirstLastName, TitleID = model.TitleID, FamilyName = model.FamilyName, GivenName = model.GivenName, Email = model.Email, IsActive = true, IsPublish = true, CreatedBy = createdBy, CreatedOn = DateTime.Now, MeetingID = model.MeetingID }; meetingContext.UserDetails.Add(request); meetingContext.SaveChanges(); userDetailsID = request.UserDetailID; return(userDetailsID); } }
public async Task <ActionResult> UserRegistration(ParticipantRegistration model) { MeetingDetails.UserName = model.GivenName; model.MeetingID = MeetingDetails.MeetingID; MeetingDetails.UserDetailsID = dbOperations.RegisterUser(model); #region Send Email string Emailtemplate = string.Empty; Emailtemplate = "~/EmailTemplates/UserSignupConfirmation.html"; using (StreamReader sr = new StreamReader(HttpContext.Server.MapPath(Emailtemplate))) if (sr != null) { string Login = "******" + Url.Action("Login", "Participant", new { }, "http") + "'>Click</a>"; StringBuilder HtmlPage = new StringBuilder(); string HTML = sr.ReadToEnd(); HtmlPage.Append(HTML .Replace("[UserName]", model.Email) .Replace("[Email]", model.Email) .Replace("[Password]", model.Password) .Replace("[Link]", Login) ); #region Email DAL.ApplicationModels.Extension.SendMail(smtpUsername, smtpPassword, model.Email, Host, Port, EnableSsl, "Olympic Council of Asia Signup Confirmation", HtmlPage.ToString(), "Olympic Council of Asia Signup Confirmation", CCEmail); #endregion } #endregion if (MeetingDetails.UserDetailsID == 0) { return(View("Error")); } else if (MeetingDetails.UserDetailsID == -1) { return(View("AlreadyExists")); } var user = await UserManager.FindByNameAsync(model.Email); if (user != null) { var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, false, false); switch (result) { case SignInStatus.Success: SetInformationTabDetails(1); return(RedirectToAction("InformationView")); } } return(View(model)); }
/// <summary> /// Step 1 : user creation /// </summary> /// <param name="model">Registration details</param> /// <returns></returns> public int RegisterUser(ParticipantRegistration model) { string createdBy = string.Empty; int userDetailsID = 0; #region Create useer using (OCASIAMeetingUOW db = new OCASIAMeetingUOW()) { var res = db.Repository <ApplicationUser>().GetAll().Where(f => f.Email == model.Email).FirstOrDefault(); if (res == null) { var user = new ApplicationUser() { UserName = model.Email, Email = model.Email, RoleCustomID = 3, IsActive = true, IspasswordActive = true }; var userManager = new Microsoft.AspNet.Identity.UserManager <ApplicationUser>(new Microsoft.AspNet.Identity.EntityFramework.UserStore <ApplicationUser>(new OCASIAMeetingContext())); var ures = userManager.Create(user, model.Password); if (ures.Succeeded) { // userManager.AddClaim(user.Id, new System.Security.Claims.Claim("FullName", model.Email)); Passwordhash mdl = new Passwordhash() { UserId = user.Id, Password = model.Password }; db.Repository <Passwordhash>().Add(mdl); db.SaveChanges(); createdBy = mdl.UserId; } } else { return(-1); } } #endregion if (string.IsNullOrEmpty(createdBy)) { return(userDetailsID); } userDetailsID = CreateUserDetails(model, createdBy); return(userDetailsID); }