public JsonResult SaveData(SiteUserViewModel objSiteUserViewModel)
        {
            SiteUserRepository objSiteUserRepository = new SiteUserRepository();

            objSiteUserRepository.AddUser(objSiteUserViewModel);

            return(Json("Registration has been Successfully Completed", JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult <SiteUserViewModel> > Post([FromBody] SiteUserViewModel userViewModel)
        {
            // E' necessario assegnare un ID al nuovo utente. L'ID è un GUID (https://it.wikipedia.org/wiki/GUID).
            userViewModel.Id = Guid.NewGuid().ToString();

            // Converto il tipo da SiteUserViewModel a SiteUser.
            var user = _mapper.Map <SiteUserViewModel, SiteUser>(userViewModel);

            await TryAsync(() => _userManager.CreateAsync(user));
            await AssignRolesAsync(user, userViewModel.Roles);

            return(userViewModel);
        }
        public async Task <IActionResult> Login(SiteUserViewModel siteUser)
        {
            if (!_authenticationService.LogginSuccess(new SiteUser(siteUser.UserName, siteUser.Password)))
            {
                return(RedirectToAction("Index"));
            }

            ViewData["IsAuthenticated"] = true;

            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Name, siteUser.UserName),
                new Claim(ClaimTypes.Role, "Administrator")
            };

            var claimsIdentity = new ClaimsIdentity(
                claims, CookieAuthenticationDefaults.AuthenticationScheme);

            var authProperties = new AuthenticationProperties
            {
                //AllowRefresh = <bool>,
                // Refreshing the authentication session should be allowed.

                //ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(10),
                // The time at which the authentication ticket expires. A
                // value set here overrides the ExpireTimeSpan option of
                // CookieAuthenticationOptions set with AddCookie.

                //IsPersistent = true,
                // Whether the authentication session is persisted across
                // multiple requests. When used with cookies, controls
                // whether the cookie's lifetime is absolute (matching the
                // lifetime of the authentication ticket) or session-based.

                //IssuedUtc = <DateTimeOffset>,
                // The time at which the authentication ticket was issued.

                //RedirectUri = <string>
                // The full path or absolute URI to be used as an http
                // redirect response value.
            };

            await HttpContext.SignInAsync(
                CookieAuthenticationDefaults.AuthenticationScheme,
                new ClaimsPrincipal(claimsIdentity),
                authProperties);



            return(RedirectToAction("Index", "Home"));
        }
Exemple #4
0
        public async Task <ActionResult> Create(SiteUserViewModel model)
        {
            string message = "";

            SetRoleDropdown();
            try
            {
                if (ModelState.IsValid)
                {
                    var user = new ApplicationUser()
                    {
                        UserName = model.UserName
                    };
                    var result = await _userManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        message += "User Create successful.<br/> ";
                        var r = _userManager.AddToRole(user.Id, model.Role);

                        if (r.Succeeded)
                        {
                            message += "Role added<br/> ";
                        }
                        else
                        {
                            message        += "Role add failed <br/> ";
                            ViewBag.Message = message;
                            return(View());
                        }
                    }
                    else
                    {
                        message += "User Create failed.<br/> ";
                        result.Errors.ToList().ForEach(x => message += x);
                        ViewBag.Message = message;
                        return(View());
                    }

                    ViewBag.Message = message;
                    return(View(new SiteUserViewModel()));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Message = "Error occured. " + ex.Message;
                return(View());
            }

            return(View(model));
        }
        public async Task <ActionResult <SiteUserViewModel> > Put(string id, [FromBody] SiteUserViewModel userViewModel)
        {
            var user = await _userManager.FindByIdAsync(id);

            if (user == null)
            {
                return(NotFound());
            }

            user = _mapper.Map(userViewModel, user);

            await TryAsync(() => _userManager.UpdateAsync(user));
            await AssignRolesAsync(user, userViewModel.Roles);

            return(userViewModel);
        }
    public ActionResult Index()
    {
        var model = new SiteUserViewModel();
        //Replace this with logic that reads cities from the database
        var city1 = new SelectListItem {
            Text = "Johannesburg", Value = "1"
        };
        var city2 = new SelectListItem {
            Text = "Cape Town", Value = "2"
        };

        model.Cities = new List <SelectListItem> {
            city1, city2
        };
        return(View(model));
    }
        public bool AddUser(SiteUserViewModel objSiteUserViewModel)
        {
            objSiteUserViewModel.IsValid = false;

            SiteUser objSiteUser = new SiteUser();

            /*objSiteUser.ID = objSiteUserViewModel.ID;*/
            objSiteUser.Username = objSiteUserViewModel.Username;
            objSiteUser.Email    = objSiteUserViewModel.Email;
            objSiteUser.Password = objSiteUserViewModel.Password;
            objSiteUser.IsValid  = objSiteUserViewModel.IsValid;

            db.SiteUsers.Add(objSiteUser);
            db.SaveChanges();

            BuildEmailTemplate(objSiteUser.ID);

            return(true);
        }
Exemple #8
0
        public async Task <IActionResult> RegisterUser(SiteUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var siteUserModel = new SiteUserModel {
                        Email           = model.Email,
                        FirstName       = model.FirstName,
                        IsDoctor        = true,
                        LastName        = model.LastName,
                        Password        = model.Password,
                        SiteUserId      = model.SiteUserId,
                        UserId          = user.Id,
                        SiteUserLevelId = 1
                    };

                    var registerUserResult = _userService.RegisterUser(siteUserModel);
                    if (registerUserResult.Success)
                    {
                        return(View(model));
                    }
                    else
                    {
                        await _userManager.DeleteAsync(user);

                        ModelState.AddModelError(siteUserModel.Email, "Create user Failed. ");
                    }
                }
                AddErrors(result);
            }
            // If we got this far, something failed, redisplay form
            return(View(model));
        }