Beispiel #1
0
        public async Task <BaseServiceResponse <int> > CrearAsync(string idUsuario, CreacionAnuncioRequest request)
        {
            BaseServiceResponse <int> response = new BaseServiceResponse <int>();
            var usuario = await _usuarioRepository.ConsultarUsuarioAsync(idUsuario);

            var anuncio = _mapper.Map <AnuncioEntity>(request);

            anuncio.IdUsuario = usuario.IdUsuario;
            var idAnuncio = await _anuncioRepository.CrearAnuncioAsync(anuncio);

            if (idAnuncio == default)
            {
                response.Message = "No se puedo registrar el anuncio.";
                return(response);
            }

            var anuncioDetalle = _mapper.Map <AnuncioDetalleEntity>(request);

            anuncioDetalle.IdAnuncio = idAnuncio;
            var idAnuncioDetalle = await _anuncioDetalleRepository.CrearAnuncioDetalleAsync(anuncioDetalle);

            if (idAnuncioDetalle == default)
            {
                response.Message = "No se puedo registrar el detalle del anuncio.";
                return(response);
            }

            var ubicacion = _mapper.Map <UbicacionEntity>(request);

            ubicacion.IdAnuncio = idAnuncio;
            var idUbicacion = await _ubicacionRepository.CrearUbicacionAsync(ubicacion);

            if (idUbicacion == default)
            {
                response.Message = "No se puedo registrar la ubicación.";
                return(response);
            }

            response.Data    = idAnuncio;
            response.Success = true;
            response.Message = "Se registró exitosamente";

            return(response);
        }