private void ActualizarCliente(Cliente cliente) { if (!cliente.Activo ?? true) { _messageBoxDisplayService.Show(this, string.Format(Resources.MensajeClienteInactivo, cliente.Denominacion, cliente.Cuit), Resources.LabelVentas); return; } _cliente = cliente; var deudaTotal = _clienteNegocio.DeudaTotal(_cliente.Id, this.Context.SucursalActual.Id); var deudaVencida = _clienteNegocio.DeudaVencida(_cliente.Id, this.Context.SucursalActual.Id); UcClienteDetalle.ActualizarCliente(_cliente, deudaTotal, deudaVencida); UcCuentaCorrienteInfo.ActualizarInfoCuentaCorriente(_cliente); //UcTotalesVenta.Senas = 0; //UcTotalesVenta.CreditosDevolucion = 0; UcTotalesVenta.SenasDisp = _ventaNegocio.SenaAFavorCliente(_cliente.Id, Context.SucursalActual.Id); UcTotalesVenta.CreditosDevolucionDisp = _ventaNegocio.CreditosPorDevolucion(_cliente.Id, Context.SucursalActual.Id); // UcTotalesVenta.ActualizarMontosAFavor(UcTotalesVenta.Senas, UcTotalesVenta.CreditosDevolucion); UcTotalesVenta.ActualizarMontosAFavor(UcTotalesVenta.SenasDisp, UcTotalesVenta.CreditosDevolucionDisp); UcTotalesVenta.Senas = 0; UcTotalesVenta.CreditosDevolucion = 0; UcBuscadorConsignacion.ActualizarFormaPago(_cliente); }
private void ActualizarTotal() { var subTotal = UcTitulosConsignacionVenta.CalcularSubTotal(); UcTotalesVenta.SubTotal = subTotal; UcTotalesVenta.TotalPagar = UcTotalesVenta.SubTotal.GetValueOrDefault() - UcTotalesVenta.Senas.GetValueOrDefault() - UcTotalesVenta.CreditosDevolucion.GetValueOrDefault(); // UcTotalesVenta.TotalPagar -= UcTotalesVenta.TotalPagar * UcTotalesVenta.Descuento.GetValueOrDefault() / 100; UcTotalesVenta.FaltaPagar = UcTotalesVenta.TotalPagar - UcTotalesVenta.TotalPagos(); if (UcTotalesVenta.TotalPagar > 0) { if (UcBuscadorConsignacion.CondicionVentaSeleccionada == CondicionVentaEnum.CuentaCorriente) { UcTotalesVenta.GenerarPagoAutoNuevo(UcTotalesVenta.TotalPagar - UcCuentaCorrienteInfo.Anticipo, FormaPago.CuentaCorriente); } else { UcTotalesVenta.GenerarPagoAutoNuevo(UcTotalesVenta.TotalPagar, FormaPago.Efectivo); } } else { UcTotalesVenta.Pagos.Clear(); } }
private void UcTotalesVentaOnFaltaPagarChanged(object sender, decimal?e) { if (UcTotalesVenta.FaltaPagar != 0) { UcTotalesVenta.EliminarPagoEfectivo(); if (UcTotalesVenta.FaltaPagar > 0) { UcTotalesVenta.GenerarPagoAnticipoNuevo(UcTotalesVenta.FaltaPagar, FormaPago.Efectivo); } } }
private void UcTitulosVentaOnVentaTitulosChanged(object sender, IList <RemitosVentaDetalleDto> remitoTitulos) { if (UcTitulosConsignacionVenta.Titulos.Count == 0) { UcTotalesVenta.LimpiarPagos(); UcTotalesVenta.SubTotal = 0; ActualizarTotal(); } else { ActualizarTotal(); } }
private void FrmCrearVenta_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Insert) { //UcTitulosVenta.BtnAgregarTitulo_Click(null, null); } if (e.KeyCode == Keys.F9) { UcTotalesVenta.BtnAgregarPago_Click(null, null); } if (e.KeyCode == Keys.F3) { UcBuscadorConsignacion.Foco(); } }
private void UcBuscadorClienteOnFormaPagoChanged(object sender, FormaPago e) { UcTotalesVenta.Pagos.Clear(); UcTotalesVenta.RefrescarPagos(); if (UcBuscadorConsignacion.CondicionVentaSeleccionada == CondicionVentaEnum.CuentaCorriente) { RPCtaccte.Visible = true; UcCuentaCorrienteInfo.Anticipo = 0; } else { RPCtaccte.Visible = false; } ActualizarTotal(); }
private void BtnRendirConsignacion_Click(object sender, EventArgs e) { if (UcTitulosConsignacionVenta.Titulos.Sum(t => t.CntARendir) == 0 && UcTitulosConsignacionVenta.Titulos.Sum(t => t.CntADevolver) == 0) { _messageBoxDisplayService.ShowError("Debe seleccionar libros a facturar"); return; } if (_cliente == null) { _messageBoxDisplayService.ShowError(Resources.ErrorMessageSeleccionarCliente); return; } if (!UcTitulosConsignacionVenta.Titulos.Any()) { _messageBoxDisplayService.ShowError(Resources.ErrorMessageVentaSinLibros); return; } if (!UcTotalesVenta.Validar()) { return; } if (UcBuscadorConsignacion.CondicionVentaSeleccionada == CondicionVentaEnum.CuentaCorriente && UcTotalesVenta.SubTotal.HasValue && UcTotalesVenta.SubTotal.Value > 0 && UcTotalesVenta.SubTotal.Value <= UcTotalesVenta.Descuento.GetValueOrDefault()) { _messageBoxDisplayService.ShowError("El descuento no puede superar al importe total de la venta"); return; } if (UcBuscadorConsignacion.CondicionVentaSeleccionada == CondicionVentaEnum.CuentaCorriente && UcCuentaCorrienteInfo.Cuotas == null) { _messageBoxDisplayService.ShowError("Debe indicar la cantidad de cuotas del plan"); return; } if (UcTitulosConsignacionVenta.Titulos.Count > Context.SucursalActual.MaximoNroLineasPorVenta) { _messageBoxDisplayService.ShowError("Se ha superado el límite máximo de líneas por venta."); return; } //Ahora calculo el porcentaje de descuento para ver si no supera el maximo permitido //var porcentaje = (UcTotalesVenta.Descuento.GetValueOrDefault() * 100) / UcTotalesVenta.SubTotal.Value; var porcentaje = UcTotalesVenta.Descuento.GetValueOrDefault(); var porcentajeNoAutorizado = porcentaje > Context.SucursalActual.MaximoPorcentajeDescuento; var importeNoAutorizado = UcTotalesVenta.SubTotal.Value >= Context.SucursalActual.MaximoImporteVenta; if (UcBuscadorConsignacion.CondicionVentaSeleccionada == CondicionVentaEnum.Contado) { importeNoAutorizado = false; } if (porcentajeNoAutorizado || importeNoAutorizado) { using (var login = FormFactory.Create <FrmLogin>()) { login.RolesAceptados = new List <string>() { "Admin", "SuperAdmin" }; login.CambiarIdentity = false; if (login.ShowDialog() != DialogResult.OK) { //_messageBoxDisplayService.ShowError(Resources.ErrorMessageVentaSinLibros); return; } } } //Vuelto if (ChkVuelto.IsChecked) { decimal?efectivo = 0; foreach (VentaPago pago in this.UcTotalesVenta.Pagos) { if (pago.TipoPago == FormaPago.Efectivo) { efectivo = pago.Importe; } } using (var frmVuelto = new FrmVuelto()) { frmVuelto.APagar = efectivo; frmVuelto.Paga = efectivo; frmVuelto.ShowDialog(); } } RealizarVenta(); }
private void UcCuentaCorrienteInfoOnAnticipoChanged(object sender, decimal?e) { UcTotalesVenta.GenerarPagoAutoNuevo(UcCuentaCorrienteInfo.Adeuda, FormaPago.CuentaCorriente); }