public async Task <IActionResult> CrearMensaje(int usuarioId, MensajeACrearDto mensajeACrearDto) { if (usuarioId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } mensajeACrearDto.RemitenteId = usuarioId; var receptor = await _coderos.ObtenerUsuario(mensajeACrearDto.ReceptorId); if (receptor == null) { return(BadRequest("No se pudo encontrar al usuario.")); } var mensaje = _mapper.Map <Mensaje> (mensajeACrearDto); _coderos.Agregar <Mensaje> (mensaje); var mensajeARetornar = _mapper.Map <MensajeACrearDto> (mensaje); if (await _coderos.Guardar()) { return(CreatedAtRoute("ObtenerMensaje", new { id = mensaje.Id }, mensajeARetornar)); } throw new Exception("Error al enviar el mensaje"); }
public async Task <IActionResult> AgregarImagen(int usuarioId, [FromForm] ImagenACrearDto imagenACrearDto) { if (usuarioId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var usuarioDeRepo = await _repo.ObtenerUsuario(usuarioId); var file = imagenACrearDto.File; var subidaResultados = new ImageUploadResult(); if (file.Length > 0) { using (var stream = file.OpenReadStream()) { var parametrosDeSubida = new ImageUploadParams() { File = new FileDescription(file.Name, stream), Transformation = new Transformation().Width(500).Height(500) .Crop("fill").Gravity("face") }; subidaResultados = cloudinary.Upload(parametrosDeSubida); } } imagenACrearDto.Url = subidaResultados.Uri.ToString(); imagenACrearDto.IdPublica = subidaResultados.PublicId; var imagen = _mapper.Map <Imagen> (imagenACrearDto); if (!usuarioDeRepo.Imagenes.Any(img => img.DePerfil)) { imagen.DePerfil = true; } usuarioDeRepo.Imagenes.Add(imagen); if (await _repo.Guardar()) { var ImagenARetornarDto = _mapper.Map <ImagenARetornarDto> (imagen); return(CreatedAtRoute("ObtenerImagen", new { id = imagen.Id }, ImagenARetornarDto)); } return(BadRequest("No se pudo añadir la imagen")); }
public async Task <IActionResult> ObtenerUsuarios([FromQuery] UsuarioParams usuarioParams) { var usuarioActualId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); var usuarioDelRepo = await _coderos.ObtenerUsuario(usuarioActualId); usuarioParams.UsuarioId = usuarioActualId; if (string.IsNullOrEmpty(usuarioParams.Genero)) { usuarioParams.Genero = usuarioDelRepo.Genero == "masculino" ? "Femenino" : "masculino"; } var usuarios = await _coderos.ObtenerUsuarios(usuarioParams); var usuariosARetornar = _mapper.Map <IEnumerable <UsuarioListaDto> > (usuarios); Response.AgregarPaginacion(usuarios.PaginaActual, usuarios.TamanoPagina, usuarios.ConteoTotal, usuarios.PaginasTotales); return(Ok(usuariosARetornar)); }