Beispiel #1
0
        public async Task <ContratoDetallesFactura> DetalleProductoFactura(int idProductoFactura)
        {
            ContratoDetallesFactura detalleProductoFactura = new ContratoDetallesFactura();
            ProdSerXFacturaFac      productoFactura        = _fAFacturaBiz.GetProductoFacturaPorId(idProductoFactura);

            System.Diagnostics.Debug.WriteLine(productoFactura);

            if (productoFactura != null)
            {
                ProductosServiciosPc producto = await _cOFachada.GetPublicacionPorIdPublicacion((int)productoFactura.Idproductoservicio);

                if (producto != null)
                {
                    detalleProductoFactura.Id = producto.Id;
                    detalleProductoFactura.Preciofacturado    = productoFactura.Preciofacturado;
                    detalleProductoFactura.Cantidadfacturado  = productoFactura.Cantidadfacturado;
                    detalleProductoFactura.Idproductoservicio = productoFactura.Idproductoservicio;
                }
                else
                {
                    throw new COExcepcion("El producto o la factura no existen.");
                }
            }
            else
            {
                throw new COExcepcion("El producto solicitado no existe.");
            }
            return(detalleProductoFactura);
        }
Beispiel #2
0
        public async Task <RespuestaDatos> GuardarTruequeDetalle(ProdSerTruequeTrue detalle)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                ProductosServiciosPc publicacionComprador = await _cOFachada.GetPublicacionPorIdPublicacion(detalle.Idproductoserviciocomprador);

                ProductosServiciosPc publicacionVendedor = await _cOFachada.GetPublicacionPorIdPublicacion(detalle.Idproductoserviciovendedor);

                DemografiaCor      demografiaComprador = _cOGeneralFachada.GetDemografiaPorId(publicacionComprador.Idusuario);
                DemografiaCor      demografiaVendedor  = _cOGeneralFachada.GetDemografiaPorId(publicacionVendedor.Idusuario);
                TruequesPedidoTrue trueque             = new TruequesPedidoTrue
                {
                    Idcomprador = demografiaComprador.Id,
                    Idvendedor  = demografiaVendedor.Id
                };
                respuestaDatos = await _tRTruequeBiz.GuardarTrueque(trueque, demografiaComprador, demografiaVendedor);

                trueque = GetTruequePorIdCompradorIdVendedor(demografiaComprador.Id, demografiaVendedor.Id);
                detalle.Idtruequepedido = trueque.Id;
                RespuestaDatos respuestaDetalle = await _tRTruequeBiz.GuardarTruequeDetalle(detalle, publicacionVendedor, publicacionComprador);

                respuestaDatos.Mensaje = respuestaDatos.Mensaje;
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
Beispiel #3
0
        public async Task <Boolean> ValidarPrecioProductoPedido(ProdSerXVendidosPed productoPedido)
        {
            ProductosServiciosPc producto = new ProductosServiciosPc();

            //System.Diagnostics.Debug.WriteLine(productoPedido.Idproductoservico);
            producto = await _cOContenidoFachada.GetPublicacionPorIdPublicacion(productoPedido.Idproductoservico);

            //System.Diagnostics.Debug.WriteLine(producto);
            bool validacion = false;

            if (producto != null)
            {
                bool check1 = unchecked (producto.Preciounitario == (int)producto.Preciounitario);
                bool check2 = unchecked (productoPedido.Preciototal == (int)productoPedido.Preciototal);
                if (check1 && check2)
                {
                    System.Diagnostics.Debug.WriteLine("Si entró");
                    System.Diagnostics.Debug.WriteLine(productoPedido.Preciototal);
                    System.Diagnostics.Debug.WriteLine(producto.Preciounitario);
                    System.Diagnostics.Debug.WriteLine(productoPedido.Cantidadespedida);
                    if (productoPedido.Preciototal == producto.Preciounitario * productoPedido.Cantidadespedida)
                    {
                        System.Diagnostics.Debug.WriteLine("Si entró al otro");
                        validacion = true;
                    }
                }
            }
            else
            {
                throw new COExcepcion("El producto solicitado no existe.");
            }

            return(validacion);
        }
Beispiel #4
0
        internal async Task <RespuestaDatos> ModificarPublicacionApp(ModificarPublicacion productosServicios)
        {
            using FeContext context = new FeContext();
            RespuestaDatos       respuestaDatos;
            ProductosServiciosPc publicacion = await GetPublicacionPorIdPublicacion(productosServicios.Id);

            if (publicacion != null)
            {
                try
                {
                    context.Attach(publicacion);
                    publicacion.Descripcion     = productosServicios.Descripcion;
                    publicacion.Descuento       = productosServicios.Descuento;
                    publicacion.Cantidadtotal   = productosServicios.Cantidad;
                    publicacion.Nombre          = productosServicios.Nombre;
                    publicacion.Preciounitario  = productosServicios.Preciounitario;
                    publicacion.Habilitatrueque = productosServicios.Habilitatrueque;
                    publicacion.Modificacion    = DateTime.Now;
                    context.SaveChanges();
                    respuestaDatos = new RespuestaDatos {
                        Codigo = COCodigoRespuesta.OK, Mensaje = "Publicación modificada exitosamente."
                    };
                }
                catch (Exception e)
                {
                    throw new COExcepcion("Ocurrió un problema al intentar modificar la publicación.");
                }
            }
            else
            {
                throw new COExcepcion("La publicación no existe");
            }
            return(respuestaDatos);
        }
Beispiel #5
0
        internal async Task <RespuestaDatos> ModificarCalificacion(int idPublicacion, decimal calificacion)
        {
            using FeContext context = new FeContext();
            RespuestaDatos       respuestaDatos;
            ProductosServiciosPc publicacion = await GetPublicacionPorIdPublicacion(idPublicacion);

            if (publicacion != null)
            {
                try
                {
                    context.Attach(publicacion);
                    publicacion.Calificacionpromedio = calificacion;
                    publicacion.Modificacion         = DateTime.Now;
                    context.SaveChanges();
                    respuestaDatos = new RespuestaDatos {
                        Codigo = COCodigoRespuesta.OK, Mensaje = "Calificación modificada exitosamente."
                    };
                }
                catch (Exception e)
                {
                    throw new COExcepcion("Ocurrió un problema al intentar modificar la calificación.");
                }
            }
            else
            {
                throw new COExcepcion("La publicación no existe");
            }
            return(respuestaDatos);
        }
        internal string GetImagenProdcuto(ProductosServiciosPc publicacion)
        {
            try
            {
                if (publicacion == null)
                {
                    throw new COExcepcion("La publicación no existe. ");
                }

                string fileName = publicacion.Urlimagenproductoservicio;

                if (!fileName.Contains($@"imagen-producto-{publicacion.Id}"))
                {
                    throw new COExcepcion("No tiene acceso a esta imagen. ");
                }

                string directorio = _configuration["ImageProductos:DirectorioImagenes"] + "/Productos";

                return(Path.Combine(directorio, Path.GetFileName(fileName)));
            }
            catch (COExcepcion e)
            {
                throw e;
            }
        }
Beispiel #7
0
        public async Task <RespuestaDatos> ModificarTrueque(TruequesPedidoTrue trueque)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                respuestaDatos = respuestaDatos = await _tRTruequeBiz.ModificarTrueque(trueque);

                if (trueque.Estado == COEstadosTrueque.ACEPTADO)
                {
                    ProdSerTruequeTrue   detalle             = _tRTruequeBiz.GetDetallePorIdTrueque(trueque.Id);
                    ProductosServiciosPc publicacionVendedor = await _cOFachada.GetPublicacionPorIdPublicacion(detalle.Idproductoserviciovendedor);

                    ProductosServiciosPc publicacionComprador = await _cOFachada.GetPublicacionPorIdPublicacion(detalle.Idproductoserviciocomprador);

                    publicacionComprador.Cantidadtotal = (int)(publicacionComprador.Cantidadtotal - detalle.Cantidadcomprador);
                    publicacionVendedor.Cantidadtotal  = (int)(publicacionVendedor.Cantidadtotal - detalle.Cantidadvendedor);
                    RespuestaDatos modificarVendedor = await _cOFachada.ModificarPublicacion(publicacionVendedor);

                    RespuestaDatos modificarComprador = await _cOFachada.ModificarPublicacion(publicacionComprador);

                    respuestaDatos.Mensaje = respuestaDatos.Mensaje + " " + modificarVendedor.Mensaje + " " + modificarComprador.Mensaje;
                }
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
        internal async Task <ContratoPublicacionPc> DesplegarPublicacion(int idPublicacion)
        {
            ProductosServiciosPc publicacion = await _repoProducto.GetPublicacionPorIdPublicacion(idPublicacion);

            ContratoPublicacionPc contrato = new ContratoPublicacionPc();

            if (publicacion != null)
            {
                contrato.Id                        = publicacion.Id;
                contrato.Nombre                    = publicacion.Nombre;
                contrato.Habilitatrueque           = publicacion.Habilitatrueque;
                contrato.Cantidadtotal             = publicacion.Cantidadtotal;
                contrato.Descripcion               = publicacion.Descripcion;
                contrato.Descuento                 = publicacion.Descuento;
                contrato.Preciounitario            = publicacion.Preciounitario;
                contrato.Urlimagenproductoservicio = publicacion.Urlimagenproductoservicio;
                contrato.Tiempoentrega             = publicacion.Tiempoentrega;
                contrato.Tiempogarantia            = publicacion.Tiempogarantia;
                contrato.Calificacionpromedio      = publicacion.Calificacionpromedio;
                contrato.NombreCategoria           = _repoCategoria.GetCategoriaPorIdCategoria(publicacion.Idcategoria).Nombre;
                contrato.TipoPublicacion           = _repoTipoPublicacion.GetTipoPublicacionPorID(publicacion.Idtipopublicacion).Nombre;
                contrato.Resenas                   = _repoResena.GetResenasPorIdPublicacion(idPublicacion);
                contrato.PreguntasRespuestas       = _repoPyR.GetPreguntasyRespuestasPorIdPublicacion(idPublicacion);
            }
            else
            {
                throw new COExcepcion("La publicación ingresada no existe.");
            }
            return(contrato);
        }
        internal async Task <RespuestaDatos> GuardarFavorito(ProductosFavoritosDemografiaPc favorito, DemografiaCor demografiaCor,
                                                             ProductosServiciosPc publicacion)
        {
            RespuestaDatos respuestaDatos;

            if (demografiaCor != null)
            {
                if (publicacion != null)
                {
                    try
                    {
                        respuestaDatos = await _repoFavorito.GuardarFavorito(favorito);
                    }
                    catch (COExcepcion e)
                    {
                        throw e;
                    }
                }
                else
                {
                    throw new COExcepcion("La publicación ingresada no existe.");
                }
            }
            else
            {
                throw new COExcepcion("El usuario ingresado no existe.");
            }
            return(respuestaDatos);
        }
        internal async Task <bool> FavoritoMio(DemografiaCor demografiaCor, ProductosServiciosPc publicacion)
        {
            try
            {
                bool respuesta = false;
                if (demografiaCor == null)
                {
                    throw new COExcepcion("El usuario no existe. ");
                }

                if (publicacion == null)
                {
                    throw new COExcepcion("La publicación no existe. ");
                }

                var ans = _repoFavorito.FavoritoMio(demografiaCor, publicacion);

                if (ans != null)
                {
                    respuesta = true;
                }

                return(respuesta);
            }
            catch (COExcepcion e)
            {
                throw e;
            }
        }
Beispiel #11
0
        internal async Task <RespuestaDatos> RemoverPublicacion(int idPublicacion)
        {
            using FeContext context = new FeContext();
            RespuestaDatos       respuestaDatos;
            ProductosServiciosPc publicacion = await GetPublicacionPorIdPublicacion(idPublicacion);

            if (publicacion != null)
            {
                try
                {
                    context.ProductosServiciosPcs.Attach(publicacion);
                    publicacion.Estado       = COEstados.INACTIVO;
                    publicacion.Modificacion = DateTime.Now;
                    context.SaveChanges();
                    respuestaDatos = new RespuestaDatos {
                        Codigo = COCodigoRespuesta.OK, Mensaje = "Publicación eliminada exitosamente."
                    };
                }
                catch (Exception e)
                {
                    throw new COExcepcion("Ocurrió un problema al intentar eliminar la publicación");
                }
            }
            else
            {
                throw new COExcepcion("La publicación no existe");
            }
            return(respuestaDatos);
        }
        internal async Task <RespuestaDatos> GuardarResena(ResenasPc resena)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                ProductosServiciosPc publicacion = await _repoProducto.GetPublicacionPorIdPublicacion(resena.Idpublicacion);

                if (publicacion != null)
                {
                    respuestaDatos = await _repoResena.GuardarResena(resena);

                    try
                    {
                        decimal calificacion = _repoResena.GetCalificacionPromedioPorIdPublicacion(resena.Idpublicacion);
                        await _repoProducto.ModificarCalificacion(publicacion.Id, calificacion);
                    }
                    catch (COExcepcion e)
                    {
                        throw e;
                    }
                }
                else
                {
                    throw new COExcepcion("La publicación ingresada no existe");
                }
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
Beispiel #13
0
        public async Task <ContratoDetallesPedido> DetalleProductoPedido(int idProductoPedido)
        {
            ContratoDetallesPedido detalleProductoPedido = new ContratoDetallesPedido();
            ProdSerXVendidosPed    productoPedido        = _pEPedidoBiz.GetProductoPedidoPorId(idProductoPedido);

            System.Diagnostics.Debug.WriteLine(productoPedido);

            if (productoPedido != null)
            {
                ProductosServiciosPc producto = await _cOContenidoFachada.GetPublicacionPorIdPublicacion(productoPedido.Idproductoservico);

                if (producto != null)
                {
                    detalleProductoPedido.Id       = producto.Id;
                    detalleProductoPedido.Precio   = producto.Preciounitario;
                    detalleProductoPedido.Cantidad = productoPedido.Cantidadespedida;
                    detalleProductoPedido.Fecha    = productoPedido.Creacion;
                }
                else
                {
                    throw new COExcepcion("El producto no existe.");
                }
            }
            else
            {
                throw new COExcepcion("El producto solicitado no existe.");
            }
            return(detalleProductoPedido);
        }
        public async Task <bool> FavoritoMio(int idPublicacion, int idUsuario)
        {
            DemografiaCor        demografiaCor = _cOGeneralFachada.GetDemografiaPorId(idUsuario);
            ProductosServiciosPc publicacion   = await _cOContenidoBiz.GetPublicacionPorIdPublicacion(idPublicacion);

            return(await _cOContenidoBiz.FavoritoMio(demografiaCor, publicacion));
        }
Beispiel #15
0
        public async Task <List <ProdSerXFacturaFac> > ProductosPedidoAProductosFacturados(List <ProdSerXVendidosPed> listaPedido, List <FacturasFac> facturas)
        {
            List <ProductosServiciosPc> productos = new List <ProductosServiciosPc>();

            for (int i = 0; i < listaPedido.Count; i++)
            {
                ProductosServiciosPc producto = await _cOFachada.GetPublicacionPorIdPublicacion(listaPedido[i].Idproductoservico);

                productos.Add(producto);
            }
            return(_fAFacturaBiz.ProductosPedidoAProductosFacturados(listaPedido, productos, facturas));
        }
Beispiel #16
0
        public async Task <List <RespuestaDatos> > Prueba(List <ProdSerXVendidosPed> listaPedido)
        {
            List <ProductosServiciosPc> productos = new List <ProductosServiciosPc>();

            for (int i = 0; i < listaPedido.Count; i++)
            {
                ProductosServiciosPc producto = await _cOFachada.GetPublicacionPorIdPublicacion(listaPedido[i].Idproductoservico);

                productos.Add(producto);
            }
            return(await _fAFacturaBiz.Prueba(listaPedido, productos));
        }
Beispiel #17
0
        public async Task <string> FacturacionPSE(ContratoFacturaPSE contratoFacturaPSE)
        {
            List <ProdSerXVendidosPed>  listaPedido = _pEFachada.GetProductosPedidosPorIdPedido(contratoFacturaPSE.IdPedido);
            List <ProductosServiciosPc> productos   = new List <ProductosServiciosPc>();

            for (int i = 0; i < listaPedido.Count; i++)
            {
                ProductosServiciosPc producto = await _cOFachada.GetPublicacionPorIdPublicacion(listaPedido[i].Idproductoservico);

                productos.Add(producto);
            }
            return(await _fAFacturaBiz.FacturacionPSE(contratoFacturaPSE.TicketId, listaPedido, productos));
        }
        public async Task <string> GetImagenProdcuto(int idPublicacion)
        {
            try
            {
                ProductosServiciosPc publicacion = await _cOContenidoBiz.GetPublicacionPorIdPublicacion(idPublicacion);

                return(_cOContenidoBiz.GetImagenProdcuto(publicacion));
            }
            catch (COExcepcion e)
            {
                throw e;
            }
        }
        public async Task <RespuestaDatos> ModificarPublicacion(ProductosServiciosPc productosServicios)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                respuestaDatos = await _cOContenidoBiz.ModificarPublicacion(productosServicios);
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
        internal async Task <RespuestaDatos> ModificarPublicacion(ProductosServiciosPc productosServicios)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                respuestaDatos = await _repoProducto.ModificarPublicacion(productosServicios);
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
        public async Task <RespuestaDatos> GuardarPublicacion(ProductosServiciosPc productosServicios, IFormFileCollection files)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                DemografiaCor demografiaCor = _cOGeneralFachada.GetDemografiaPorId(productosServicios.Idusuario);
                respuestaDatos = respuestaDatos = await _cOContenidoBiz.GuardarPublicacion(productosServicios, demografiaCor, files);
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
Beispiel #22
0
        public async Task <DataPse> PagoPSE(ContratoPSE contratoPSE)
        {
            List <ProdSerXVendidosPed> listaPedido          = _pEFachada.GetProductosPedidosPorIdPedido(contratoPSE.IdPedido);
            DemografiaCor               demografiaComprador = _cOGeneralFachada.GetDemografiaPorId(contratoPSE.IdDemografiaComprador);
            TipoDocumentoCor            documentoComprador  = _cOGeneralFachada.GetTipoDocumentoPorId(demografiaComprador.Tipodocumentocorid);
            List <ProductosServiciosPc> productos           = new List <ProductosServiciosPc>();

            for (int i = 0; i < listaPedido.Count; i++)
            {
                ProductosServiciosPc producto = await _cOFachada.GetPublicacionPorIdPublicacion(listaPedido[i].Idproductoservico);

                productos.Add(producto);
            }
            return(await _fAFacturaBiz.PagoPSE(contratoPSE, listaPedido, demografiaComprador, documentoComprador, productos));
        }
Beispiel #23
0
        public async Task <RespuestaDatos> ModificarPublicacion([FromBody] ProductosServiciosPc productosServicios)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                respuestaDatos = await _coFachada.ModificarPublicacion(productosServicios);
            }
            catch (COExcepcion e)
            {
                respuestaDatos = new RespuestaDatos {
                    Codigo = COCodigoRespuesta.ERROR, Mensaje = e.Message
                };
            }
            return(respuestaDatos);
        }
Beispiel #24
0
 internal async Task <int> GuardarPublicacion(ProductosServiciosPc productoSservicio)
 {
     using FeContext context = new FeContext();
     try
     {
         productoSservicio.Creacion             = DateTime.Now;
         productoSservicio.Calificacionpromedio = 0.0m;
         productoSservicio.Ventas = 0;
         context.Add(productoSservicio);
         context.SaveChanges();
         return(productoSservicio.Id);
     }
     catch (Exception e)
     {
         throw new COExcepcion("Ocurrió un problema al intentar realizar la publicación: " + e.Message);
     }
 }
        public async Task <RespuestaDatos> GuardarFavorito(ProductosFavoritosDemografiaPc favorito)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                DemografiaCor        demografiaCor = _cOGeneralFachada.GetDemografiaPorId(favorito.Iddemografia);
                ProductosServiciosPc publicacion   = await _cOContenidoBiz.GetPublicacionPorIdPublicacion(favorito.Idproductoservicio);

                respuestaDatos = respuestaDatos = await _cOContenidoBiz.GuardarFavorito(favorito, demografiaCor, publicacion);
            }
            catch (COExcepcion e)
            {
                throw e;
            }
            return(respuestaDatos);
        }
Beispiel #26
0
        internal async Task <RespuestaDatos> GuardarLinkImagen(ProductosServiciosPc productoSservicio)
        {
            using FeContext context = new FeContext();
            RespuestaDatos respuestaDatos;

            try
            {
                context.Update(productoSservicio);
                context.SaveChanges();
                respuestaDatos = new RespuestaDatos {
                    Codigo = COCodigoRespuesta.OK, Mensaje = "Publicación modificada exitosamente."
                };
            }
            catch (Exception e)
            {
                throw new COExcepcion("Ocurrió un problema al intentar modificar la publicación.");
            }
            return(respuestaDatos);
        }
Beispiel #27
0
        public async Task <Boolean> ValidarCantidadProductoPedido(ProdSerXVendidosPed productoPedido)
        {
            ProductosServiciosPc producto = await _cOContenidoFachada.GetPublicacionPorIdPublicacion(productoPedido.Idproductoservico);

            bool validacion = false;

            if (producto != null)
            {
                if (producto.Cantidadtotal >= productoPedido.Cantidadespedida)
                {
                    validacion = true;
                }
            }
            else
            {
                throw new COExcepcion("El producto no existe");
            }
            return(validacion);
        }
Beispiel #28
0
        internal async Task <RespuestaDatos> GuardarTruequeDetalle(ProdSerTruequeTrue detalle, ProductosServiciosPc publicacionVendedor,
                                                                   ProductosServiciosPc publicacionComprador)
        {
            RespuestaDatos respuestaDatos;

            if (publicacionVendedor != null)
            {
                if (publicacionComprador != null)
                {
                    if (detalle.Cantidadcomprador <= publicacionComprador.Cantidadtotal)
                    {
                        if (detalle.Cantidadvendedor <= publicacionVendedor.Cantidadtotal)
                        {
                            try
                            {
                                respuestaDatos = await _repoTruequeDetalle.GuardarTruequeDetalle(detalle);
                            }
                            catch (COExcepcion e)
                            {
                                throw e;
                            }
                        }
                        else
                        {
                            throw new COExcepcion("La cantidad de la publicación del vendedor es inválida.");
                        }
                    }
                    else
                    {
                        throw new COExcepcion("La cantidad de la publicación del comprador es inválida.");
                    }
                }
                else
                {
                    throw new COExcepcion("La publicación ingresada del comprador no existe.");
                }
            }
            else
            {
                throw new COExcepcion("La publicación ingresada del vendedor no existe.");
            }
            return(respuestaDatos);
        }
Beispiel #29
0
        public async Task <RespuestaDatos> GuardarPublicacion(IFormCollection collection)
        {
            RespuestaDatos respuestaDatos;

            try
            {
                var   formData = Request.Form;
                var   files    = Request.Form.Files;
                Claim claimId  = User.Claims.Where(c => c.Type == "id").FirstOrDefault();
                formData = Request.Form;
                if (formData == null)
                {
                    throw new COExcepcion("El formulario de la petición enviada se encuentra vacío. ");
                }

                ProductosServiciosPc productosServicios = new ProductosServiciosPc
                {
                    Idcategoria       = int.Parse(Request.Form["Idcategoria"]),
                    Idtipopublicacion = int.Parse(Request.Form["Idtipopublicacion"]),
                    Idusuario         = int.Parse(Request.Form["Idusuario"]),
                    Descripcion       = Request.Form["Descripcion"].ToString(),
                    Cantidadtotal     = int.Parse(Request.Form["Cantidad"]),
                    Preciounitario    = int.Parse(Request.Form["Precio"]),
                    Descuento         = decimal.Parse(Request.Form["Descuento"]),
                    Habilitatrueque   = int.Parse(Request.Form["Trueque"]),
                    Nombre            = Request.Form["Nombre"].ToString()
                };
                respuestaDatos = await _coFachada.GuardarPublicacion(productosServicios, files);
            }
            catch (COExcepcion e)
            {
                respuestaDatos = new RespuestaDatos {
                    Codigo = COCodigoRespuesta.ERROR, Mensaje = e.Message
                };
            }
            return(respuestaDatos);
        }
        internal async Task <RespuestaDatos> GuardarPreguntasyRespuestas(PreguntasRespuestasPc pyr)
        {
            RespuestaDatos       respuestaDatos;
            ProductosServiciosPc publicacion = await _repoProducto.GetPublicacionPorIdPublicacion(pyr.Idproductoservicio);

            if (publicacion != null)
            {
                try
                {
                    pyr.Creacion     = DateTime.Now;
                    pyr.Modificacion = DateTime.Now;
                    respuestaDatos   = await _repoPyR.GuardarPreguntasyRespuestas(pyr);
                }
                catch (COExcepcion e)
                {
                    throw e;
                }
            }
            else
            {
                throw new COExcepcion("La publicación ingresada no existe");
            }
            return(respuestaDatos);
        }