public ActionResult CreateSingle(ApplicationUser model) { // ToDo: // - Was wenn der User schon Alumni ist? ApplicationUser user = _db.Users.SingleOrDefault(u => u.FirstName.ToUpper().Equals(model.FirstName.ToUpper()) && u.LastName.ToUpper().Equals(model.LastName.ToUpper()) && u.Email.ToUpper().Equals(model.Email.ToUpper()) ); AlumniFeedbackViewModel ret = new AlumniFeedbackViewModel(); if (user != null) { _db.SaveChanges(); ret.success.Add(user); } else { ret.error.Add(model); // Nach Vorschlägen suchen ret.suggestion = _db.Users.Where(u => u.FirstName.ToUpper().Contains(model.FirstName.ToUpper()) || u.LastName.ToUpper().Contains(model.LastName.ToUpper()) || u.Email.ToUpper().Contains(model.Email.ToUpper())).ToList(); } return(PartialView("_AlumniFeedback", ret)); }
public ActionResult CreateMulti(AlumniCreateFromFileModel model) { HttpPostedFileBase File = model.File; AlumniFeedbackViewModel ret = new AlumniFeedbackViewModel(); if (File != null && File.ContentLength > 0) { var path = Path.GetFullPath(File.FileName); List <string> lines = new List <string>(); using (StreamReader sr = new StreamReader(path, System.Text.Encoding.Default)) { string line; while ((line = sr.ReadLine()) != null) { lines.Add(line); } } foreach (string line in lines) { string[] data = line.Split(';'); ApplicationUser user = new ApplicationUser() { LastName = data[0], FirstName = data[1], Email = data[2] }; ApplicationUser match = _db.Users.SingleOrDefault(u => u.FirstName.ToUpper().Equals(user.FirstName.ToUpper()) && u.LastName.ToUpper().Equals(user.LastName.ToUpper()) && u.Email.ToUpper().Equals(user.Email.ToUpper()) ); if (match != null) { _db.SaveChanges(); ret.success.Add(user); } else { // Suche nach Alternativen List <ApplicationUser> suggest = _db.Users.Where(u => u.FirstName.ToUpper().Contains(user.FirstName.ToUpper()) || u.LastName.ToUpper().Contains(user.LastName.ToUpper()) || u.Email.ToUpper().Contains(user.Email.ToUpper()) ).ToList(); ret.suggestion.AddRange(suggest); ret.error.Add(user); } } } return(PartialView("_AlumniFeedbackiFrame", ret)); }