Ejemplo n.º 1
0
        public ActionResult Edit(string id)
        {
            UsuarioCliente usuarioCliente = null;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            else
            {
                usuarioCliente = Gerenciador.FindById(id);
                if (usuarioCliente.Email != HttpContext.User.Identity.Name)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized));
                }
            }

            if (usuarioCliente == null)
            {
                return(new HttpNotFoundResult());
            }

            UsuarioEditViewModel usuarioClienteView = new UsuarioEditViewModel();

            usuarioClienteView.UsuarioId   = usuarioCliente.Id;
            usuarioClienteView.EmailAntigo = usuarioCliente.Email;

            return(View(usuarioClienteView));
        }
Ejemplo n.º 2
0
 private SecUsuario ParseSelectedRoles(UsuarioEditViewModel model)
 {
     if (model.Roles != null)
     {
         foreach (var rol in model.Roles)
         {
             if (rol.Id == 0)
             {
                 continue;
             }
             model.Usuario.Roles.Add(rol);
         }
     }
     if (model.SelectedNegocioPais != null)
     {
         var arr = model.SelectedNegocioPais.Split('-');
         if (arr.Length == 2)
         {
             model.Usuario.Idpais    = int.Parse(arr[0]);
             model.Usuario.Idnegocio = int.Parse(arr[1]);
         }
     }
     else
     {
         model.Usuario.Idpais    = null;
         model.Usuario.Idnegocio = null;
     }
     return(model.Usuario);
 }
        // GET: Admin/Usuario/Edit/5
        public ActionResult Edit()
        {
            AuthRepository  authRepository = new AuthRepository();
            ApplicationUser user           = authRepository.FindByName(User.Identity.Name);

            UsuarioEditViewModel viewModel = new UsuarioEditViewModel();

            viewModel.Usuario = user;
            return(View(viewModel));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Edit(string id)
        {
            var usuario = await userManager.FindByIdAsync(id);

            var roleUser = await userManager.GetRolesAsync(usuario);

            var model = new UsuarioEditViewModel(usuario, roleManager, roleUser);

            return(View(model));
        }
        // GET: Usuarios/Create
        public ActionResult Create()
        {
            List <SelectListItem> countries = db.Paises.AsNoTracking()
                                              .OrderBy(n => n.Nombre)
                                              .Select(n =>
                                                      new SelectListItem
            {
                Value = n.Id.ToString(),
                Text  = n.Nombre
            }).ToList();
            var countrytip = new SelectListItem()
            {
                Value = null,
                Text  = "--- Seleccione Pais ---"
            };

            countries.Insert(0, countrytip);

            var usuarioEditVM = new UsuarioEditViewModel()
            {
                //Departamentos = db.Departamentos.AsNoTracking()
                //        .OrderBy(n => n.Nombre)
                //        .Select(n =>
                //           new SelectListItem
                //           {
                //               Value = n.Id.ToString(),
                //               Text = n.Nombre
                //           }).ToList(),

                Departamentos = new List <SelectListItem>()
                {
                    new SelectListItem
                    {
                        Value = null,
                        Text  = " "
                    }
                },



                Paises = countries,


                TiposIdentificacion = db.TiposDocumentoes.AsNoTracking()
                                      .OrderBy(n => n.Nombre)
                                      .Select(n =>
                                              new SelectListItem
                {
                    Value = n.Id.ToString(),
                    Text  = n.Nombre
                }).ToList()
            };

            return(View(usuarioEditVM));
        }
Ejemplo n.º 6
0
        public ActionResult Create()
        {
            UsuarioEditViewModel usuarioVm = new UsuarioEditViewModel
            {
                ListaRoles = _applicationDb.Roles
                             .Where(r => r.Name != "Admin")
                             .ToList()
            };

            return(View(usuarioVm));
        }
Ejemplo n.º 7
0
        public ActionResult Edit(UsuarioEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = model.Convert <UsuarioEditViewModel, Usuario>();

                this.usuarioDao.Salvar(usuario);
                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }
Ejemplo n.º 8
0
        public ActionResult Edit(UsuarioEditViewModel usuario)
        {
            if (ModelState.IsValid)
            {
                var usuarioDomain = _mapper.Map <UsuarioEditViewModel, Usuario>(usuario);
                _usuarioApp.Update(usuarioDomain);

                return(RedirectToAction("Index"));
            }

            return(View(usuario));
        }
Ejemplo n.º 9
0
        // GET: Usuario/Create
        public ActionResult Create()
        {
            var viewModel =
                new UsuarioEditViewModel()
            {
                Usuario       = new SecUsuario(),
                Roles         = _roles.RetrieveAll(),
                NegocioPaises = _usuarios.GetNegocioPaisAll(),
                CentroCosto   = _usuarios.GetCentroCostoAll()
            };

            return(View(viewModel));
        }
Ejemplo n.º 10
0
        public ActionResult Edit(UsuarioEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                bool isValid = true;
                if (!string.IsNullOrWhiteSpace(viewModel.Password) || !string.IsNullOrWhiteSpace(viewModel.PasswordRepeat))
                {
                    if (viewModel.Password != viewModel.PasswordRepeat)
                    {
                        ModelState.AddModelError("Password", "Las contraseñas no coinciden");
                        isValid = false;
                    }
                }
                if (isValid)
                {
                    if (viewModel.Avatar != null)
                    {
                        FileUploadHelper.SubirAvatar(viewModel.Avatar, Server.MapPath(Url.Content("~/media/upload/avatar/")) + viewModel.Usuario.Id + ".jpg");
                        //    string nameAndLocation = "~/media/upload/avatar/" + viewModel.Usuario.Id + ".jpg";
                        //  viewModel.Avatar.SaveAs(Server.MapPath(nameAndLocation));
                    }

                    AuthRepository gestorUsuarios = new AuthRepository();

                    ApplicationUser applicationUser = gestorUsuarios.FindById(viewModel.Usuario.Id);
                    applicationUser.Nombre    = viewModel.Usuario.Nombre;
                    applicationUser.Apellido1 = viewModel.Usuario.Apellido1;
                    applicationUser.Apellido2 = viewModel.Usuario.Apellido2;
                    applicationUser.Email     = viewModel.Usuario.Email;
                    applicationUser.UserName  = viewModel.Usuario.Email;

                    var userResult = gestorUsuarios.Update(applicationUser);

                    if (userResult.Succeeded)
                    {
                        if (!string.IsNullOrWhiteSpace(viewModel.Password))
                        {
                            var result = gestorUsuarios.UpdatePassword(viewModel.Usuario.Id, viewModel.Password);
                            result.ToString();
                            if (!result.Succeeded)
                            {
                                ModelState.AddModelError("Password", result.Errors.First().ToString());
                                return(View(viewModel));
                            }
                        }
                        return(RedirectToAction("Edit"));
                    }
                }
            }
            return(View(viewModel));
        }
Ejemplo n.º 11
0
 private Usuario ConstruirUsuario(UsuarioEditViewModel usuarioVm)
 {
     return(new Usuario
     {
         UsuarioId = usuarioVm.UsuarioId,
         NombreUsuario = usuarioVm.NombreUsuario,
         Nombres = usuarioVm.Nombres,
         Apellido = usuarioVm.Apellido,
         MovilNumero = usuarioVm.MovilNumero,
         FechaIngreso = usuarioVm.FechaIngreso,
         DocumentoNro = usuarioVm.DocumentoNro,
         Direccion = usuarioVm.Direccion
     });
 }
Ejemplo n.º 12
0
        private static UsuarioModel ConvertEditViewModelToModel(UsuarioEditViewModel usuarioEditViewModel)
        {
            var usuarioModel = new UsuarioModel
            {
                IdentityUser   = usuarioEditViewModel.IdentityUser,
                Cpf            = usuarioEditViewModel.Cpf,
                DataNascimento = usuarioEditViewModel.DataNascimento,
                Nome           = usuarioEditViewModel.Nome,
                Sobrenome      = usuarioEditViewModel.Sobrenome,
                FotoPerfil     = usuarioEditViewModel.FotoPerfil,
                Id             = usuarioEditViewModel.Id
            };

            return(usuarioModel);
        }
Ejemplo n.º 13
0
        public ActionResult Cadastrar(UsuarioEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Usuario usuario = new Usuario(
                    id: 0,
                    email: viewModel.Email,
                    nome: viewModel.Nome,
                    senha: viewModel.Senha,
                    permissoes: null
                    );

                _usuarioServico.CriarUsuario(usuario);
            }

            return(View("Cadastrar"));
        }
Ejemplo n.º 14
0
        public ActionResult Create(UsuarioEditViewModel usuarioVm)
        {
            if (!ModelState.IsValid)
            {
                usuarioVm.ListaRoles = _applicationDb.Roles.ToList();

                return(View(usuarioVm));
            }

            if (_dbContext.Usuarios.Any(e => e.DocumentoNro == usuarioVm.DocumentoNro))
            {
                ModelState.AddModelError(string.Empty, "Nro. de documento repetido");
                usuarioVm.ListaRoles = _applicationDb.Roles.ToList();

                return(View(usuarioVm));
            }
            if (_dbContext.Usuarios.Any(e => e.NombreUsuario == usuarioVm.NombreUsuario))
            {
                ModelState.AddModelError(string.Empty, "Nombre de usuario repetido");
                usuarioVm.ListaRoles = _applicationDb.Roles.ToList();

                return(View(usuarioVm));
            }

            Usuario empleado = ConstruirUsuario(usuarioVm);

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Usuarios.Add(empleado);
                    _dbContext.SaveChanges();
                    UssersHelper.CreateUserASP(usuarioVm.NombreUsuario, usuarioVm.Rol);
                    tran.Commit();
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    ModelState.AddModelError(string.Empty, ex.Message);
                    usuarioVm.ListaRoles = _applicationDb.Roles.ToList();
                    return(View(usuarioVm));
                }
            }
        }
Ejemplo n.º 15
0
        public ActionResult Edit(UsuarioEditViewModel usuarioEditView)
        {
            if (ModelState.IsValid)
            {
                bool alterado = false;
                var  user     = Gerenciador.Find(usuarioEditView.EmailAntigo, usuarioEditView.SenhaAtual);

                if (user == null)
                {
                    TempData["UserChangeError"] = "Senha atual inválida!";
                    return(View(usuarioEditView));
                }

                Cliente cliente = ClienteService.ObterClientePFPorId(long.Parse(usuarioEditView.UsuarioId));
                if (cliente == null)
                {
                    cliente = ClienteService.ObterClientePJPorId(long.Parse(usuarioEditView.UsuarioId));
                }

                if (!string.IsNullOrEmpty(usuarioEditView.NovoEmail) || !string.IsNullOrWhiteSpace(usuarioEditView.NovoEmail))
                {
                    cliente.Email = usuarioEditView.NovoEmail;
                    ClienteService.GravarCliente(cliente);
                    UsuarioClienteDAL.AlterarUsuarioCliente(usuarioEditView.UsuarioId, novoEmail: usuarioEditView.NovoEmail);
                    alterado = true;
                }

                if (!string.IsNullOrEmpty(usuarioEditView.NovaSenha) || !string.IsNullOrWhiteSpace(usuarioEditView.NovaSenha))
                {
                    UsuarioClienteDAL.AlterarUsuarioCliente(usuarioEditView.UsuarioId, novaSenha: usuarioEditView.NovaSenha);
                    alterado = true;
                }

                if (alterado)
                {
                    TempData["Message"] = "Usuário alterado com sucesso! Por favor realize login novamente.";
                    return(Logout());
                }
                else
                {
                    TempData["UserChangeError"] = "Nenhuma informação para ser alterada";
                }
            }
            return(View(usuarioEditView));
        }
Ejemplo n.º 16
0
        // GET: Admin/Usuario/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AuthRepository  gestorUsuarios  = new AuthRepository();
            ApplicationUser applicationUser = gestorUsuarios.FindById(id);

            if (applicationUser == null)
            {
                return(HttpNotFound());
            }

            UsuarioEditViewModel viewModel = new UsuarioEditViewModel();

            viewModel.Usuario = applicationUser;
            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Nome,Sobrenome,Cpf,FotoPerfil,DataNascimento,IdentityUser")] UsuarioEditViewModel usuarioEditViewModel, IFormFile ImageFile)
        {
            if (id <= 0)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var usuarioModel = ConvertEditViewModelToModel(usuarioEditViewModel);

                    await _usuarioServices.UpdateAsync(usuarioModel, ConvertIFormFileToBase64(ImageFile));

                    return(RedirectToAction("Index", "Home"));
                }
                catch (ModelValidationExceptions e)
                {
                    ModelState.AddModelError(e.PropertyName, e.Message);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (await _usuarioServices.GetByIdAsync(id) == null)
                    {
                        return(NotFound());
                    }
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
            }


            return(View());
        }
        //public ActionResult Create([Bind(Include = "NombreUsuario, DireccionUsuario, FechaUsuario, IdentificacionUsuario, SelectedPais, SelectedDepartamento, SelectedCiudad")] UsuarioEditViewModel model)
        public ActionResult Create([Bind(Include = "NombreUsuario, DireccionUsuario, FechaUsuario, IdentificacionUsuario, SelectedTipoIdentificacion, SelectedPais, SelectedDepartamento")] UsuarioEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                int tipoSeleccionado = Convert.ToInt32(model.SelectedTipoIdentificacion);

                Usuario usuario = new Usuario
                {
                    Nombre               = model.NombreUsuario,
                    Direccion            = model.DireccionUsuario,
                    FechaNacimiento      = DateTime.Parse(model.FechaUsuario),
                    NumeroIdentificacion = model.IdentificacionUsuario,
                    TiposDocumento       = db.TiposDocumentoes.FirstOrDefault(t => t.Id == tipoSeleccionado),
                    Ciudade              = db.Ciudades.FirstOrDefault(c => c.Id == 1)
                                           //Ciudade = db.Ciudades.FirstOrDefault(c => c.Id == int.Parse(model.SelectedCiudad))
                };

                db.Usuarios.Add(usuario);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
Ejemplo n.º 19
0
        public async Task <IActionResult> Edit(UsuarioEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var usuario = await userManager.FindByIdAsync(model.Id);

                var roleUser = await userManager.GetRolesAsync(usuario);

                await userManager.RemoveFromRolesAsync(usuario, roleUser);

                var newRole = model.Role;
                if (newRole == RolesNomes.Administrador)
                {
                    await userManager.AddToRoleAsync(usuario, RolesNomes.Administrador);
                }

                if (newRole == RolesNomes.Gestor)
                {
                    await userManager.AddToRoleAsync(usuario, RolesNomes.Gestor);
                }

                if (newRole == RolesNomes.Operador)
                {
                    await userManager.AddToRoleAsync(usuario, RolesNomes.Operador);
                }

                if (newRole == RolesNomes.Inativo)
                {
                    await userManager.AddToRoleAsync(usuario, RolesNomes.Inativo);
                }

                return(RedirectToAction("Index"));
            }

            return(View());
        }
Ejemplo n.º 20
0
 public ActionResult Edit(UsuarioEditViewModel model)
 {
     _usuarios.Update(ParseSelectedRoles(model));
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 21
0
 public ActionResult Grabar(UsuarioEditViewModel modelo)
 {
     return(View("Index", new UsuarioEditViewModel()));
 }
Ejemplo n.º 22
0
        public ActionResult Edit(UsuarioEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                AuthRepository gestorUsuarios = new AuthRepository();

                ApplicationUser applicationUser = gestorUsuarios.FindById(viewModel.Usuario.Id);
                applicationUser.Nombre           = viewModel.Usuario.Nombre;
                applicationUser.Apellido1        = viewModel.Usuario.Apellido1;
                applicationUser.Apellido2        = viewModel.Usuario.Apellido2;
                applicationUser.Email            = viewModel.Usuario.Email;
                applicationUser.UserName         = viewModel.Usuario.Email;
                applicationUser.GrupoUsuarioId   = viewModel.Usuario.GrupoUsuarioId;
                applicationUser.PuntosActual     = viewModel.Usuario.PuntosActual;
                applicationUser.PuntosTotal      = viewModel.Usuario.PuntosTotal;
                applicationUser.BloquearSubtemas = viewModel.Usuario.BloquearSubtemas;
                applicationUser.ClienteId        = viewModel.Usuario.ClienteId;

                var Accesos = db.SubTemaAccesoUsuarios.Where(sau => sau.AlumnoId == applicationUser.Id).ToList();
                db.SubTemaAccesoUsuarios.RemoveRange(Accesos);
                db.SaveChanges();
                List <int> listaSubtemasAccesso = new List <int>();
                if (viewModel.Usuario.BloquearSubtemas)
                {
                    foreach (var acceso in viewModel.AccesoTemas)
                    {
                        foreach (var accesoSubtema in acceso.SubTemas)
                        {
                            if (accesoSubtema.Selected)
                            {
                                SubTemaAccesoUsuario subtemaAcceso = new SubTemaAccesoUsuario();
                                subtemaAcceso.AlumnoId    = viewModel.Usuario.Id;
                                subtemaAcceso.FechaAcceso = DateTime.Now;
                                subtemaAcceso.SubTemaId   = Convert.ToInt32(accesoSubtema.Value);

                                db.SubTemaAccesoUsuarios.Add(subtemaAcceso);
                                db.SaveChanges();
                                listaSubtemasAccesso.Add(subtemaAcceso.SubTemaId);
                            }
                        }
                    }
                    var subtemasAcceso = db.SubTemaAccesoUsuarios.Where(sa => sa.AlumnoId == viewModel.Usuario.Id).Select(sa => sa.SubTema).ToList();
                    var temas          = subtemasAcceso.Select(su => su.TemaId);
                    foreach (var temaId in temas)
                    {
                        var subtemaInicial = subtemasAcceso.Where(sa => sa.TemaId == temaId).OrderBy(su => su.Orden).FirstOrDefault();
                        if (subtemaInicial != null)
                        {
                            if (!db.SubTemaDesbloqueados.Any(sd => sd.SubTemaId == subtemaInicial.SubTemaId && sd.AlumnoId == viewModel.Usuario.Id))
                            {
                                SubTemaDesbloqueado desbloqueado = new SubTemaDesbloqueado();
                                desbloqueado.AlumnoId        = viewModel.Usuario.Id;
                                desbloqueado.FechaDesbloqueo = DateTime.Now;
                                desbloqueado.SubTemaId       = subtemaInicial.SubTemaId;

                                db.SubTemaDesbloqueados.Add(desbloqueado);
                                db.SaveChanges();
                            }
                        }
                    }
                }

                List <int> temasCliente = db.ClienteTemas.Where(te => te.ClienteId == viewModel.Usuario.ClienteId).Select(te => te.TemaId).ToList();

                List <SubTema> subtemasIniciales = db.SubTemas.Where(sub => temasCliente.Contains(sub.TemaId) && sub.Orden == 1).ToList();
                foreach (SubTema subtema in subtemasIniciales)
                {
                    bool anyadir = true;
                    if (viewModel.Usuario.BloquearSubtemas)
                    {
                        if (!listaSubtemasAccesso.Contains(subtema.SubTemaId))
                        {
                            anyadir = false;
                        }
                    }
                    if (anyadir)
                    {
                        if (!db.SubTemaDesbloqueados.Any(sd => sd.SubTemaId == subtema.SubTemaId && sd.AlumnoId == viewModel.Usuario.Id))
                        {
                            SubTemaDesbloqueado desbloqueado = new SubTemaDesbloqueado();
                            desbloqueado.AlumnoId        = viewModel.Usuario.Id;
                            desbloqueado.FechaDesbloqueo = DateTime.Now;
                            desbloqueado.SubTemaId       = subtema.SubTemaId;

                            db.SubTemaDesbloqueados.Add(desbloqueado);
                            db.SaveChanges();
                        }
                    }
                }

                var userResult = gestorUsuarios.Update(applicationUser);

                if (userResult.Succeeded)
                {
                    if (!string.IsNullOrWhiteSpace(viewModel.Password))
                    {
                        gestorUsuarios.UpdatePassword(viewModel.Usuario.Id, viewModel.Password);
                    }
                    return(RedirectToAction("Index"));
                }
            }
            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }