public void ConsultaPedidos() { this._datosFolio.ConsultaListaPedidos(this._añoAtt, this._folio, this._dtListaPedido); if (!Convert.ToBoolean(Convert.ToByte(this._parametros.ValorParametro("DescuentoProntoPago")))) { return; } foreach (DataRow dataRow in (InternalDataCollectionBase)this._dtListaPedido.Rows) { Cliente cliente = new Cliente(Convert.ToInt32(dataRow["Cliente"]), (byte)7); cliente.ConsultaDatosCliente(); dataRow["Descuento"] = !cliente.Encontrado ? (object)0 : (object)(cliente.Descuento * Convert.ToDecimal(dataRow["Litros"])); if ((int)Convert.ToInt16(this._parametros.ValorParametro("LiqPrecioNeto")) == 0) { Precio precio = new Precio(this._claseRuta, this._fecha, this._preciosMultiples); DataTable dataTable = new DataTable(); Decimal num1 = ControlDeDescuento.Instance.PrecioAutorizado(precio.ListaPrecios(), cliente.Descuento, cliente.ZonaEconomica); if (Convert.ToDecimal(dataRow["Precio"]) == num1) { dataRow["Descuento"] = (object)0; } else { dataRow["Descuento"] = (object)(cliente.Descuento * Convert.ToDecimal(dataRow["Litros"])); Decimal num2 = cliente.Descuento * Convert.ToDecimal(dataRow["Litros"]); } } } }
protected void btnBuscar_Click(object sender, ImageClickEventArgs e) { btnAceptar.Enabled = true; limpiaControles(); try { if (txtPedido.Text.Trim().Length == 0) { DocumentosBSR.SerieDocumento.SeparaSerie(txtRemision.Text); _pedido = new SigametLiquidacion.Pedido(DocumentosBSR.SerieDocumento.Serie, DocumentosBSR.SerieDocumento.FolioNota); } else { _pedido = new SigametLiquidacion.Pedido(txtPedido.Text); } Session["PedidoCambioRemision"] = _pedido; txtPedido.Text = _pedido.PedidoReferencia; txtRemision.Text = _pedido.SerieRemision.Trim() + _pedido.FolioRemision.ToString().Trim(); lblLitros.Text = _pedido.Litros.ToString(); lblTotal.Text = _pedido.Importe.ToString("C"); lblFormaPago.Text = (_pedido.FormaPago == 5) ? "CONTADO" : "CREDITO"; lblFolio.Text = _pedido.AñoAtt + " - " + _pedido.FolioAtt; lblFSuministro.Text = _pedido.FechaSuministro.ToShortDateString(); _cliente = new SigametLiquidacion.Cliente(_pedido.Cliente, 7); _cliente.ConsultaDatosCliente(); lblCliente.Text = _cliente.NumeroCliente.ToString(); lblNombre.Text = _cliente.Nombre; lblDomicilio.Text = _cliente.Direccion; _parametros = new SigametLiquidacion.Parametros(1, 1, 22); if ((DateTime.Today.Date - _pedido.FechaSuministro.Date).Days > Convert.ToInt32(_parametros.ValorParametro("LimiteDiasModificacion"))) { lblError.Text = "No puede modificar este pedido, ya concluyó el periodo permitido realizar cambios"; btnAceptar.Enabled = false; } if (_pedido.Factura.Trim().Length > 0) { lblError.Text = "No puede modificar este pedido, ya fué facturado (Folio Factura: " + _pedido.Factura + ")"; btnAceptar.Enabled = false; } } catch (Exception ex) { lblError.Text = "Error:" + (char)13 + ex.Message; } }
public void DescargaSuministros(TipoOperacionDescarga TipoDescarga) { ControlDeCredito.Instance.Parametros = this._parametros; ControlDeDescuento.Instance.Parametros = this._parametros; bool folioRemisionAutomatico = Convert.ToBoolean(Convert.ToByte(this._parametros.ValorParametro("FolioRemisionAutomatico"))); Precio precio = Convert.ToBoolean(Convert.ToByte(this._parametros.ValorParametro("MultipesZonasEconomicas"))) ? new Precio((int)this._ruta, this._claseRuta, this._fecha, this._preciosMultiples) : new Precio(this._claseRuta, this._fecha, this._preciosMultiples); if (this._status == "LIQUIDADO" || this._status == "LIQCAJA") { return; } DataTable ListaPedidos = new DataTable("Suministros"); if (TipoDescarga == TipoOperacionDescarga.Rampac) { ListaPedidos = this._datosFolio.DescargaRampac(this._añoAtt, this._folio); } if (Convert.ToBoolean(Convert.ToByte(this._parametros.ValorParametro("SumarizarSuministros")))) { ListaPedidos = this.AgruparSuministros(ListaPedidos); } foreach (DataRow dataRow in ListaPedidos.Rows) { int Cliente1 = (int)dataRow["Cliente"]; int ConsecutivoOrigen = (int)dataRow["Consecutivo"]; string FormaPago = (string)dataRow["FormaPago"]; Decimal Precio = (Decimal)dataRow["Precio"]; Decimal TotalPedido = (Decimal)dataRow["Importe"]; Cliente Cliente2 = new Cliente(Cliente1, (byte)7); Cliente2.FSuministro = Fecha;//21-07-15 Consulta de precio de acuerdo a la zona económica del cliente. Cliente2.ConsultaDatosCliente(); int folioRemision = 0; string folioRemisionCompleto = string.Empty; if (folioRemisionAutomatico && this._folioRemisionAutomaticoRuta) { //TODO: Revisar como parametrizar remisión SGC /* * SerieDocumento.SeparaSerie(Convert.ToString(dataRow["FolioNota"])); * //this._serieRemision = SerieDocumento.get_Serie(); * this._serieRemision = SerieDocumento.Serie; * //num1 = SerieDocumento.get_FolioNota(); * folioRemision = SerieDocumento.FolioNota; * */ string folioNotaRemision = Convert.ToString(dataRow["FolioNota"]); //Temporal, para pedidos sin número de contrato folioRemisionCompleto = folioNotaRemision; // string serieNotaRemision = folioNotaRemision.Substring(0, this.longitudSerieNota); folioNotaRemision = folioNotaRemision.Remove(0, this.longitudSerieNota); this._serieRemision = serieNotaRemision; folioRemision = Convert.ToInt32(folioNotaRemision); } if (Cliente2.Encontrado && Cliente2.NumeroCliente > 0) { string ObservacionesConciliacion = string.Empty; bool creditoAutorizado = true; if (!ControlDeCredito.Instance.AutorizacionCredito(ControlDeCredito.Instance.AsignarFormaPago(FormaPago, "CRÉDITO", Cliente2.TipoCreditoCliente), TotalPedido, ControlDeCredito.Instance.ResumenSaldoCliente(Cliente2.NumeroCliente, this._dtListaPedido), Cliente2, this.Tripulacion.LimiteCreditoDisponible(ControlDeCredito.Instance.ResumenSaldoTipoCobro((byte)9, this._dtListaPedido, "CONCILIADO")))) { creditoAutorizado = false; ObservacionesConciliacion = "Crédito no autorizado"; } if (!ControlDeDescuento.Instance.DescuentoAutorizado(Cliente2, (Decimal)dataRow["Precio"], precio.ListaPrecios())) { creditoAutorizado = false; //22-07-2015 - Selección del precio de acuerdo a la zona económica del cliente. creditoAutorizado = ((Decimal)dataRow["Precio"] == Cliente2.PrecioCliente); if (!creditoAutorizado) { ObservacionesConciliacion = "Descuento no autorizado (Surtido a $ " + ((Decimal)dataRow["Precio"]).ToString("0.00") + "/lt )"; } } if (creditoAutorizado) { Pedido pedido = new Pedido(Cliente2.NumeroCliente); bool pedidoActivo = false; try { pedidoActivo = pedido.ConsultaPedidoActivo(); } catch (Exception ex) { } if (!pedidoActivo) { try { pedido.AltaPedido(this._añoAtt, this._folio, Cliente2.Celula, Cliente2.Ruta, this._fecha, this._usuario); pedido.ConsultaPedidoActivo(); } catch (Exception ex) { } } pedido.AñoAtt = this._añoAtt; pedido.FolioAtt = this._folio; pedido.Litros = Convert.ToDouble(dataRow["Litros"]); pedido.FechaSuministro = this._fecha; pedido.Precio = Precio; pedido.RutaSuministro = this._ruta; pedido.AutoTanque = this._autoTanque; pedido.FormaPago = ControlDeCredito.Instance.AsignarFormaPago(FormaPago, "CRÉDITO", Cliente2.TipoCreditoCliente); pedido.TipoDescarga = TipoDescarga; pedido.ConsecutivoOrigen = ConsecutivoOrigen; if (folioRemision > 0) { pedido.SerieRemision = this._serieRemision; pedido.FolioRemision = folioRemision; } Decimal num2 = new Decimal(0); Decimal Descuento = !Convert.ToBoolean(Convert.ToByte(this._parametros.ValorParametro("DescuentoProntoPago"))) ? new Decimal(0) : Convert.ToDecimal(pedido.Litros) * Cliente2.Descuento; if ((int)Convert.ToInt16(this._parametros.ValorParametro("LiqPrecioNeto")) == 0) { Descuento = !(pedido.Precio < precio.PrecioVigente) ? (!Convert.ToBoolean(Convert.ToByte(this._parametros.ValorParametro("DescuentoProntoPago"))) ? new Decimal(0) : Convert.ToDecimal(pedido.Litros) * Cliente2.Descuento) : new Decimal(0); } pedido.ImporteDescuentoAplicado = Convert.ToDecimal(pedido.Litros) * Cliente2.Descuento; pedido.DescuentoAplicado = Descuento == new Decimal(0) && pedido.ImporteDescuentoAplicado > new Decimal(0); try { pedido.LiquidaPedido(); this.AltaPedido(Cliente2.NumeroCliente, pedido.Celula, pedido.AñoPed, pedido.NumeroPedido, Cliente2.Nombre, pedido.PedidoReferencia, pedido.Litros, pedido.Precio, pedido.Importe, pedido.FormaPago, pedido.TipoPedido, "CONCILIADO", Convert.ToInt32((object)TipoDescarga), ConsecutivoOrigen, folioRemision > 0 ? folioRemision.ToString() : string.Empty, string.Empty, Descuento); } catch (Exception ex) { Trace.Write((object)ex); } } else { this.AltaPedido(Cliente1, (short)0, (short)0, 0, Cliente2.Nombre, string.Empty, Convert.ToDouble(dataRow["Litros"]), Precio, (Decimal)dataRow["Litros"] * Precio, ControlDeCredito.Instance.AsignarFormaPago(FormaPago, "CRÉDITO", Cliente2.TipoCreditoCliente), (byte)0, "ERROR", Convert.ToInt32((object)TipoDescarga), ConsecutivoOrigen, string.Empty, ObservacionesConciliacion, new Decimal(0)); } } else { this.AltaPedido(Cliente1, (short)0, (short)0, 0, string.Empty, string.Empty, Convert.ToDouble(dataRow["Litros"]), Precio, (Decimal)dataRow["Litros"] * Precio, (byte)5, (byte)0, "PENDIENTE", Convert.ToInt32((object)TipoDescarga), ConsecutivoOrigen, folioRemision > 0 ? folioRemisionCompleto : string.Empty, string.Empty, new Decimal(0)); } } }