public async Task <ActionResult> Crear(MensajeVm mensajeVm)
        {
            Usuario usuario = await _repositorioUsuarios.ObtenerPorId(mensajeVm.IdUsuarioCreado);

            Siniestro siniestro = await _repositorioSiniestros.ObtenerPorId(mensajeVm.IdSiniestro);

            Mensaje mensaje = new Mensaje()
            {
                Descripcion = mensajeVm.Descripcion,
                Usuario     = usuario,
                Siniestro   = siniestro
            };

            try
            {
                await _repositorioMensajes.Guardar(mensaje);
            }
            catch (Exception)
            {
                return(StatusCode(500, "Ha habido un error al crear el mensaje"));
            }

            return(Ok(true));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Cerrar(CerrarSiniestroVm cerrarSiniestroVm)
        {
            await SePuedeCerrar(cerrarSiniestroVm);

            Estado cerrado = await _repositorioEstados.ObtenerPorTipo(TipoEstado.Cerrado);

            Siniestro siniestro = await _repositorioSiniestros.ObtenerPorId(cerrarSiniestroVm.IdSiniestro);

            siniestro.Estado = cerrado;
            await _repositorioSiniestros.Actualizar(siniestro);

            return(Ok(true));
        }
        public async Task <ActionResult> Subir([FromForm] ArchivoVm documentacionVm)
        {
            if (documentacionVm.Descripcion is null || documentacionVm.Descripcion.Length == 0)
            {
                return(StatusCode(500, "La descripción está vacía"));
            }

            if (documentacionVm.Archivo is null)
            {
                return(StatusCode(500, "No se ha seleccionado ningún archivo"));
            }

            Siniestro siniestro = await _repositorioSiniestros.ObtenerPorId(documentacionVm.IdSiniestro);

            string rutaPdf = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/documentacion", documentacionVm.Archivo.FileName);

            rutaPdf = rutaPdf.Replace("\\", "/");

            TipoArchivo tipoArchivo = await _repositorioTiposArchivos.ObtenerPorTipo(TiposArchivo.Documentacion);

            Archivo documentacion = new Archivo()
            {
                Descripcion = documentacionVm.Descripcion,
                Siniestro   = siniestro,
                UrlArchivo  = rutaPdf,
                TipoArchivo = tipoArchivo
            };

            using (var stream = System.IO.File.Create(rutaPdf))
                await documentacionVm.Archivo.CopyToAsync(stream);

            try
            {
                await _repositorioDocumentaciones.Guardar(documentacion);
            }
            catch (Exception)
            {
                return(StatusCode(500, "Ha habido un error al crear la documentación"));
            }

            return(Ok(true));
        }