public FrmCrearVenta(IClock clock, IFormFactory formFactory, IMessageBoxDisplayService messageBoxDisplayService, IVentaNegocio ventaNegocio, IClienteNegocio clienteNegocio, IFormRegistry formRegistry, DirectPrint directPrint, int id, ActionFormMode mode) { FormFactory = formFactory; FormRegistry = formRegistry; _clock = clock; _messageBoxDisplayService = messageBoxDisplayService; _ventaNegocio = ventaNegocio; _clienteNegocio = clienteNegocio; _directPrint = directPrint; _id = id; _formMode = mode; InitializeComponent(); InicializarForm(mode); }
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(); } }