public ActionResult EditarUsuario(int?Id) { if (Id == null) { return(View("UsuarioNoEncontrado")); } int ClienteId = GetClienteSeleccionado(); Usuario usuario = usuarioRepository.GetUsuarioInClientById((int)Id, ClienteId); List <ReportingRoles> roles = usuarioRepository.GetRolesDeCliente(ClienteId); if (usuario != null) { ConfUsuarioVM model = new ConfUsuarioVM() { Apellido = usuario.Apellido, Nombre = usuario.Nombre, Email = usuario.Email, Id = usuario.IdUsuario, Telefono = usuario.Telefono, EsCheckPos = usuario.esCheckPos, Imagenb64 = usuario.imagen, PermiteModificarCalendario = usuario.PermiteModificarCalendario }; var usucliente = usuario.Usuario_Cliente.FirstOrDefault(uc => uc.IdCliente == ClienteId); if (usucliente != null && usucliente.Rol != null) { model.RolId = usucliente.Rol.id; } model.RoleList.Add(new SelectListItem() { Text = Resources.Configuracion.seleccionUnRol, Value = "0" }); foreach (var r in roles) { model.RoleList.Add(new SelectListItem() { Text = r.nombre, Value = r.id.ToString() }); } return(View(model)); } else { return(View("UsuarioNoEncontrado")); } }
public ActionResult EditarUsuario(ConfUsuarioVM model) { try { var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/jpg", "image/pjpeg", "image/png", "image/bmp" }; if (model.Imagen != null && !validImageTypes.Contains(model.Imagen.ContentType)) { ModelState.AddModelError("Err_Imagen_FileType", Resources.Configuracion.errFormatoImagen); } if (model.Imagen != null && model.Imagen.InputStream.Length > 512000) { ModelState.AddModelError("Err_Imagen_FileSize", Resources.Configuracion.errImagenSize); } int ClienteId = GetClienteSeleccionado(); List <ReportingRoles> roles = usuarioRepository.GetRolesDeCliente(ClienteId); model.RoleList.Add(new SelectListItem() { Text = Resources.Configuracion.seleccionUnRol, Value = "0" }); foreach (var r in roles) { model.RoleList.Add(new SelectListItem() { Text = r.nombre, Value = r.id.ToString() }); } if (ModelState.IsValid) { Usuario usuario = usuarioRepository.GetUsuarioById(model.Id); usuario.Nombre = model.Nombre; usuario.Apellido = model.Apellido; usuario.Telefono = model.Telefono; usuario.esCheckPos = model.EsCheckPos; usuario.PermiteModificarCalendario = model.PermiteModificarCalendario; if (model.Imagen != null) { byte[] binaryData = new byte[model.Imagen.InputStream.Length]; long bytesRead = model.Imagen.InputStream.Read(binaryData, 0, (int)model.Imagen.InputStream.Length); model.Imagen.InputStream.Close(); string b64 = Convert.ToBase64String(binaryData, 0, binaryData.Length); if (!string.IsNullOrEmpty(b64)) { usuario.imagen = b64; model.Imagenb64 = b64; } } if (usuarioRepository.EdicionUsuarioPerfil(ClienteId, usuario, model.RolId)) { ViewBag.Success = true; return(View(model)); } else { ViewBag.Error = true; ViewBag.ErrorMessage = Resources.Configuracion.reviseSiDatosSonCorrectos; return(View(model)); } } else { ViewBag.Error = true; ViewBag.ErrorMessage = Resources.Configuracion.reviseSiDatosSonCorrectos; return(View(model)); } } catch { return(View("Error")); } }