public ActionResult Create(UserView userView) { if (!ModelState.IsValid) { return View(userView); } //Upload Image: string path = string.Empty; string picture = string.Empty; if (userView.Photo != null) { picture = Path.GetFileName(userView.Photo.FileName); path = Path.Combine(Server.MapPath("~/Content/Photos"),picture); userView.Photo.SaveAs(path); using (MemoryStream ms = new MemoryStream()) { userView.Photo.InputStream.CopyTo(ms); byte[] array = ms.GetBuffer(); } } //Save record: var user = new User { Address = userView.Address, FirstName = userView.FirstName, Grade = userView.Grade, Group = userView.Group, LastName = userView.LastName, Phone = userView.Phone, Photo = picture == string.Empty ? string.Empty : string.Format("~/Content/Photos/{0}", picture), userName = userView.userName }; db.Users.Add(user); try { db.SaveChanges(); this.createASPUser(userView); } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.Contains("userNameIndex")) { ViewBag.Error = "The Email has already used for another User."; } else { ViewBag.Error = ex.Message; } return View(userView); } return RedirectToAction("Index"); }
public async Task<ActionResult> Register(RegisterUserView userView) { if (ModelState.IsValid) { //Upload Image: string path = string.Empty; string picture = string.Empty; if (userView.Photo != null) { picture = Path.GetFileName(userView.Photo.FileName); path = Path.Combine(Server.MapPath("~/Content/Photos"), picture); userView.Photo.SaveAs(path); using (MemoryStream ms = new MemoryStream()) { userView.Photo.InputStream.CopyTo(ms); byte[] array = ms.GetBuffer(); } } //Save record: var user = new User { Address = userView.Address, FirstName = userView.FirstName, Grade = userView.Grade, Group = userView.Group, LastName = userView.LastName, Phone = userView.Phone, Photo = string.IsNullOrEmpty(picture) ? string.Empty : string.Format("~/Content/Photos/{0}", picture), userName = userView.userName }; var db = new DemocracyContext(); db.Users.Add(user); try { db.SaveChanges(); var userASP = this.createASPUser(userView); await SignInManager.SignInAsync(userASP, isPersistent: false, rememberBrowser: false); return RedirectToAction("Index", "Home"); } catch (Exception ex) { if (ex.InnerException != null && ex.InnerException.InnerException != null && ex.InnerException.InnerException.Message.Contains("userNameIndex")) { ModelState.AddModelError(string.Empty,"The Email has already used for another User."); } else { ModelState.AddModelError(string.Empty, ex.Message); } return View(userView); } } // If we got this far, something failed, redisplay form return View(userView); }