예제 #1
0
        public async Task <IActionResult> ResetPassword(ResetPasswordViewModel model)
        {
            //var user = await _userHelper.GetUserByEmailAsync(model.UserName);
            var user = await _userHelper.GetUserAsync(model.UserName);

            if (user != null)
            {
                var result = await _userHelper.ResetPasswordAsync(user, model.Token, model.Password);

                if (result.Succeeded)
                {
                    //   ViewBag.Message = "Password reset successful.";
                    await _logRepository.SaveLogs("Success", "Resetear Clave Usuario: " + model.UserName, "Account", model.UserName);

                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Resetear Password", "Password Actualizado", SweetAlertMessageType.success);
                    return(View());
                    //return RedirectToAction("Index", "Home");
                }
                await _logRepository.SaveLogs("Error", "Resetear Clave Usuario: " + model.UserName + " Result: " + result.Errors.FirstOrDefault().Description, "Account", model.UserName);

                //ViewBag.Message = "Error while resetting the password.";
                ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Resetear Password", "Error en resetear Password", SweetAlertMessageType.error);
                return(View(model));
            }

            //ViewBag.Message = "User not found.";
            await _logRepository.SaveLogs("Error", "Resetear Clave Usuario: " + model.UserName, "Account", model.UserName);

            ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Resetear Password", "Usuario No encontrado", SweetAlertMessageType.error);
            return(View(model));
        }
예제 #2
0
        /**
         * AgregarItem (): agrega un artículo a la compra
         */
        public String AgregarItem(int productoID)
        {
            String mensaje = "";
            // Crear un nuevo artículo para agregar al carrito
            ViewModelInventarioDetalle nuevoItem = new ViewModelInventarioDetalle(productoID);

            // Si este artículo ya existe en lista de libros, aumente la Cantidad
            // De lo contrario, agregue el nuevo elemento a la lista
            if (nuevoItem != null)
            {
                if (Items.Exists(x => x.id == productoID))
                {
                    ViewModelInventarioDetalle item = Items.Find(x => x.id == productoID);
                    item.totalStock++;
                }
                else
                {
                    nuevoItem.totalStock = 1;
                    Items.Add(nuevoItem);
                }
                mensaje = SweetAlertHelper.Mensaje("Orden producto", "Producto agregado a la orden", SweetAlertMessageType.success);
            }
            else
            {
                mensaje = SweetAlertHelper.Mensaje("Orden producto", "El producto solicitado no existe", SweetAlertMessageType.warning);
            }
            return(mensaje);
        }
예제 #3
0
        public ActionResult Index(string mesaj)
        {
            ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Success", "Username or Password Wrong" + mesaj, SweetAlertMessageType.success);
            //ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Error", "Username or Password Wrong", SweetAlertMessageType.error);

            return(View());
        }
예제 #4
0
        // GET: Usuario
        public ActionResult Index(String email, String clave)
        {
            if (email == null || clave == null)
            {
                return(View());
            }

            usuario user;

            if (ModelState.IsValid)
            {
                user = repoUsua.logIn(email, clave);

                if (user == null)
                {
                    ViewBag.NotificationMessage = SweetAlertHelper.Mensaje("Inicio de sesión", "Error al autenticarse o usuario deshabilitado", SweetAlertMessageType.warning);
                    return(View());
                }

                if (user.idTipoUsuario == 1)
                {
                    Session.Add("Usuario", user);
                    return(RedirectToAction("MenuAdministrador", "Home"));
                }
                else
                {
                    Session.Add("Usuario", user);
                    return(RedirectToAction("Index", "Home"));
                }
            }
            return(View("Index"));
        }
예제 #5
0
        public String AgregarItem(int departamentoId)
        {
            departamento = departamentoId;
            String mensaje = "";
            // Crear un nuevo artículo para agregar al carrito
            viewModelReservaDetalle nuevoItem = new viewModelReservaDetalle(departamentoId);

            if (nuevoItem != null)
            {
                if (Items.Exists(x => x.IdDepartamento == departamentoId))
                {
                    mensaje = SweetAlertHelper.Mensaje("Reservación", "Ya agrego este departamento a su lista de deseos", SweetAlertMessageType.error);
                }
                else
                {
                    Items.Add(nuevoItem);
                }
                mensaje = SweetAlertHelper.Mensaje("Reservación", "Departamento agregado a la lista de deseos", SweetAlertMessageType.success);
            }
            else
            {
                mensaje = SweetAlertHelper.Mensaje("Reservación", "El departamento solicitado no existe", SweetAlertMessageType.warning);
            }
            return(mensaje);
        }
예제 #6
0
        public async Task <IActionResult> ChangePassword(ChangePasswordViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var user = await _userHelper.GetUserAsync(this.User.Identity.Name);

                if (user != null)
                {
                    var result = await _userHelper.ChangePasswordAsync(user, model.OldPassword, model.NewPassword);

                    if (result.Succeeded)
                    {
                        await _logRepository.SaveLogs("Success", "Cambiar Clave Usuario", "Account", User.Identity.Name);

                        ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar Password", "Password Actualizado", SweetAlertMessageType.success);
                        return(this.RedirectToAction("ChangeUser"));
                    }
                    else
                    {
                        await _logRepository.SaveLogs("Error", "Cambiar Clave Usuario", "Account", User.Identity.Name);

                        ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar Password", result.Errors.FirstOrDefault().Description, SweetAlertMessageType.error);
                    }
                }
                else
                {
                    await _logRepository.SaveLogs("Error", "Cambiar Clave Usuario ", "Account", User.Identity.Name);

                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar Password", "Usuario no encontrado", SweetAlertMessageType.error);
                    //this.ModelState.AddModelError(string.Empty, "User no found.");
                }
            }

            return(this.View(model));
        }
예제 #7
0
        public ActionResult Delete(User user)
        {
            var model          = db.Get(user.Id);
            var getAllmodel    = db.GetAll();
            var getCurrentUser = db.GetByUsername(Session["CurrentUser"].ToString());

            if (getCurrentUser.Id != user.Id)
            {
                if (user.Id >= 2)
                {
                    if (model != null)
                    {
                        db.Delete(model.Id);
                        return(View("Index", getAllmodel));
                    }
                    else
                    {
                        return(View("NotFound"));
                    }
                }
                else
                {
                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.Delete("Error", "You cannot delete default users!", SweetAlertMessageType.error);
                    return(View("Index", getAllmodel));
                }
            }
            else
            {
                ViewBag.SweetAlertShowMessage = SweetAlertHelper.Delete("Error", "User is currently logged in.", SweetAlertMessageType.error);
                return(View("Index", getAllmodel));
            }
        }
예제 #8
0
        public String EliminarItem(int idProducto)
        {
            String mensaje = "El producto no existe";

            if (Items.Exists(x => x.id == idProducto))
            {
                var itemEliminar = Items.Single(x => x.id == idProducto);
                Items.Remove(itemEliminar);
                mensaje = SweetAlertHelper.Mensaje("Orden producto", "producto eliminado", SweetAlertMessageType.success);
            }
            return(mensaje);
        }
예제 #9
0
        public String EliminarItem(int departamentoId)
        {
            String mensaje = "El departamento solicitado no existe";

            if (Items.Exists(x => x.IdDepartamento == departamentoId))
            {
                var itemEliminar = Items.Single(x => x.IdDepartamento == departamentoId);
                Items.Remove(itemEliminar);
                mensaje = SweetAlertHelper.Mensaje("Reservación", "Eliminado de la lista de deseos", SweetAlertMessageType.success);
            }
            return(mensaje);
        }
예제 #10
0
        public ActionResult Delete(int id)
        {
            var allUsers    = db.GetAll();
            var currentUser = db.GetByUsername(Session["CurrentUser"].ToString());

            if (currentUser.Id != id)
            {
                SweetAlertHelper.ShowMessage("Warning", "Are you sure you want to delete this user?", SweetAlertMessageType.warning);
                return(View());
            }
            else
            {
                SweetAlertHelper.ShowMessage("Warning", "User is currently logged in.", SweetAlertMessageType.warning);
                return(View());
            }
        }
예제 #11
0
        public async Task <IActionResult> RecoverPassword(RecoverPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                //var user = await _userHelper.GetUserByEmailAsync(model.Email);
                var user = await _userHelper.GetUserAsync(model.user);

                if (user == null)
                {
                    //ModelState.AddModelError(string.Empty, "The email doesn't correspont to a registered user.");
                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Recuperar Password", "El usuario no esta registrado", SweetAlertMessageType.error);
                    return(View(model));
                }
                var isInRole = await this._userHelper.IsUserInRoleAsync(user, "Renting");

                if (isInRole)
                {
                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Recuperar Password", "Este usuario no tiene permisos para recuperar contraseña", SweetAlertMessageType.error);
                    return(View(model));
                }

                var myToken = await _userHelper.GeneratePasswordResetTokenAsync(user);

                var link = Url.Action(
                    "ResetPassword",
                    "Account",
                    new { token = myToken }, protocol: HttpContext.Request.Scheme, "clientes.rentingpichincha.com");
                //new { token = myToken }, protocol: HttpContext.Request.Scheme, "181.112.216.3:8084");


                _mailHelper.SendMail(user.Email, "Plataforma Clientes Renting", $"<h1>Recuperar Contraseña</h1>" +
                                     $"Para cambiar la contraseña haga click en este Link:</br></br>" +
                                     $"<a href = \"{link}\">Reset Password</a>");


                //ViewBag.Message = "The instructions to recover your password has been sent to email.";
                ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Recuperar Password", "Las Instrucciones para recuperar su clave fueron enviadas a su correo", SweetAlertMessageType.info);
                await _logRepository.SaveLogs("Success", "Recuperar Clave Email: " + user.Email, "Account", user.UserName);

                return(View());
            }

            return(View(model));
        }
예제 #12
0
        public IActionResult Login()
        {
            string userAgent = Request.Headers["User-Agent"];

            if (IsInternetExplorer(userAgent))
            {
                //Do your special IE stuff here
                ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Alerta!!!!", "Internet Explorer no es un navegador recomendado para esta aplicación, su uso puede provocar error en formato de correo u otras funciones", SweetAlertMessageType.error);
            }
            else
            {
                //Do your non IE stuff here
            }

            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
예제 #13
0
        public ActionResult Login(User user)
        {
            var userExist = db.Login(user);

            if (userExist)
            {
                var model = db.GetByUsername(user.Username);
                db.UpdateUserStatus(Status.LoggedIn, model.Id);
                var identity = new ClaimsIdentity("ApplicationCookies");
                identity.AddClaim(new Claim("ID", model.Id.ToString()));
                identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Username));
                identity.AddClaim(new Claim(ClaimTypes.Name, user.Username));
                HttpContext.GetOwinContext().Authentication.SignIn(identity);
                Session["CurrentUser"]        = identity.Name;
                ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Success", "Successfully logged in.", SweetAlertMessageType.success);
                return(View());
            }
            else
            {
                ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Error", "Username or password is incorrect.", SweetAlertMessageType.error);
                return(View());
            }
        }
예제 #14
0
        public async Task <IActionResult> Login(LoginViewModel model)
        {
            var key = _configuration["KeyWs"];

            if (ModelState.IsValid)
            {
                var result1 = await _service1Soap.LOGIsAuthenticatedAsync(key, model.Username, model.Password);

                if (result1)
                {
                    var user = await _userHelper.GetUserAsync(model.Username);

                    if (user == null)
                    {
                        user = new User
                        {
                            Cedula    = "0000000000",
                            FirstName = model.Username,
                            LastName  = model.Username,
                            Email     = model.Username + "@condelpi.com",
                            //PhoneNumber = model.PhoneNumber,
                            UserName = model.Username,
                            isActive = true,
                        };
                        var result2 = await _userHelper.AddUserAsync(user, model.Password);

                        if (result2 != IdentityResult.Success)
                        {
                            //this.ModelState.AddModelError(string.Empty, "The user couldn't be created.");
                            //return this.View(model);
                        }

                        await this._userHelper.AddUserToRoleAsync(user, "Renting");
                    }
                    else
                    {
                        if (!user.isActive)
                        {
                            ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Login", "Error en Loguear Usuario, Usuario Desactivado", SweetAlertMessageType.error);
                            //ModelState.AddModelError(string.Empty, "Fallo en Loguear Usuario.");
                            return(View(model));
                        }
                        var isInRole = await this._userHelper.IsUserInRoleAsync(user, "Renting");

                        if (isInRole)
                        {
                            var myToken = await _userHelper.GeneratePasswordResetTokenAsync(user);

                            var resultPass = await _userHelper.ResetPasswordAsync(user, myToken, model.Password);

                            //await _userHelper.ChangePasswordAsync(user, user.PasswordHash, model.Password);
                        }
                        //await _userHelper.ChangePasswordAsync(user,user.PasswordHash)
                    }
                }
                else
                {
                    var user = await _userHelper.GetUserAsync(model.Username);

                    if (user != null)
                    {
                        var isInRole = await this._userHelper.IsUserInRoleAsync(user, "Renting");

                        if (isInRole)
                        {
                            ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Login", "Error en Loguear Usuario, Usuario Incorrecto", SweetAlertMessageType.error);
                            //ModelState.AddModelError(string.Empty, "Fallo en Loguear Usuario.");
                            return(View(model));
                        }
                    }
                    else
                    {
                        ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Login", "Error en Loguear Usuario, Usuario Incorrecto", SweetAlertMessageType.error);
                        //ModelState.AddModelError(string.Empty, "Fallo en Loguear Usuario.");
                        return(View(model));
                    }
                }

                var result = await _userHelper.LoginAsync(model);

                if (result.Succeeded)
                {
                    var user = await _userHelper.GetUserAsync(model.Username);

                    if (!user.isActive)
                    {
                        await _logRepository.SaveLogs("Error", "Usuario Desactivado", "Account", model.Username);

                        ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Login", "Error en Loguear Usuario, Usuario Desactivado", SweetAlertMessageType.error);
                        await _userHelper.LogoutAsync();

                        //ModelState.AddModelError(string.Empty, "Fallo en Loguear Usuario.");
                        return(View(model));
                    }

                    await _logRepository.SaveLogs("Success", "Login", "Account", model.Username);

                    if (Request.Query.Keys.Contains("ReturnUrl"))
                    {
                        return(Redirect(Request.Query["ReturnUrl"].First()));
                    }

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Login", "Error en Loguear Usuario", SweetAlertMessageType.error);
                    //ModelState.AddModelError(string.Empty, "Fallo en Loguear Usuario.");
                    return(View(model));
                }
            }
            //ModelState.AddModelError(string.Empty, "Fallo en Loguear Usuario.");
            ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Login", "Fallo en Loguear Usuario", SweetAlertMessageType.error);
            return(View(model));
        }
예제 #15
0
        public async Task <IActionResult> Edit(UserRoleViewModel userRoleViewModel, string id)
        {
            if (ModelState.IsValid)
            {
                var user = await _userHelper.GetUserByIdAsync(id);

                if (user == null)
                {
                    return(NotFound());
                }
                var pathFoto = userRoleViewModel.ImageUrl;


                if (userRoleViewModel.FotoFile != null && userRoleViewModel.FotoFile.Length > 0)
                {
                    var guid = Guid.NewGuid().ToString();
                    //var file = $"{guid}.jpg";
                    var file = $"{userRoleViewModel.UserName}.jpg";
                    pathFoto = Path.Combine(
                        Directory.GetCurrentDirectory(),
                        "wwwroot\\images\\Usuarios",
                        file);

                    using (var stream = new FileStream(pathFoto, FileMode.Create))
                    {
                        await userRoleViewModel.FotoFile.CopyToAsync(stream);
                    }

                    pathFoto = $"~/images/Usuarios/{file}";
                }

                user.Cedula      = userRoleViewModel.Cedula;
                user.Email       = userRoleViewModel.Email;
                user.FirstName   = userRoleViewModel.FirstName;
                user.LastName    = userRoleViewModel.LastName;
                user.PhoneNumber = userRoleViewModel.PhoneNumber;
                user.ImageUrl    = pathFoto;
                user.UserName    = userRoleViewModel.UserName;

                //user.UserName = userRoleViewModel.UserName;

                for (int i = 0; i < userRoleViewModel.Roles.Count; i++)
                {
                    //IdentityResult result = null;
                    if (userRoleViewModel.Roles[i].IsSelected && !(await _userHelper.IsUserInRoleAsync(user, userRoleViewModel.Roles[i].Name)))
                    {
                        await _userHelper.AddUserToRoleAsync(user, userRoleViewModel.Roles[i].Name);
                    }
                    else if (!userRoleViewModel.Roles[i].IsSelected && (await _userHelper.IsUserInRoleAsync(user, userRoleViewModel.Roles[i].Name)))
                    {
                        await _userHelper.RemoveUserToRoleAsync(user, userRoleViewModel.Roles[i].Name);
                    }
                    else
                    {
                        continue;
                    }
                }

                var result = await _userHelper.UpdateUserAsync(user);

                if (result.Succeeded)
                {
                    await _logRepository.SaveLogs("Success", "Editar Usuario: " + user.UserName, "Account", User.Identity.Name);

                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar Usuario", "Usuario Actualizado", SweetAlertMessageType.success);

                    return(RedirectToAction(nameof(Index)));
                }
                else
                {
                    await _logRepository.SaveLogs("Error", "Editar Usuario: " + user.UserName, "Account", User.Identity.Name);

                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar Usuario", result.Errors.FirstOrDefault().Description, SweetAlertMessageType.error);
                }
            }

            return(View(userRoleViewModel));
        }
예제 #16
0
 public ActionResult IndexInfo(string mesaj)
 {
     //ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Success", "Username or Password Wrong" + mesaj, SweetAlertMessageType.success);
     ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Info", "Username or Password Wrong" + mesaj, SweetAlertMessageType.info);
     return(View("Index"));
 }
예제 #17
0
        public async Task <IActionResult> ChangeUser(ChangeUserViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var pathFoto = model.ImageUrl;
                var guid     = Guid.NewGuid().ToString();
                //var file = $"{guid}.jpg";
                var file = $"{model.UserName}.jpg";

                if (model.FotoFile != null && model.FotoFile.Length > 0)
                {
                    pathFoto = Path.Combine(
                        Directory.GetCurrentDirectory(),
                        "wwwroot\\images\\Usuarios",
                        file);

                    using (var stream = new FileStream(pathFoto, FileMode.Create))
                    {
                        await model.FotoFile.CopyToAsync(stream);
                    }

                    pathFoto = $"~/images/Usuarios/{file}";
                }

                var user = await _userHelper.GetUserAsync(this.User.Identity.Name);

                if (user != null)
                {
                    user.FirstName   = model.FirstName;
                    user.LastName    = model.LastName;
                    user.Cedula      = model.Cedula;
                    user.Email       = model.Email;
                    user.PhoneNumber = model.PhoneNumber;
                    user.ImageUrl    = pathFoto;
                    user.UserName    = model.UserName;

                    var respose = await _userHelper.UpdateUserAsync(user);

                    if (respose.Succeeded)
                    {
                        //this.ViewBag.UserMessage = "User updated!";
                        await _logRepository.SaveLogs("Success", "Actualiza Usuario: " + model.UserName, "Account", User.Identity.Name);

                        ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar", "Usuario Actualizado", SweetAlertMessageType.success);
                    }
                    else
                    {
                        await _logRepository.SaveLogs("Error", "Actualiza Usuario: " + model.UserName, "Account", User.Identity.Name);

                        //this.ModelState.AddModelError(string.Empty, respose.Errors.FirstOrDefault().Description);
                        ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar", respose.Errors.FirstOrDefault().Description, SweetAlertMessageType.error);
                    }
                }
                else
                {
                    await _logRepository.SaveLogs("Error", "Actualiza Usuario: " + model.UserName + " no encontrado", "Account", User.Identity.Name);

                    //this.ModelState.AddModelError(string.Empty, "User no found.");
                    ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Actualizar", "Usuario No Encontrado", SweetAlertMessageType.error);
                }
            }

            return(this.View(model));
        }
예제 #18
0
        public async Task <IActionResult> Register(RegisterNewUserViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var pathFoto = string.Empty;

                if (model.FotoFile != null && model.FotoFile.Length > 0)
                {
                    var guid = Guid.NewGuid().ToString();
                    //var file = $"{guid}.jpg";
                    var file = $"{model.Username}.jpg";
                    pathFoto = Path.Combine(
                        Directory.GetCurrentDirectory(),
                        "wwwroot\\images\\Usuarios",
                        file);

                    using (var stream = new FileStream(pathFoto, FileMode.Create))
                    {
                        await model.FotoFile.CopyToAsync(stream);
                    }

                    pathFoto = $"~/images/Usuarios/{file}";
                }
                //else
                //{
                //    pathFoto = $"~/images/usuario.jpg";
                //}
                //var user = await _userHelper.GetUserByEmailAsync(model.Username);
                var user = await _userHelper.GetUserAsync(model.Username);

                if (user == null)
                {
                    user = new User
                    {
                        Cedula      = model.Cedula,
                        FirstName   = model.FirstName,
                        LastName    = model.LastName,
                        Email       = model.Email,
                        PhoneNumber = model.PhoneNumber,
                        UserName    = model.Username,
                        isActive    = true,
                        ImageUrl    = pathFoto
                    };

                    var result = await _userHelper.AddUserAsync(user, model.Password);

                    if (result != IdentityResult.Success)
                    {
                        this.ModelState.AddModelError(string.Empty, "The user couldn't be created.");

                        return(this.View(model));
                    }

                    //await this._userHelper.AddUserToRoleAsync(user, "Cliente");
                    for (int i = 0; i < model.Roles.Count; i++)
                    {
                        //IdentityResult result = null;
                        if (model.Roles[i].IsSelected && !(await _userHelper.IsUserInRoleAsync(user, model.Roles[i].Name)))
                        {
                            await _userHelper.AddUserToRoleAsync(user, model.Roles[i].Name);
                        }
                        else if (!model.Roles[i].IsSelected && (await _userHelper.IsUserInRoleAsync(user, model.Roles[i].Name)))
                        {
                            await _userHelper.RemoveUserToRoleAsync(user, model.Roles[i].Name);
                        }
                        else
                        {
                            continue;
                        }
                    }

                    //v2
                    await _incidenciasRepository.CreateIncidencia(user);

                    //
                    await _logRepository.SaveLogs("Success", "Registrar Usuario:" + model.Username, "Account", User.Identity.Name);

                    return(this.RedirectToAction(nameof(Index)));
                    //var loginViewModel = new LoginViewModel
                    //{
                    //    Password = model.Password,
                    //    RememberMe = false,
                    //    Username = model.Username
                    //};

                    //var result2 = await _userHelper.LoginAsync(loginViewModel);

                    //if (result2.Succeeded)
                    //{
                    //    return this.RedirectToAction("Index", "Home");
                    //}

                    //this.ModelState.AddModelError(string.Empty, "The user couldn't be login.");
                    //return this.View(model);
                }

                //this.ModelState.AddModelError(string.Empty, "The username is already registered.");
                await _logRepository.SaveLogs("Error", "Registrar Usuario:" + model.Username, "Account", User.Identity.Name);

                ViewBag.SweetAlertShowMessage = SweetAlertHelper.ShowMessage("Registrar Usuario", "El usuario esta actualmente registrado", SweetAlertMessageType.error);
            }

            return(this.View(model));
        }