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 <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); }
public async Task <RespuestaDatos> GuardarTrueque([FromBody] ProdSerTruequeTrue detalle) { RespuestaDatos respuestaDatos; try { respuestaDatos = await _tRFachada.GuardarTruequeDetalle(detalle); } catch (COExcepcion e) { respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.ERROR, Mensaje = e.Message }; } return(respuestaDatos); }
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); }
internal async Task <RespuestaDatos> GuardarTruequeDetalle(ProdSerTruequeTrue detalle) { using FeContext context = new FeContext(); RespuestaDatos respuestaDatos; try { detalle.Creacion = DateTime.Now; context.Add(detalle); context.SaveChanges(); respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.OK, Mensaje = "Detalle del trueque creado exitosamente." }; } catch (Exception e) { throw new COExcepcion("Ocurrió un problema al intentar agregar el detalle del trueque."); } return(respuestaDatos); }