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); }
public async Task <string> PagoConTC(ContratoTC contratoTC) { List <ProdSerXVendidosPed> listaPedido = _pEFachada.GetProductosPedidosPorIdPedido(contratoTC.IdPedido); DemografiaCor demografiaComprador = _cOGeneralFachada.GetDemografiaPorId(contratoTC.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.PagoConTC(contratoTC, listaPedido, demografiaComprador, documentoComprador, productos)); }
public async Task <RespuestaDatos> GuardarProductoPedido(ProdSerXVendidosPed productoPedido) { RespuestaDatos respuestaDatos; ProductosServiciosPc producto = await _cOContenidoFachada.GetPublicacionPorIdPublicacion(productoPedido.Idproductoservico); System.Diagnostics.Debug.WriteLine("Este es el ID:"); System.Diagnostics.Debug.WriteLine(productoPedido.Idproductoservico); if (producto != null) { if (await ValidarPrecioProductoPedido(productoPedido)) { TipoPublicacionPc tipoProductoPedido = _cOContenidoFachada.GetTipoPublicacionPorID(producto.Idtipopublicacion); productoPedido.Creacion = DateTime.Now; if (tipoProductoPedido != null) { System.Diagnostics.Debug.WriteLine("Este es el tipo:"); System.Diagnostics.Debug.WriteLine(tipoProductoPedido.Nombre); if (tipoProductoPedido.Id == 2) { try { PedidosPed pedido = _pEPedidoBiz.GetPedidoPorId(productoPedido.Idpedido); respuestaDatos = respuestaDatos = await _pEPedidoBiz.GuardarProductoPedido(productoPedido, pedido); } catch (COExcepcion e) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = e.Message, Traza = e.StackTrace, Usuario = "no_aplica", Creacion = DateTime.Now, Tipoerror = COErrorLog.ENVIO_CORREO }); throw e; } } else { if (await ValidarCantidadProductoPedido(productoPedido)) { try { PedidosPed pedido = _pEPedidoBiz.GetPedidoPorId(productoPedido.Idpedido); respuestaDatos = respuestaDatos = await _pEPedidoBiz.GuardarProductoPedido(productoPedido, pedido); } catch (COExcepcion e) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = e.Message, Traza = e.StackTrace, Usuario = "no_aplica", Creacion = DateTime.Now, Tipoerror = COErrorLog.ENVIO_CORREO }); throw e; } } else { throw new COExcepcion("No hay suficiente cantidad del producto deseado"); } } } else { throw new COExcepcion("Hay un inconveniente con el tipo del producto"); } } else { throw new COExcepcion("Hay un inconveniente con el precio total del producto pedido"); } } else { throw new COExcepcion("El producto deseado no existe"); } return(respuestaDatos); }