private void SeleccionarRemitos()
        {
            //Mas de uno encontrado.
            var remitosList = _remitoNegocio.GetByClienteId(_cliente.Id, Context.SucursalActual.Id);

            if (remitosList.Any())
            {
                if (remitosList.Count > 1)
                {
                    using (var seleccionarConsignacion = new FrmSeleccionarConsignacion(remitosList))
                    {
                        seleccionarConsignacion.ConsignacionSelected += (o, consignacion) =>
                        {
                            UcTitulosConsignacionVenta.Titulos = _remitoDetalleNegocio.ListadoByRemitoVentaId(consignacion.Id.ToString());
                            UcTitulosConsignacionVenta.RefrescarTitulos();
                            seleccionarConsignacion.Close();
                            LblFechaConsignacion.Text = "Fecha de Consignación: " + consignacion.FechaAlta.ToString();
                        };

                        seleccionarConsignacion.ShowDialog();
                    }
                }
                else
                {
                    UcTitulosConsignacionVenta.Titulos = _remitoDetalleNegocio.ListadoByRemitoVentaId(remitosList[0].Id.ToString());
                    UcTitulosConsignacionVenta.RefrescarTitulos();
                    LblFechaConsignacion.Text = "Fecha de Consignación: " + _remitoDetalleNegocio.ListadoByRemitoVentaId(remitosList[0].FechaAlta.ToString());
                }
            }
        }
        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 UcBuscadorConsignacionOnBuscarFinished(object sender, List <RemitosVenta> remitos)
        {
            if (remitos.Any())
            {
                if (remitos.Count == 1)
                {
                    ActualizarCliente(remitos[0].ClienteConsignado);
                    LblFechaConsignacion.Text = "Fecha de Consignación: " + remitos[0].FechaAlta.ToString();
                }

                UcTitulosConsignacionVenta.Titulos = _remitoDetalleNegocio.ListadoByRemitoVentaId(remitos[0].Id.ToString());
                UcTitulosConsignacionVenta.RefrescarTitulos();
            }
            else
            {
                _messageBoxDisplayService.ShowWarning(Resources.ErrorBuscarConsignacionVacio);
            }
        }
        private void RealizarVenta()
        {
            RendirConsignacionClienteData consignacionData = new RendirConsignacionClienteData();

            consignacionData.EsVentaReservada  = _formMode == ActionFormMode.Edit;
            consignacionData.OperadorId        = Context.OperadorActual.Id;
            consignacionData.SucursalId        = Context.SucursalActual.Id;
            consignacionData.NumeroComprobante = _id;
            consignacionData.ClienteId         = _cliente.Id;

            consignacionData.TipoComprobanteSeleccionado    = UcBuscadorConsignacion.TipoComprobanteSeleccionado;
            consignacionData.CondicionVentaSeleccionada     = UcBuscadorConsignacion.CondicionVentaSeleccionada;
            consignacionData.TipoCajaMovimientoSeleccionado = UcBuscadorConsignacion.TipoCajaMovimientoSeleccionado;

            consignacionData.TotalPagar         = UcTotalesVenta.TotalPagar;
            consignacionData.Senas              = UcTotalesVenta.Senas;
            consignacionData.CreditosDevolucion = UcTotalesVenta.CreditosDevolucion;

            UcTitulosConsignacionVenta.ActualizarInfo();
            consignacionData.RemitosVentaDetalle = UcTitulosConsignacionVenta.Titulos;

            consignacionData.CajaActualId = Context.CajaActual.Id;
            consignacionData.Anticipo     = UcCuentaCorrienteInfo.Anticipo;
            //consignacionData.SubTotal = UcCuentaCorrienteInfo.SubTotal;
            consignacionData.SubTotal = UcTotalesVenta.SubTotal;

            consignacionData.Pagos            = UcTotalesVenta.Pagos;
            consignacionData.Cuotas           = UcCuentaCorrienteInfo.Cuotas;
            consignacionData.Montocuota       = UcCuentaCorrienteInfo.Montocuota;
            consignacionData.VencimientoCuota = UcCuentaCorrienteInfo.Vencimiento;
            consignacionData.PcAlta           = Environment.MachineName;
            consignacionData.PuntoVenta       = Context.SucursalActual.SucursalNumero ?? 1;

            CrearVentaResponse ventaResponse;

            try
            {
                ventaResponse = _ventaNegocio.CrearVentaRendicionConsignacionCliente(consignacionData);
            }
            catch (ApplicationException ex)
            {
                _messageBoxDisplayService.ShowError(ex.Message);
                return;
            }

            //if (ventaResponse.Comprobantes.Count != 0)
            //{
            foreach (var comprobante in ventaResponse.Comprobantes)
            {
                using (var crearComprobante = FormFactory.Create <FrmComprobante>())
                {
                    crearComprobante._concepto = comprobante.Concepto;
                    crearComprobante._LCN      = comprobante.LCN;
                    var conv = new Conversion();
                    crearComprobante._montoTexto       = conv.enletras((comprobante.Importe - comprobante.ImpOcupado).ToString());
                    crearComprobante._montoActualizado = (comprobante.Importe - comprobante.ImpOcupado);
                    crearComprobante.ShowDialog();
                }
            }

            //  _messageBoxDisplayService.ShowSuccess(Resources.MessageSuccessVentaExitosa);

            if (ChkImprimir.Checked)
            {
                DirectPrint print = new DirectPrint(Uow);
                print.Descripcion = ventaResponse.FacturaInfo.Descripcion;
                print.FormaPago   = ventaResponse.FacturaInfo.FormaPago;
                print.Recargo     = UcTotalesVenta.Recargo.ToString();
                print.GenerarFactura(ventaResponse.VentaId);
            }

            using (var crearVenta = FormFactory.Create <FrmFacturaVenta>(ventaResponse.VentaId))
            {
                if (ventaResponse.VentaId != Guid.Empty)
                {
                    crearVenta._descripcion = ventaResponse.FacturaInfo.Descripcion;
                    crearVenta._formaPago   = ventaResponse.FacturaInfo.FormaPago;
                    crearVenta._recargo     = UcTotalesVenta.Recargo.ToString();

                    crearVenta.ShowDialog();
                }
            }

            OnVentaRealizada();
            //}
            //else
            //{
            _messageBoxDisplayService.ShowSuccess("Rendición guardada con éxito");
            //}

            var pageTab = this.Parent as RadPageViewPage;

            if (pageTab != null)
            {
                pageTab.Dispose();
            }
            ;

            if (_formMode == ActionFormMode.Edit)
            {
                this.Close();
            }
        }
 private void UcTitulosVentaOnDescuentoChanged(object sender, int?e)
 {
     UcTitulosConsignacionVenta.ActualizarDescuento(UcTotalesVenta.Descuento);
 }
 private void UcTotalesVentaOnRecargoChanged(object sender, int?e)
 {
     UcTitulosConsignacionVenta.ActualizarRecargo(UcTotalesVenta.Recargo);
 }