//public gsOV_BuscarCabeceraResult OrdenVenta_Buscar(int idEmpresa, int codigoUsuario, int idPedido, // ref List<gsOV_BuscarDetalleResult> objOrdenVentaDet, ref List<gsOV_BuscarImpuestoResult> objOrdenVentaImp, // ref bool? bloqueado, ref string mensajeBloqueado) //{ // try // { // OrdenVentaBL objOrdenVentaBL = new OrdenVentaBL(); // return objOrdenVentaBL.OrdenVenta_Buscar(idEmpresa, codigoUsuario, idPedido, ref objOrdenVentaDet, ref objOrdenVentaImp, // ref bloqueado, ref mensajeBloqueado); // } // catch (Exception ex) // { // throw ex; // } //} //public void OrdenVenta_Eliminar(int idEmpresa, int codigoUsuario, int idOperacion) //{ // try // { // OrdenVentaBL objOrdenVentaBL = new OrdenVentaBL(); // //objOrdenVentaBL.OrdenVenta_Eliminar(idEmpresa, codigoUsuario, idOperacion); // } // catch (Exception ex) // { // throw ex; // } //} //public List<gsOV_ListarResult> OrdenVenta_Listar(int idEmpresa, int codigoUsuario, string ID_Agenda, // DateTime fechaDesde, DateTime fechaHasta, string ID_Vendedor, bool modificarPedido) //{ // try // { // OrdenVentaBL objOrdenVentaBL = new OrdenVentaBL(); // return objOrdenVentaBL.OrdenVenta_Listar(idEmpresa, codigoUsuario, ID_Agenda, fechaDesde, // fechaHasta, ID_Vendedor, modificarPedido); // } // catch (Exception ex) // { // throw ex; // } //} ////public void OrdenVenta_Registrar(int idEmpresa, int codigoUsuario, gsOV_BuscarCabeceraResult objOrdenVentaCabBE, //// List<gsOV_BuscarDetalleResult> lstProductos, List<GlosaBE> lstImpuestos, decimal? idOperacion, decimal limiteCredito, //// DateTime fechaVencimiento) ////{ //// decimal neto, descuento, impuesto; //// List<gsOV_BuscarDetalleResult> lst; //// List<gsImpuesto_ListarPorItemResult> lstImp; //// List<GlosaBE> lstGlosa; //// try //// { //// List<gsPedidoDetalle> lstPedidoDet = new List<gsPedidoDetalle>(); //// OrdenVentaBL objOrdenVentaBL = new OrdenVentaBL(); //// PedidoBL objPedidoBL = new PedidoBL(); //// if (idOperacion == null && lstProductos.FindAll(x => x.Stock - x.Cantidad < 0).Count > 0 //// && lstProductos.FindAll(x => x.Stock - x.Cantidad >= 0).Count > 0) //// { //// ImpuestoBL objImpuestoBL = new ImpuestoBL(); //// if (lstProductos.FindAll(x => x.Stock - x.Cantidad >= 0).Count > 0) //// { //// neto = 0; //// descuento = 0; //// impuesto = 0; //// lst = lstProductos.FindAll(x => x.Stock - x.Cantidad >= 0); //// lstGlosa = new List<GlosaBE>(); //// foreach (gsOV_BuscarDetalleResult objProducto in lst) //// { //// if (objProducto.Estado == 1) //// { //// neto = neto + objProducto.Importe; //// descuento = descuento + objProducto.DctoValor; //// lstImp = objImpuestoBL.Impuesto_ListarPorItem(idEmpresa, codigoUsuario, objProducto.ID_Item, DateTime.Now.Date); //// foreach (gsImpuesto_ListarPorItemResult objImpuesto in lstImp) //// { //// GlosaBE objGlosaBE = new GlosaBE(); //// if (lstGlosa.FindAll(x => x.IdGlosa == objImpuesto.ID_Impuesto).Count <= 0) //// { //// objGlosaBE.IdGlosa = objImpuesto.ID_Impuesto; //// objGlosaBE.Descripcion = objImpuesto.Abreviacion; //// if (objImpuesto.Valor > 0) //// objGlosaBE.BaseImponible = objProducto.Importe; //// else //// objGlosaBE.BaseImponible = 0; //// objGlosaBE.Importe = Math.Round(((decimal)objImpuesto.Valor / 100) * (objProducto.Importe * (1 - (objProducto.DctoValor / 100))), 4); //// } //// else //// { //// objGlosaBE = lstGlosa.Find(x => x.IdGlosa == objImpuesto.ID_Impuesto); //// lstGlosa.Remove(objGlosaBE); //// if (objImpuesto.Valor > 0) //// objGlosaBE.BaseImponible = objGlosaBE.BaseImponible + objProducto.Importe; //// objGlosaBE.Importe = Math.Round(objGlosaBE.Importe + ((decimal)objImpuesto.Valor / 100) * (objProducto.Importe * (1 - (objProducto.DctoValor / 100))), 4); //// } //// lstGlosa.Add(objGlosaBE); //// } //// } //// } //// foreach (GlosaBE objGlosaBE in lstGlosa) //// { //// impuesto = impuesto + objGlosaBE.Importe; //// } //// objOrdenVentaCabBE.Neto = neto; //// objOrdenVentaCabBE.Dcto = descuento; //// objOrdenVentaCabBE.SubTotal = neto - descuento; //// objOrdenVentaCabBE.Impuestos = impuesto; //// objOrdenVentaCabBE.Total = neto - descuento + impuesto; //// gsPedidoDetalle objPedidoDetalle = new gsPedidoDetalle(); //// objPedidoDetalle.Op = objOrdenVentaBL.OrdenVenta_Registrar(idEmpresa, codigoUsuario, objOrdenVentaCabBE, //// lstProductos.FindAll(x => x.Stock - x.Cantidad >= 0), lstGlosa, idOperacion, limiteCredito); //// if (objOrdenVentaCabBE.Total > limiteCredito) //// { //// objPedidoDetalle.Motivo = "Se debe aumentar la linea de crédito en " + //// Math.Round((objOrdenVentaCabBE.Total - limiteCredito), 2).ToString() + "."; //// objPedidoDetalle.limiteCredito = true; //// } //// if (DateTime.Compare(DateTime.Now.Date, fechaVencimiento) > 0) //// { //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo + " Documentos pendientes de pago, aumentar los días de bloqueo en " + //// (DateTime.Now.Date - fechaVencimiento).Days.ToString() + "."; //// objPedidoDetalle.documentoPendiente = true; //// } //// if (lstProductos.FindAll(x => x.Stock - x.Cantidad >= 0).Count > 0) //// { //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo + " El pedido se ha guardado con stock."; //// objPedidoDetalle.sinStock = false; //// } //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo.Trim(); //// limiteCredito = limiteCredito - objOrdenVentaCabBE.Total; //// lstPedidoDet.Add(objPedidoDetalle); //// } //// if (lstProductos.FindAll(x => x.Stock - x.Cantidad < 0).Count > 0) //// { //// neto = 0; //// descuento = 0; //// impuesto = 0; //// lst = lstProductos.FindAll(x => x.Stock - x.Cantidad < 0); //// lstGlosa = new List<GlosaBE>(); //// foreach (gsOV_BuscarDetalleResult objProducto in lst) //// { //// if (objProducto.Estado == 1) //// { //// neto = neto + objProducto.Importe; //// descuento = descuento + objProducto.DctoValor; //// lstImp = objImpuestoBL.Impuesto_ListarPorItem(idEmpresa, codigoUsuario, objProducto.ID_Item, DateTime.Now.Date); //// foreach (gsImpuesto_ListarPorItemResult objImpuesto in lstImp) //// { //// GlosaBE objGlosaBE = new GlosaBE(); //// if (lstGlosa.FindAll(x => x.IdGlosa == objImpuesto.ID_Impuesto).Count <= 0) //// { //// objGlosaBE.IdGlosa = objImpuesto.ID_Impuesto; //// objGlosaBE.Descripcion = objImpuesto.Abreviacion; //// if (objImpuesto.Valor > 0) //// objGlosaBE.BaseImponible = objProducto.Importe; //// else //// objGlosaBE.BaseImponible = 0; //// objGlosaBE.Importe = Math.Round(((decimal)objImpuesto.Valor / 100) * (objProducto.Importe * (1 - (objProducto.DctoValor / 100))), 4); //// } //// else //// { //// objGlosaBE = lstGlosa.Find(x => x.IdGlosa == objImpuesto.ID_Impuesto); //// lstGlosa.Remove(objGlosaBE); //// if (objImpuesto.Valor > 0) //// objGlosaBE.BaseImponible = objGlosaBE.BaseImponible + objProducto.Importe; //// objGlosaBE.Importe = Math.Round(objGlosaBE.Importe + ((decimal)objImpuesto.Valor / 100) * (objProducto.Importe * (1 - (objProducto.DctoValor / 100))), 4); //// } //// lstGlosa.Add(objGlosaBE); //// } //// } //// } //// foreach (GlosaBE objGlosaBE in lstGlosa) //// { //// impuesto = impuesto + objGlosaBE.Importe; //// } //// objOrdenVentaCabBE.Neto = neto; //// objOrdenVentaCabBE.Dcto = descuento; //// objOrdenVentaCabBE.SubTotal = neto - descuento; //// objOrdenVentaCabBE.Impuestos = impuesto; //// objOrdenVentaCabBE.Total = neto - descuento + impuesto; //// gsPedidoDetalle objPedidoDetalle = new gsPedidoDetalle(); //// objPedidoDetalle.Op = objOrdenVentaBL.OrdenVenta_Registrar(idEmpresa, codigoUsuario, objOrdenVentaCabBE, //// lstProductos.FindAll(x => x.Stock - x.Cantidad < 0), lstGlosa, idOperacion, limiteCredito); //// if (objOrdenVentaCabBE.Total > limiteCredito) //// { //// objPedidoDetalle.Motivo = "Se debe aumentar la linea de crédito en " + //// Math.Round((objOrdenVentaCabBE.Total - limiteCredito), 2).ToString() + "."; //// objPedidoDetalle.limiteCredito = true; //// } //// if (DateTime.Compare(DateTime.Now.Date, fechaVencimiento) > 0) //// { //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo + " Documentos pendientes de pago, aumentar los días de bloqueo en " + //// (DateTime.Now.Date - fechaVencimiento).Days.ToString() + "."; //// objPedidoDetalle.documentoPendiente = true; //// } //// if (lstProductos.FindAll(x => x.Stock - x.Cantidad < 0).Count > 0) //// { //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo + " El pedido se ha guardado sin stock."; //// objPedidoDetalle.sinStock = true; //// } //// lstPedidoDet.Add(objPedidoDetalle); //// } //// objPedidoBL.Pedido_RegistrarAmarre(idEmpresa, codigoUsuario, lstPedidoDet); //// } //// else { //// gsPedidoDetalle objPedidoDetalle = new gsPedidoDetalle(); //// objPedidoDetalle.Op = objOrdenVentaBL.OrdenVenta_Registrar(idEmpresa, codigoUsuario, objOrdenVentaCabBE, //// lstProductos, lstImpuestos, idOperacion, limiteCredito); //// if (idOperacion == null) //// { //// objPedidoDetalle.Motivo = ""; //// if (objOrdenVentaCabBE.Total > limiteCredito) //// { //// objPedidoDetalle.Motivo = "Se debe aumentar la linea de crédito en " + //// Math.Round((objOrdenVentaCabBE.Total - limiteCredito), 2).ToString() + "."; //// objPedidoDetalle.limiteCredito = true; //// } //// if (DateTime.Compare(DateTime.Now.Date, fechaVencimiento) > 0) //// { //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo + " Documentos pendientes de pago, aumentar los días de bloqueo en " + //// (DateTime.Now.Date - fechaVencimiento).Days.ToString() + "."; //// objPedidoDetalle.documentoPendiente = true; //// } //// if (lstProductos.FindAll(x => x.Stock - x.Cantidad < 0).Count > 0) //// { //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo + " El pedido se ha guardado sin stock."; //// objPedidoDetalle.sinStock = true; //// } //// objPedidoDetalle.Motivo = objPedidoDetalle.Motivo.Trim(); //// lstPedidoDet.Add(objPedidoDetalle); //// objPedidoBL.Pedido_RegistrarAmarre(idEmpresa, codigoUsuario, lstPedidoDet); //// } //// } //// } //// catch (Exception ex) //// { //// throw ex; //// } ////} //public List<VBG03630Result> OrdenVenta_ListarTipo(int idEmpresa, int codigoUsuario) //{ // PedidoBL objPedidoBL; // try // { // objPedidoBL = new PedidoBL(); // return objPedidoBL.Pedido_ListarTipo(idEmpresa, codigoUsuario); // } // catch (Exception ex) // { // throw ex; // } //} //public void OV_TransGratuitas_Aprobar(int idEmpresa, int codigoUsuario, int Op, ref string mensajeError) //{ // try // { // OrdenVentaBL objOrdenVentaBL = new OrdenVentaBL(); // objOrdenVentaBL.OV_TransGratuitas_Aprobar(idEmpresa, codigoUsuario, Op, ref mensajeError); // } // catch (Exception ex) // { // throw ex; // } //} //public List<gsOV_Listar_SectoristaResult> OrdenVenta_Listar_Sectorista(int idEmpresa, int codigoUsuario, string ID_Agenda, DateTime fechaDesde, DateTime fechaHasta, string ID_Vendedor, bool modificarPedido, string id_Sectorista) //{ // List<gsOV_Listar_SectoristaResult> lista = new List<gsOV_Listar_SectoristaResult>(); // try // { // OrdenVentaBL objOrdenVentaBL = new OrdenVentaBL(); // //return objOrdenVentaBL.OrdenVenta_Listar_Sectorista(idEmpresa, codigoUsuario, ID_Agenda, fechaDesde, fechaHasta, ID_Vendedor, modificarPedido, id_Sectorista); // return lista; // } // catch (Exception ex) // { // throw ex; // } //} //---------------------------------------------- #endregion #region NEW public void Anular_OC(int idEmpresa, int codigoUsuario, int OP) { try { OrdenCompraBL objBL = new OrdenCompraBL(); objBL.Anular_OC(idEmpresa, codigoUsuario, OP); } catch (Exception ex) { throw ex; } }