public async Task <IActionResult> Register(ManagerRegisterViewModel manager)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            if (manager.SecretKey != "SecretKey123")
            {
                ModelState.AddModelError("key", "Neteisingas raktažodis");
                return(View());
            }

            bool res = await userService.CreateUser(((UserModel)manager).ToDomain(), manager.Password, "Manager", ModelState);

            if (!res)
            {
                return(View());
            }

            res = await userService.Login(manager.UserName, manager.Password);

            if (!res)
            {
                return(View());
            }

            return(RedirectToAction("Index", "User"));
        }
Beispiel #2
0
        public async Task <ActionResult> ManagerRegister(ManagerRegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                byte[] imageData = new byte[0];
                string mangrPwd  = "Manager@password1*";
                var    school    = db.Schools.ToList().Find(p => p.name == model.schoolname);
                if (school == null)
                {
                    ModelState.AddModelError("", model.schoolname + " is not registered with BlckBook!");
                    return(View(model));
                }
                var schl = db.Managers.ToList().Find(p => p.school == school);
                if (schl != null)
                {
                    ModelState.AddModelError("", "The Account Manager has already been registered for this school.");
                    var schoolList  = new List <SelectListItem>();
                    var schoolQuery = from e in db.Schools select e;
                    foreach (var m in schoolQuery)
                    {
                        schoolList.Add(new SelectListItem {
                            Value = (m.Id).ToString(), Text = m.name
                        });
                    }
                    ViewBag.schoollist = schoolList;
                    return(View(model));
                }
                school.name.Trim();
                int    space      = school.name.IndexOf(" ");
                string schoolname = school.name.Substring(0, space).ToLower();
                string email      = schoolname + "@school.ac.za";
                var    user       = new ApplicationUser {
                    UserName = email, Email = school.Email, userPhoto = imageData
                };
                var result = await UserManager.CreateAsync(user, mangrPwd);

                var manager = new Manager {
                    Id = user.Id, school = school
                };
                db.Managers.Add(manager);
                db.SaveChanges();
                if (result.Succeeded)
                {
                    await this.UserManager.AddToRoleAsync(user.Id, "Manager");

                    return(RedirectToAction("Index", "Managers"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
 public ManagerRegisterView()
 {
     InitializeComponent();
     DataContext = new ManagerRegisterViewModel(this);
 }