Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }