public ActionResult RegisterAgent(RegisterAgentViewModel model) { if (ModelState.IsValid) { // Attempt to register the user try { if (WebSecurity.UserExists(model.Register.UserName)) { this.Error(Resource.val_UserExists); } else { IBLUser bUser = new BLUser(LogError.SLogPath); if (bUser.ExistEmail(model.Register.Email)) { this.Error(string.Format(Resource.val_UserEmailExists, model.Register.Email)); } else { WebSecurity.CreateUserAndAccount(model.Register.UserName, model.Register.Password); model.Register.UserId = WebSecurity.GetUserId(model.Register.UserName); if (model.archivo != null) { string serverpath = Server.MapPath("~") + ConfigurationManager.AppSettings["urlImages"].ToString(); model.Register.PhotoProfile = DateTime.Now.ToString("yyyyMMdd") + "_" + model.Register.UserId + "." + model.archivo.ContentType.Split('/')[1].ToString(); model.archivo.SaveAs(serverpath + model.Register.PhotoProfile); } model.Register.TypeOfUser = enumTypeOfUsers.Agent; setLocationNames(model.Register); foreach (var item in model.Register.PassportHolders) { var place = Helper.Helper.getGlobalInformation().GetCountry(item.Value); if (place != null) { item.Text = place.Text; } } bUser.SaveUser(model.Register); WebSecurity.Login(model.Register.UserName, model.Register.Password); IBLUser bl = new BLUser(this.LogError.SLogPath); var usr = bl.GetUserDetails(WebSecurity.GetUserId(model.Register.UserName)); Helper.Helper.CurrentUser = usr; return(RedirectToAction("Agent", "DashBoard")); } } } catch (Exception ex) { ProcessExection("Web.AccountController.RegisterApplicant", ex, Resource.Error_RegisterApplicant); } } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> RegisterAgent(RegisterAgentViewModel model, HttpPostedFileBase uploadImage) { var isValid = ModelState.IsValid; var hasFile = uploadImage != null && uploadImage.ContentLength > 0; if (ModelState.IsValid && hasFile) { if (!uploadImage.ContentType.StartsWith("image/")) { isValid = false; ModelState.AddModelError("ProfileImage", "Invalid file"); } } if (isValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { UserManager.AddToRole(user.Id, "Agent"); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); string imageFileName = null; if (hasFile) { var folderPath = Server.MapPath("~/UserContent"); var extentionIndex = uploadImage.FileName.LastIndexOf("."); var imageExtention = uploadImage.FileName.Substring(extentionIndex); imageFileName = user.Id + imageExtention; var imageFilePath = Path.Combine(folderPath, imageFileName); uploadImage.SaveAs(imageFilePath); } var agent = new AgentAccount { AboutMeText = model.AboutMeText, City = model.City, Company = model.Company, Email = model.Email, FacebookLink = model.FacebookLink, FirstName = model.FirstName, InstagramLink = model.InstagramLink, LastName = model.LastName, LicensedState = model.LicensedState, LinkedInLink = model.LinkedInLink, PhoneCell = model.PhoneCell, PhoneOffice = model.PhoneOffice, ProfileImage = imageFileName, RealEstateLicense = model.RealEstateLicense, StateProv = model.StateProv, StreetName = model.StreetName, StreetNumber = model.StreetNumber, SuiteNumber = model.SuiteNumber, TwitterLink = model.TwitterLink, WebsiteLink = model.WebsiteLink, YearsOfExp = model.YearsOfExp, ZipCode = model.ZipCode, Id = user.Id, DateCreated = DateTime.Now }; db.AgentAccounts.Add(agent); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult RegisterAgent() { RegisterAgentViewModel registerModel = new RegisterAgentViewModel(); return(View(registerModel)); }