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); }
internal async Task <RespuestaDatos> GuardarProductoPedido(ProdSerXVendidosPed productoPedido, PedidosPed pedido) { RespuestaDatos respuestaDatos; if (pedido != null) { try { respuestaDatos = await _repoProdSerXVendidosPed.GuardarProductoPedido(productoPedido); } 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("El pedido ingresado no existe."); } return(respuestaDatos); }
internal async Task <RespuestaDatos> GuardarProductoPedido(ProdSerXVendidosPed productoPedido) { using FeContext context = new FeContext(); RespuestaDatos respuestaDatos; try { context.Add(productoPedido); System.Diagnostics.Debug.WriteLine("Lo añadió :)"); System.Diagnostics.Debug.WriteLine(productoPedido.Creacion); context.SaveChanges(); System.Diagnostics.Debug.WriteLine("Khe"); respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.OK, Mensaje = "Producto pedido creado exitosamente." }; } catch (Exception e) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = e.Message, Traza = e.StackTrace, Usuario = "no_aplica", Creacion = DateTime.Now, Tipoerror = COErrorLog.ENVIO_CORREO }); throw new COExcepcion("Ocurrió un problema al intentar realizar la creación del detalle de producto de pedido"); } return(respuestaDatos); }
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); }
public async Task <RespuestaDatos> ModificarProductoPedido(ProdSerXVendidosPed productoPedido) { RespuestaDatos respuestaDatos; try { respuestaDatos = await _pEPedidoBiz.ModificarProductoPedido(productoPedido); } catch (COExcepcion e) { throw e; } return(respuestaDatos); }
internal ProdSerXFacturaFac ProductoPedidoAProductoFactura(ProdSerXVendidosPed productoPedido, int idFactura) { ProdSerXFacturaFac productoFactura = new ProdSerXFacturaFac(); if (productoPedido != null && idFactura != -1) { productoFactura.Id = 0; productoFactura.Preciofacturado = productoPedido.Preciototal; productoFactura.Cantidadfacturado = productoPedido.Cantidadespedida; productoFactura.Idproductoservicio = productoPedido.Idproductoservico; productoFactura.Idfactura = idFactura; } return(productoFactura); }
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); }
internal async Task <RespuestaDatos> ModificarProductoPedido(ProdSerXVendidosPed productoPedido) { RespuestaDatos respuestaDatos; try { respuestaDatos = await _repoProdSerXVendidosPed.ModificarProductoPedido(productoPedido); } 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; } return(respuestaDatos); }
internal async Task <RespuestaDatos> ModificarProductoPedido(ProdSerXVendidosPed productoPedido) { using FeContext context = new FeContext(); RespuestaDatos respuestaDatos; ProdSerXVendidosPed prodPed = GetProductoPedidoPorId(productoPedido.Id); if (prodPed != null) { try { context.Attach(prodPed); prodPed.Idproductoservico = productoPedido.Idproductoservico; prodPed.Idpedido = productoPedido.Idpedido; prodPed.Preciototal = productoPedido.Preciototal; prodPed.Cantidadespedida = productoPedido.Cantidadespedida; context.SaveChanges(); respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.OK, Mensaje = "Producto pedido modificado exitosamente." }; } catch (Exception e) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = e.Message, Traza = e.StackTrace, Usuario = "no_aplica", Creacion = DateTime.Now, Tipoerror = COErrorLog.ENVIO_CORREO }); throw new COExcepcion("Ocurrió un problema al intentar modificar el producto pedido."); } } else { throw new COExcepcion("El producto pedido no existe"); } return(respuestaDatos); }
internal async Task <RespuestaDatos> RemoverProductoPedido(int idProductoPedido) { using FeContext context = new FeContext(); RespuestaDatos respuestaDatos; ProdSerXVendidosPed prodPed = GetProductoPedidoPorId(idProductoPedido); if (prodPed != null) { try { context.ProdSerXVendidosPeds.Attach(prodPed); context.ProdSerXVendidosPeds.Remove(prodPed); context.SaveChanges(); respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.OK, Mensaje = "Producto pedido eliminado exitosamente." }; } catch (Exception e) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = e.Message, Traza = e.StackTrace, Usuario = "no_aplica", Creacion = DateTime.Now, Tipoerror = COErrorLog.ENVIO_CORREO }); throw new COExcepcion("Ocurrió un problema al intentar eliminar el producto pedido"); } } else { throw new COExcepcion("El producto pedido no existe"); } return(respuestaDatos); }
public async Task <RespuestaDatos> ModificarProductoPedido([FromBody] ProdSerXVendidosPed productoPedido) { RespuestaDatos respuestaDatos; try { respuestaDatos = await _peFachada.ModificarProductoPedido(productoPedido); } catch (COExcepcion e) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = e.Message, Traza = e.StackTrace, Usuario = "no_aplica", Creacion = DateTime.Now, Tipoerror = COErrorLog.ENVIO_CORREO }); respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.ERROR, Mensaje = e.Message }; } return(respuestaDatos); }
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); }