public async Task <ActionResult> Register(RegisterViewModel model, HttpPostedFileBase fupResume) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { #region Assign UserDetails during registration UserDetail newUserDeets = new UserDetail(); newUserDeets.UserID = user.Id; newUserDeets.FirstName = model.FirstName; newUserDeets.LastName = model.LastName; #region FileUpload FOR Register if (fupResume != null)//if it has a value then they uploaded file. { //Get image and assign to variable string resumeName = fupResume.FileName; //declare and assign ext value string ext = resumeName.Substring(resumeName.LastIndexOf('.'));//get the extension including '.' //declare list of valid extensions string[] goodExts = { ".doc", ".docx", ".pdf", ".txt" }; //check the ext variable in lowercase vs valid list if (goodExts.Contains(ext.ToLower()) && (fupResume.ContentLength <= 4194304)) { //if it is in the list , rename it using a GUID (Unique is vital to avoid overwrite) resumeName = Guid.NewGuid() + ext; //save to the webserver at correct location fupResume.SaveAs(Server.MapPath("~/Content/resumes/" + resumeName)); ////Housekeeping for edit: delete old file on record if not the default //if (model.ResumeFileName != null) //{ // System.IO.File.Delete(Server.MapPath("~/Content/resumes/" + model.ResumeFileName)); //} newUserDeets.ResumeFileName = resumeName; } else { newUserDeets.ResumeFileName = "No resume.pdf"; throw new ApplicationException("Incorrect file type (use Doc, Docx, Pdf, or Txt), or file should not exceeds 4MB)"); } //end if tree for good extesion and good file size } //end if fup exists //Location ctx = new Location(); //var roles = await UserManager.GetRolesAsync(user.Id); //if (roles.Contains("Manager")) //{ // ctx.ManagerID = user.Id; //} JobBoardSiteEntities db = new JobBoardSiteEntities(); //db.Locations.Add(ctx); db.UserDetails.Add(newUserDeets); db.SaveChanges(); #endregion return(View("Login")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }