Exemple #1
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);
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }