public PublicRegister GetUser(string id)
        {
            try
            {
                var            useist         = _ApplicationDbContext.Users.Where(m => m.Email == id).FirstOrDefault();
                PublicRegister publicRegister = new PublicRegister()
                {
                    Cell       = useist.Cell,
                    Email      = useist.Email,
                    FirstName  = useist.FirstName,
                    LastName   = useist.LastName,
                    SchoolCode = int.Parse(useist.SchoolCode),
                    SchoolName = useist.SchoolName
                };

                return(publicRegister);
            }
            catch (Exception ex) {
                var err = ex.InnerException;
                return(new PublicRegister());
            }
        }
Esempio n. 2
0
        public async Task <PublicRegisterReturn> RegisterPublic([FromBody] PublicRegister model)
        {
            PublicRegisterReturn returnData = new PublicRegisterReturn();

            try
            {
                var SchoolCode = _ApplicationDbContext.Schools.Where(m => m.SchoolId2 == model.SchoolCode).FirstOrDefault();
                if (SchoolCode == null)
                {
                    returnData.Valid           = false;
                    returnData.Error           = "School not found! Please enter a valid school code.";
                    returnData.ValidSchoolCode = false;
                    return(returnData);
                }

                var useist = _ApplicationDbContext.Users.Where(m => m.Email == model.Email).FirstOrDefault();
                if (useist != null)
                {
                    returnData.Valid           = false;
                    returnData.Error           = "Email already registered!";
                    returnData.ValidSchoolCode = true;
                    returnData.ValidEmail      = false;
                    return(returnData);
                }



                var user = new ApplicationUser()
                {
                    UserName = model.Email, LockoutEnabled = false, Cell = model.Cell, Email = model.Email, FirstName = model.FirstName, Terms = model.Terms, SchoolCode = model.SchoolCode.ToString(), SchoolName = model.SchoolName
                };
                Mapper.Map(model, user);
                user.LockoutEnabled = false;


                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    //await _signInManager.SignInAsync(user, false);
                    await _userManager.AddToRoleAsync(user, "Public");

                    //await _userManager.UpdateAsync(user);


                    ApplicationUser dbUser = _userManager.Users.FirstOrDefault(u => u.Email == model.Email);
                    dbUser.LockoutEnabled = false;
                    if (dbUser != null)
                    {
                        await _userManager.UpdateAsync(dbUser);
                    }


                    returnData.Valid           = true;
                    returnData.Error           = "";
                    returnData.ValidSchoolCode = true;
                    returnData.ValidEmail      = true;
                    return(returnData);
                }
                else
                {
                    returnData.Valid           = false;
                    returnData.Error           = "UNKNOWN_ERROR";
                    returnData.ValidSchoolCode = true;
                    returnData.ValidEmail      = true;
                    return(returnData);
                }
            }
            catch (Exception ex)
            {
                var error = ex.InnerException;
                return(new PublicRegisterReturn {
                    Error = "Error"
                });
            }
            throw new ApplicationException("UNKNOWN_ERROR");
        }