public ActionResult Register(VMRegister registInfo)
        {
            if (ModelState.IsValid)
            {
                int result = AccountService.RegisterUser(registInfo);
                switch (result)
                {
                case (int)RegisterType.Success:
                    ViewBag.LoggedIn            = true;
                    TempData["RegisterSuccess"] = true;
                    break;

                case (int)RegisterType.PasswordsDifferent:
                    ViewBag.ErrorMessage = "Passwords not equal";
                    break;

                case (int)RegisterType.UserExisting:
                    ViewBag.ErrorMessage = "User existing!";
                    break;

                case (int)RegisterType.Error:
                    ViewBag.ErrorMessage = "Error occured, please try again later!";
                    break;
                }
            }
            return(PartialView("_RegisterForm", registInfo));
        }
Exemplo n.º 2
0
        public async Task <JsonResult> Post(VMRegister vmRegister)
        {
            IdentityResult result       = new IdentityResult();
            string         errorMessage = "success";

            if (ModelState.IsValid)
            {
                var user = new IdentityUser
                {
                    UserName = vmRegister.EmailId,
                    Email    = vmRegister.EmailId
                };

                result = await userManager.CreateAsync(user, vmRegister.Password);

                if (result.Succeeded)
                {
                    //to Signin user
                    //signInManager.SignInAsync(user, isPersistent: false).Start();
                }
                else
                {
                    if (result.Errors.Count() > 0)
                    {
                        errorMessage = "";
                        foreach (var error in result.Errors)
                        {
                            errorMessage += error.Description;
                        }
                    }
                }
            }

            return(Json(new { id = "1", message = errorMessage }));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> CreateClient(VMRegister vm) // Gets users identity then creates a client
        {
            if (ModelState.IsValid)
            {
                UserIdentity user = new UserIdentity();
                string       name = HttpContext.User.Identity.Name;
                user = await userManager.FindByNameAsync(name);

                Client client = new Client
                {
                    FirstName    = vm.FirstName,
                    LastName     = vm.LastName,
                    CompanyName  = vm.CompanyName,
                    Street       = vm.Street,
                    City         = vm.City,
                    State        = vm.State,
                    Zipcode      = vm.Zipcode,
                    PhoneNumber  = vm.PhoneNumber,
                    UserIdentity = user,
                    Email        = user.Email
                };

                clientRepo.Create(client);
                return(RedirectToAction("UserPage", "User"));
            }
            else
            {
                return(View(vm));
            }
        }
Exemplo n.º 4
0
        public IActionResult Register(VMRegister collection)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var newuser = new Usuario()
                    {
                        UserName       = collection.UserName,
                        Name           = collection.Name,
                        LastName       = collection.LastName,
                        Gender         = collection.Genero,
                        Email          = collection.Email,
                        EmailConfirmed = true
                    };

                    _userManager.CreateAsync(newuser, collection.Password).Wait();

                    return(Redirect(nameof(Index)));
                }
                else
                {
                    return(View(collection));
                }
            }
            catch (Exception ex)
            {
                collection.StatusMessage = ex.Message;
                return(View(collection));
            }
        }
        public async Task <IActionResult> Register(VMRegister vm)//Creates a client not a user links to a user
        {
            if (ModelState.IsValid)
            {
                UserIdentity user = new UserIdentity();
                string       name = HttpContext.User.Identity.Name;
                user = await userManager.FindByNameAsync(name);

                Client client = new Client
                {
                    FirstName    = vm.FirstName,
                    LastName     = vm.LastName,
                    CompanyName  = vm.CompanyName,
                    Street       = vm.Street,
                    City         = vm.City,
                    State        = vm.State,
                    Zipcode      = vm.Zipcode,
                    PhoneNumber  = vm.PhoneNumber,
                    UserIdentity = user,
                    Email        = user.Email
                };

                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                return(View(vm));
            }
        }
Exemplo n.º 6
0
        //[Authorize]
        public ActionResult Register()
        {
            VMRegister vmRegister = new VMRegister {
                roles = _GetRoleList()
            };

            return(View(vmRegister));
        }
Exemplo n.º 7
0
        //giving options to combobox and connection to vmRegister
        public Register()
        {
            InitializeComponent();
            this.FamilyStatusCombobox.ItemsSource = Enum.GetValues(typeof(BE.status));
            VMRegister vm = new VMRegister();

            this.DataContext = vm;
        }
        public static int RegisterUser(VMRegister registerInfo)
        {
            if (registerInfo.Password != registerInfo.ConfirmPassword)
            {
                return((int)RegisterType.PasswordsDifferent);
            }
            int result = context.CreateUser(registerInfo);

            if (result == (int)RegisterType.Success)
            {
                LoginHelper.LoginUser(new VMLogin
                {
                    Email    = registerInfo.Email,
                    Password = registerInfo.Password
                });
                MailHelper.SendEmail(registerInfo.Email);
            }
            return(result);
        }
        public ActionResult Register(VMRegister VMRegister)
        {
            Customer customer = db.Customer.CheckBankAccount(VMRegister.Fullname, VMRegister.NRIC);

            if (customer == null)
            {
                ViewBag.ErrorMessage  = "Bank Account not yet registered !";
                ViewBag.ErrorMessage2 = "Please visit nearest Maybank branch to register a bank account.";

                return(View());
            }
            else if (customer.Username != null && customer.Password != null)
            {
                ViewBag.ErrorMessage  = "Online account already registered !";
                ViewBag.ErrorMessage2 = "Please proceed to login.";
            }

            if (db.Customer.CheckRegisteredAccount(VMRegister.Username, VMRegister.Password))
            {
                ViewBag.ErrorMessage  = "Online account already registered !";
                ViewBag.ErrorMessage2 = "Please proceed to login.";
            }

            response = GlobalVariable.WebApiClient.GetAsync(string.Concat(controller, $"/{customer.ID}")).Result;
            Customer customerUpdate = response.Content.ReadAsAsync <Customer>().Result;

            customerUpdate.Username = VMRegister.Username;
            customerUpdate.Password = VMRegister.Password;
            response = GlobalVariable.WebApiClient.PutAsJsonAsync(string.Concat(controller, $"/{customerUpdate.ID}"), customerUpdate).Result;

            if (response.IsSuccessStatusCode == true)
            {
                Session["RegisterMsg"] = "Register Successful ! Please proceed to login.";
            }
            else
            {
                Session["RegisterMsg"] = "Register Unsuccessful ! Please try again later.";
            }


            return(RedirectToAction("Index", "Logins"));
        }
Exemplo n.º 10
0
        /// Per default ADMIN ROLE will be signed to the user where
        /// EMAIL="*****@*****.**"
        /// TODO: Think about a better solution...

        public int CreateUser(VMRegister registerInfo)
        {
            int    result         = (int)RegisterType.Error;
            string hashedSaltedPw = "";
            string salt           = "";

            using (var db = new LocalDbEntities2())
            {
                User dbUser = db.User.Where(u => u.email == registerInfo.Email).FirstOrDefault();
                if (dbUser == null)
                {
                    hashedSaltedPw = HashingHelper.SaltAndHashPassword(registerInfo.Password, out salt);
                    int userRole = (int)UserRoles.User;

                    if (registerInfo.Email == "*****@*****.**")
                    {
                        userRole = (int)UserRoles.Admin;
                    }
                    dbUser = new User
                    {
                        salt      = salt,
                        password  = hashedSaltedPw,
                        email     = registerInfo.Email,
                        lastname  = registerInfo.LastName,
                        firstname = registerInfo.FirstName,
                        role      = userRole,
                        active    = true,
                        status    = (int)UserState.NotVerified,
                        created   = DateTime.Now
                    };
                    db.User.Add(dbUser);
                    db.SaveChanges();
                    result = (int)RegisterType.Success;
                }
                else
                {
                    result = (int)RegisterType.UserExisting;
                }
            }
            return(result);
        }
Exemplo n.º 11
0
 public IActionResult Register([FromForm] VMRegister obj)
 {
     try
     {
         if (!_dbAccess.IsUserExists(obj.txtUName))
         {
             if (Session["CAPTCHA_CODE"].ToString().ToUpper().Equals(obj.txtVeriCode.Trim().ToUpper()))
             {
                 if (_dbAccess.RegisterUser(obj))
                 {
                     var dt = _dbAccess.SpUserLogin(new VMLogin()
                     {
                         txtLoginId = obj.txtUName, txtLoginPass = obj.txtRePass
                     });
                     Session["UserInfo"] = dt;
                     Session["IsAdmin"]  = null;
                     return(RedirectToAction("Index"));
                 }
                 else
                 {
                     throw new Exception("Some errors occurs, failed to register the user !");
                 }
             }
             else
             {
                 TempData["Msg"] = "Verification code not macthed !";
                 return(RedirectToAction("Register"));
             }
         }
         else
         {
             TempData["Msg"] = "Sorry, this username is already taken !";
             return(RedirectToAction("Register"));
         }
     }
     catch (Exception ex)
     {
         TempData["Msg"] = "Error. ## " + ex.Message;
         return(RedirectToAction("Register"));
     }
 }
Exemplo n.º 12
0
        public IHttpActionResult Register([FromBody] VMRegister model)
        {
            if (GetUserOfAuthToken() != null)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }

            if (_dbUsers.FindByEmail(model.Email) != null)
            {
                return(StatusCode((HttpStatusCode)550));
            }

            if (_dbUsers.FindByPhone(model.Phone) != null)
            {
                return(StatusCode((HttpStatusCode)551));
            }

            if (_dbUsers.FindByUsername(model.Username) != null)
            {
                return(StatusCode((HttpStatusCode)552));
            }


            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            string salt = PasswordGenerator.GenerateSalt();
            Users  user = new Users {
                FirstName      = model.FirstName,
                LastName       = model.LastName,
                ProfilePhoto   = null,
                Username       = model.Username,
                Email          = model.Email,
                Phone          = model.Phone,
                PasswordSalt   = salt,
                PasswordHash   = PasswordGenerator.GenerateHash(model.Password, salt),
                Gender         = model.Gender,
                Active         = false,
                ActivationCode = PasswordGenerator.GenerateRandomAlphanumericStringWithoutSpecialChar(10),
                CreatedDate    = DateTime.Now
            };

            if (!_dbUsers.Add(user))
            {
                return(StatusCode((HttpStatusCode)554));
            }

            UserRoles role = new UserRoles {
                UserID = user.UserID, RoleID = Convert.ToInt32(Enumerations.Roles.User)
            };

            if (!_dbUserRoles.Add(role))
            {
                _dbUsers.Remove(user);

                return(StatusCode((HttpStatusCode)554));
            }

            string body = string.Format(Resource.EmailMsgRegistration, user.FirstName, DateTime.Now.ToString(Resource.DateFormat) + " " + Resource.AtTime + " " + DateTime.Now.TimeOfDay.ToString(@"hh\:mm") + " h",
                                        Resource.ProjectName, user.ActivationCode);

            try {
                MailHelper.Send(Resource.EmailTitleRegistration, body, ConfigurationManager.AppSettings["noReplyMail"], user.Email);
                return(Ok());
            }
            catch (Exception ex) {
                _dbUserRoles.Remove(role);
                _dbUsers.Remove(user);

                return(StatusCode((HttpStatusCode)555));
            }
        }
Exemplo n.º 13
0
        public async Task <ActionResult> Register(VMRegister model)
        {
            string errorMsg = "";

            if (ModelState.IsValid)
            {
                //db = new EasyContext();
                this.store       = new UserStore <ApplicationUser>(db);
                this.UserManager = new UserManager <ApplicationUser>(this.store);

                this.UserManager.UserValidator = new UserValidator <ApplicationUser>(UserManager)
                {
                    AllowOnlyAlphanumericUserNames = false
                };

                //check for username that already exist

                var re = from u in db.Users
                         where u.UserName == model.UserName
                         select u.Id;

                if (re.Count() > 0)
                {
                    // already exist
                    message.custom(this, "This username already exist. Please choose a new one.");


                    model.roles = _GetRoleList();
                    return(View(model));
                }
                var user = model.GetUser();



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

                if (result.Succeeded)
                {
                    var idManager = new IdentityManager(store);

                    try
                    {
                        List <string> rolesList = ((ClaimsIdentity)System.Web.HttpContext.Current.User.Identity).Claims.Where(c => c.Type == ClaimTypes.Role).Select(r => r.Value).ToList();

                        idManager.ClearUserRoles(user.Id, rolesList);
                    }
                    catch
                    {
                        message.custom(this, "Problem occure while creating user role!");
                        RedirectToAction("Login");
                    }

                    var isSuccess = UserManager.AddToRole(user.Id, model.RoleName);
                    if (isSuccess.Succeeded)
                    {
                        ApplicationUser userDetails = (from u in db.Users where u.Id == user.Id select u).FirstOrDefault(); //_userService.GetUser(user.Id);
                        //userDetails.PlainPassword = model.Password;
                        //userDetails.Sha1Password = HashingUtility.GetSha1HashString(model.Password);
                        //userDetails.Md5Password = HashingUtility.GetMD5HashString(model.Password);
                        userDetails.EmployeeId = model.EmployeeId;
                        //userDetails.IsLocalPermitedUser = model.IsLocalPermitedUser;
                        db.SaveChanges();
                        //_userService.SaveUser();


                        message.success(this, "Registered successfully");



                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        message.custom(this, "Problem has occured while creating user role!");
                        return(RedirectToAction("Index"));
                    }
                }

                else
                {
                    if (result.Errors != null)
                    {
                        foreach (var item in result.Errors)
                        {
                            errorMsg = errorMsg + "<br> " + item;
                        }
                    }
                }
            }
            message.custom(this, "Registration not complete due to some problem!" + "<br> " + errorMsg);
            model.roles = _GetRoleList();
            return(View(model));
        }
Exemplo n.º 14
0
 public cmdAddUser(VMRegister vm)
 {
     rVm = vm;
 }