示例#1
0
        private ApplicationUser CreateASPUser(RegisterUserView userView)
        {
            //User management
            var userContext = new ApplicationDbContext();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(userContext));

            //Create User role
            string roleName = "User";

            //verificar si existe, si no existe lo creamos
            if (!roleManager.RoleExists(roleName))
            {
                roleManager.Create(new IdentityRole(roleName));
            }

            //Creamos ASP USER
            var userASP = new ApplicationUser
            {
                UserName    = userView.UserName,
                Email       = userView.UserName,
                PhoneNumber = userView.Phone
            };
            string password = userASP.UserName;

            userManager.Create(userASP, userView.Password);

            //Agregamos Rol al usuario
            userASP = userManager.FindByName(userView.UserName);
            userManager.AddToRole(userASP.Id, "User");

            return(userASP);
        }
示例#2
0
 public void Register(RegisterUserView user)
 {
     using (var db = new sdirecttestdbEntities1())
     {
         db.spRegisterUser_Sk(
             user.FirstName,
             user.MiddleName,
             user.LastName,
             user.Email,
             user.Password,
             this.ImageToByteArray(user.Image),
             user.Mobile,
             user.CityName1,
             user.Pincode1,
             user.Type1,
             user.Address1,
             user.Type2,
             user.CityName2,
             user.Pincode2,
             user.Address2,
             user.IsSeller,
             user.BusinessType,
             user.BankName,
             user.AccountNumber
             );
         db.SaveChanges();
     }
 }
示例#3
0
        public IHttpActionResult PostUser(RegisterUserView userView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new User
            {
                Address   = userView.Address,
                FirstName = userView.FirstName,
                Grade     = userView.Grade,
                Group     = userView.Group,
                lastName  = userView.lastName,
                Phone     = userView.Phone,
                UserName  = userView.UserName,
            };

            db.Users.Add(user);
            db.SaveChanges();

            Utilities.CreateASPuser(userView);


            return(CreatedAtRoute("DefaultApi", new { id = user.UserId }, user));
        }
示例#4
0
        public IActionResult Register(RegisterUserView model)
        {
            if (ModelState.IsValid)
            {
                User NewUser = new User {
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    Email     = model.Email,
                };

                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                NewUser.Password = Hasher.HashPassword(NewUser, model.Password);

                _context.Users.Add(NewUser);
                _context.SaveChanges();

                User CurrentUser = _context.Users.SingleOrDefault(user => user.Email == model.Email);
                HttpContext.Session.SetString("CurrentUserFirstName", CurrentUser.FirstName);
                HttpContext.Session.SetInt32("CurrentUserId", CurrentUser.id);
                ViewBag.CurrentUserFirstName = CurrentUser.FirstName;



                return(RedirectToAction("Dashboard", "ShoppingList"));
            }
            else
            {
                return(View(model));
            }
        }
        private ApplicationUser CreateASPUser(RegisterUserView userView)
        {
            // Gerer Utilisateur
            var userContext = new ApplicationDbContext();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(userContext));

            // Créer le rôle de l'utilisateur
            string roleName = "Citoyen";

            // On vérifie si le rôle existe, sinon on le crée
            if (!roleManager.RoleExists(roleName))
            {
                roleManager.Create(new IdentityRole(roleName));
            }

            // Créer l'utilisateur ASP NET
            var userASP = new ApplicationUser
            {
                UserName = userView.Email,
                Email    = userView.Email
            };

            userManager.Create(userASP, userView.Password);

            // Ajoute le rôle de l'utilisateur
            userASP = userManager.FindByName(userView.Email);
            userManager.AddToRole(userASP.Id, "Citoyen");
            return(userASP);
        }
示例#6
0
        private ApplicationUser CreateASPUser(RegisterUserView userView)
        {
            // User management
            var userContext = new ApplicationDbContext();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(userContext));

            // Create User role
            string roleName = "User";

            // Check to see if Role Exists, if not create it
            if (!roleManager.RoleExists(roleName))
            {
                roleManager.Create(new IdentityRole(roleName));
            }

            // Create the ASP NET User
            var userASP = new ApplicationUser
            {
                UserName    = userView.UserName,
                Email       = userView.UserName,
                PhoneNumber = userView.Phone,
            };

            userManager.Create(userASP, userView.Password);

            // Add user to role
            userASP = userManager.FindByName(userView.UserName);
            userManager.AddToRole(userASP.Id, "User");
            return(userASP);
        }
        private ApplicationUser CreateSAPUser(RegisterUserView userView)
        {
            // user managment
            var userContext = new ApplicationDbContext();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(userContext));

            // create role
            string roleName = "User";

            // Check if the roleName already exists
            if (!roleManager.RoleExists(roleName))
            {
                roleManager.Create(new IdentityRole(roleName));
            }

            // create de ASP Net User
            var userASP = new ApplicationUser
            {
                UserName    = userView.userName,
                PhoneNumber = userView.phone,
                Email       = userView.userName,
            };

            userManager.Create(userASP, userView.Password);

            // add user to role
            userASP = userManager.FindByName(userView.userName);
            userManager.AddToRole(userASP.Id, "User");
            return(userASP);
        }
        public async Task <IActionResult> Register(RegisterUserView model)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser User = new ApplicationUser()
                {
                    Avatar      = UploadedFile(model.IFormFilePath),
                    Name        = model.FullName,
                    PhoneNumber = model.PhoneNumber,
                    Email       = model.Email,
                    UserName    = model.Email,
                };
                var result = await _userManager.CreateAsync(User, model.Password);

                await _context.SaveChangesAsync();

                if (result.Succeeded)
                {
                    await _signInManager.SignInAsync(User, false);

                    return(RedirectToAction("Index", "Account"));
                }
                else
                {
                    foreach (var item in result.Errors)
                    {
                        ModelState.AddModelError("", item.Description);
                    }
                }
            }
            return(View());
        }
        public virtual async Task <IActionResult> Register([FromBody] RegisterUserView request)
        {
            var mappedRequest = Mapper.Map <Register>(request);

            var query = await _userService.Register(mappedRequest);

            return(Ok(query));
        }
示例#10
0
        public async Task <ActionResult> Register(RegisterUserView userView)
        {
            if (ModelState.IsValid)
            {
                var pic = string.Empty;
                Utilities.UploadPhoto(userView.Photo, out pic);

                //Save record
                var user = new User
                {
                    Address   = userView.Address,
                    FirstName = userView.FirstName,
                    LastName  = userView.LastName,
                    Grade     = userView.Grade,
                    Group     = userView.Group,
                    Phone     = userView.Phone,
                    Photo     = pic == string.Empty ? string.Empty : string.Format("~/Content/Photos/{0}", pic),
                    UserName  = userView.UserName
                };

                var db = new DemocracyContext();

                try
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                    var userASP = this.CreateASPUser(userView);
                    await SignInManager.SignInAsync(userASP, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null &&
                        ex.InnerException.InnerException != null &&
                        ex.InnerException.InnerException.Message.Contains("EmailIndex"))
                    {
                        ModelState.AddModelError(
                            string.Empty,
                            "The email has already used for another user");
                    }
                    else
                    {
                        ModelState.AddModelError(
                            string.Empty,
                            ex.Message);
                    }
                    return(View(userView));
                }
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return(View(userView));
        }
        public async Task <ActionResult> Register(RegisterUserView userView)
        {
            if (ModelState.IsValid)
            {
                var pic = string.Empty;

                if (userView.photo != null)
                {
                    Utilities.UploadPhoto(userView.photo);
                    pic = Path.GetFileName(userView.photo.FileName);
                }

                // create user
                var user = new User
                {
                    userId    = userView.userId,
                    userName  = userView.userName,
                    firtsName = userView.firtsName,
                    lastName  = userView.lastName,
                    phone     = userView.phone,
                    address   = userView.address,
                    grade     = userView.grade,
                    group     = userView.group,
                    photo     = string.IsNullOrEmpty(pic) ? string.Empty : string.Format("/Content/Photos/{0}", pic),
                };

                // save record
                db.Users.Add(user);
                try
                {
                    db.SaveChanges();
                    var userASP = this.CreateSAPUser(userView);
                    await SignInManager.SignInAsync(userASP, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null &&
                        ex.InnerException.InnerException != null &&
                        ex.InnerException.InnerException.Message.Contains("UsernameIndex"))
                    {
                        ViewBag.Error = "The email has been register";
                    }
                    else
                    {
                        ViewBag.Error = ex.Message;
                    }
                    return(View(userView));
                }
            }
            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return(View(userView));
        }
        public void Index_AskForDefaultPage_GetViewResult()
        {
            var controller = new sexivirt.Web.Areas.Default.Controllers.UserController();

            var registerUserView = new RegisterUserView()
            {
                ID              = 0,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
            };
        }
示例#13
0
 public IHttpActionResult RegisterNewUser(RegisterUserView user)
 {
     if (ModelState.IsValid)
     {
         if (DAL_iGenererate.VerifyOtp(user.Email, user.OTP))
         {
             BAL_iRegisterUser.Register(user);
             return(Content(HttpStatusCode.OK, "Thank You! Please Login from HomePage."));
         }
     }
     return(Content(HttpStatusCode.BadRequest, "Invalid OTP"));
 }
示例#14
0
        public void Validate_EmailIsNotCorrect_Fail()
        {
            var registerUserView = new RegisterUserView()
            {
                ID              = 0,
                Email           = "chernikov",
                Password        = "******",
                ConfirmPassword = "******",
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
        }
示例#15
0
        public void Validate_ConfirmPasswordIsEmpty_Fail()
        {
            var registerUserView = new RegisterUserView()
            {
                ID              = 0,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "",
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
        }
示例#16
0
        public void Validate_EmailIsAlreadyExists_Fail()
        {
            var registerUserView = new RegisterUserView()
            {
                ID              = 0,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
        }
        public void Validate_ConfirmPasswordDoesNotMatch_Fail()
        {
            var registerUserView = new RegisterUserView()
            {
                ID              = 0,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                Captcha         = "1111"
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
        }
示例#18
0
        public void Validate_EmailIsAlreadyExistsButCanEdit_PassValidate()
        {
            var registerUserView = new RegisterUserView()
            {
                ID              = 2,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
            Assert.IsNotNull(registerUserView);
        }
示例#19
0
        public void Validate_EmailIsEmpty_Fail()
        {
            var registerUserView = new RegisterUserView()
            {
                ID = 0,

                Email           = string.Empty,
                Password        = "******",
                ConfirmPassword = "******",
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
        }
示例#20
0
        private ApplicationUser createASPUser(RegisterUserView userView)
        {
            //User management:
            var userContext = new ApplicationDbContext();
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(userContext));
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(userContext));

            //Create User Role:
            string roleName  = "User";
            string adminRole = "admin";

            //Check to see if Role Exist, if not create it:
            if (!roleManager.RoleExists(roleName))
            {
                roleManager.Create(new IdentityRole(roleName));
            }

            //Check to see if Role Exist, if not create it:
            if (!roleManager.RoleExists(adminRole))
            {
                roleManager.Create(new IdentityRole(adminRole));
            }

            //Create the ASP NET User:
            var userASP = new ApplicationUser
            {
                UserName = userView.userName,
                Email    = userView.userName,
            };

            userManager.Create(userASP, userView.Password);

            //Add user to role:
            userASP = userManager.FindByName(userView.userName);

            if (!userView.userName.Equals("*****@*****.**") && !userView.Password.Equals("adminadmin"))
            {
                userManager.AddToRole(userASP.Id, "User");
            }
            else
            {
                userManager.AddToRole(userASP.Id, "admin");
            }

            return(userASP);
        }
示例#21
0
        public async Task <HttpResponseMessage> RegisterUser(RegisterUserView request)
        {
            var responseView = new ResponseView();

            if (request == null || !ModelState.IsValid)
            {
                responseView.Success = false;
                responseView.Errors  = Errors;
                return(Request.CreateResponse(HttpStatusCode.OK, responseView));
            }

            var response = await _userService.RegisterUser(request.FirstName, request.LastName, request.EmailAddress, request.Password);

            responseView.Success = response.Success;
            responseView.Errors  = response.Errors;
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
示例#22
0
        public async Task <ActionResult> Register(RegisterUserView userView)
        {
            if (ModelState.IsValid)
            {
                //Upload Image:
                string path    = string.Empty;
                string picture = string.Empty;

                if (userView.Photo != null)
                {
                    picture = Path.GetFileName(userView.Photo.FileName);
                    path    = Path.Combine(Server.MapPath("~/Content/Photos"), picture);
                    userView.Photo.SaveAs(path);

                    using (MemoryStream ms = new MemoryStream())
                    {
                        userView.Photo.InputStream.CopyTo(ms);
                        byte[] array = ms.GetBuffer();
                    }
                }

                var userASP = createASPUser(userView);

                //Save record:
                var user = new User
                {
                    Id         = userASP.Id,
                    Address    = userView.Address,
                    FirstName  = userView.FirstName,
                    MiddleName = userView.MiddleName,
                    LastName   = userView.LastName,
                    Username   = userView.userName
                };
                var context = new BankSystemDbContext();
                context.Users.Add(user);
                context.SaveChanges();

                await SignInManager.SignInAsync(userASP, isPersistent : false, rememberBrowser : false);

                return(RedirectToAction("Index", "Home"));
            }

            // If we got this far, something failed, redisplay form
            return(View(userView));
        }
示例#23
0
        public async Task <IActionResult> Register([FromBody] RegisterUserView model)
        {
            var user = new AppUser
            {
                UserName = model.UserName,
                //PasswordHash = model.Password,
                Email = model.Email
            };
            var result = await userManager.CreateAsync(user, model.Password);

            if (result.Succeeded)
            {
                return(Json("ok"));
            }
            else
            {
                return(Json(result.Errors));
            }
        }
示例#24
0
        public ActionResult Register(RegisterUserView registerUserView)
        {
            if (Session[CaptchaImage.CaptchaValueKey] as string != registerUserView.Captcha)
            {
                ModelState.AddModelError("Captcha", "Numbers not correct");
            }
            if (ModelState.IsValid)
            {
                var user = (User)ModelMapper.Map(registerUserView, typeof(RegisterUserView), typeof(User));
                Repository.CreateUser(user);

                NotifyMail.SendNotify("Register", user.Email,
                                      format => string.Format(format, HostName),
                                      format => string.Format(format, user.ActivatedLink, HostName));

                return(View("RegisterSuccess", user));
            }
            return(View(registerUserView));
        }
示例#25
0
        public ActionResult SignUp(RegisterUserView model)
        {
            var file = model.File;

            string fileName = Path.GetFileName(file.FileName);
            //створення правильного посилання
            var    finalName = Guid.NewGuid() + file.ContentType.Replace('/', '.');
            string link      = Server.MapPath(PathsToContent.UsersPhoto + finalName);

            file.SaveAs(link);

            var finalModel = model.RegisterModel;

            finalModel.ImageLink = PathsToContent.UsersPhoto + finalName;
            if (accountLogic.Register(finalModel))
            {
                return(RedirectToAction("UserPage", "Account"));
            }
            return(View());
        }
        public void Register_CaptchaIsInCorrect_Fail()
        {
            var httpContext = new MockHttpContext().Object;
            var controller  = DependencyResolver.Current.GetService <Web.Areas.Default.Controllers.UserController>();
            var route       = new RouteData();

            route.Values.Add("controller", "User");
            route.Values.Add("action", "Register");
            route.Values.Add("area", "Default");

            ControllerContext context = new ControllerContext(new RequestContext(httpContext, route), controller);

            controller.ControllerContext = context;

            controller.Session.Add(CaptchaImage.CaptchaValueKey, "1112");
            var registerUserView = new RegisterUserView()
            {
                ID = 0,
            };

            controller.Register(registerUserView);
        }
        public void CreateUser_CreateNormalUser_CountPlusOne()
        {
            var repository = DependencyResolver.Current.GetService <IRepository>();

            var controller = DependencyResolver.Current.GetService <webTemplate.Web.Areas.Default.Controllers.UserController>();

            var countBefore = repository.Users.Count();
            var httpContext = new MockHttpContext().Object;

            var route = new RouteData();

            route.Values.Add("controller", "User");
            route.Values.Add("action", "Register");
            route.Values.Add("area", "Default");

            ControllerContext context = new ControllerContext(new RequestContext(httpContext, route), controller);

            controller.ControllerContext = context;

            controller.Session.Add(CaptchaImage.CaptchaValueKey, "1111");

            var registerUserView = new RegisterUserView()
            {
                ID              = 0,
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******",
                Captcha         = "1111",
            };

            Validator.ValidateObject <RegisterUserView>(registerUserView);
            controller.Register(registerUserView);

            var countAfter = repository.Users.Count();

            Assert.AreEqual(countBefore + 1, countAfter);
        }
示例#28
0
        public async Task <IActionResult> Register(RegisterUserView registerUser)
        {
            if (ModelState.IsValid)
            {
                var user = new IdentityUser {
                    UserName = registerUser.UserName, Email = registerUser.Email
                };
                var result = await userManager.CreateAsync(user, registerUser.Password);

                if (result.Succeeded)
                {
                    await signInManager.SignInAsync(user, isPersistent : false);

                    return(RedirectToAction("Dashboard", "Home"));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }

            return(View(registerUser));
        }
示例#29
0
        public async Task <ActionResult> Register(RegisterUserView userView)
        {
            if (ModelState.IsValid)
            {
                // Upload image

                //Utilities.UploadPhoto(userView.Photo);
                //var pic = Path.GetFileName(userView.Photo.FileName);

                // Upload image
                //Se declaran dos varias string

                string path = string.Empty;
                string pic  = string.Empty;

                if (userView.Photo != null)
                {
                    pic  = Path.GetFileName(userView.Photo.FileName);
                    path = Path.Combine(Server.MapPath("~/content/Photos"), pic);
                    userView.Photo.SaveAs(path);
                    using (MemoryStream ms = new MemoryStream())
                    {
                        userView.Photo.InputStream.CopyTo(ms);
                        byte[] array = ms.GetBuffer();
                    }
                }
                //Save record
                //Aqui se debe transformar el userView por el user nuevamente

                var user = new User
                {
                    Address   = userView.Address,
                    FirstName = userView.FirstName,
                    Grade     = userView.Grade,
                    Group     = userView.Group,
                    LastName  = userView.LastName,
                    Phone     = userView.Phone,
                    Photo     = string.IsNullOrEmpty(pic) ? string.Empty : string.Format("~/Content/Photos/{0}", pic),
                    UserName  = userView.UserName,
                };

                var db = new DemocracyContext();
                db.Users.Add(user);

                try
                {
                    db.SaveChanges();
                    var userASP = this.CreateASPUser(userView);
                    await SignInManager.SignInAsync(userASP, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    if (ex.InnerException != null && ex.InnerException.InnerException != null &&
                        ex.InnerException.InnerException.Message.Contains("UserNameIndex"))
                    {
                        ModelState.AddModelError(string.Empty,
                                                 "The E-Mail has been already used for another user");
                    }
                    else
                    {
                        ViewBag.Error = ex.Message;
                    }
                    return(View(userView));
                }
            }
            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            return(View(userView));
        }
示例#30
0
        public async Task <ActionResult> Register(RegisterUserView userView)
        {
            if (ModelState.IsValid)
            {
                //Upload Image

                string path = string.Empty;
                string pic  = string.Empty;

                if (userView.Photo != null)
                {
                    pic  = Path.GetFileName(userView.Photo.FileName);
                    path = Path.Combine(Server.MapPath("~/Content/Photos"), pic);
                    userView.Photo.SaveAs(path);

                    using (var ms = new MemoryStream())
                    {
                        userView.Photo.InputStream.CopyTo(ms);
                        byte[] array = ms.GetBuffer();
                    }
                }
                //Save record

                var user = new User()
                {
                    Address   = userView.Address,
                    FirstName = userView.FirstName,
                    Grade     = userView.Grade,
                    Group     = userView.Group,
                    LastName  = userView.LastName,
                    Phone     = userView.Phone,
                    UserName  = userView.UserName,
                    Photo     = pic == string.Empty ? string.Empty : string.Format("~/Content/Photos/{0}", pic)
                };

                var db = new DemocracyContext();
                db.Users.Add(user);

                try
                {
                    db.SaveChanges();
                    var userASP = CreateASPUser(userView);
                    await SignInManager.SignInAsync(userASP, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception ex)
                {
                    if ((ex.InnerException != null) &&
                        (ex.InnerException.InnerException != null) &&
                        (ex.InnerException.InnerException.Message.Contains("UserNameIndex")))
                    {
                        ViewBag.Error = "The email has already use by another user";
                    }
                    else
                    {
                        ViewBag.Error = ex.Message;
                    }
                    return(View(userView));
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(userView));
        }