예제 #1
0
		public override Lfx.Types.OperationResult Ok()
		{
                        if (Lfx.Types.Parsing.ParseCurrency(EntradaImporte.Text) <= 0)
                                return new Lfx.Types.FailureOperationResult("Por favor escriba el importe.");

			if(EntradaCaja.ValueInt <= 0)
				return new Lfx.Types.FailureOperationResult("Por favor seleccione la caja de destino.");

                        IDbTransaction Trans = this.Connection.BeginTransaction(IsolationLevel.Serializable);

			Lbl.Personas.Persona Cliente = new Lbl.Personas.Persona(Connection, EntradaCliente.ValueInt);
			Lbl.Comprobantes.ReciboDeCobro Rec = new Lbl.Comprobantes.ReciboDeCobro(this.Connection);
			Rec.Crear();
                        Rec.Cliente = Cliente;
			Rec.Cobros.Add(new Lbl.Comprobantes.Cobro(Connection, Lbl.Pagos.TiposFormasDePago.Caja, Lfx.Types.Parsing.ParseCurrency(EntradaImporte.Text)));
			Rec.Cobros[0].CajaDestino = new Lbl.Cajas.Caja(Connection, EntradaCaja.ValueInt);
                        Rec.Vendedor = Lbl.Sys.Config.Actual.UsuarioConectado.Persona;
			Lfx.Types.OperationResult Res = Rec.Guardar();

                        if (Res.Success) {
                                Trans.Commit();

                                if (Rec.Tipo.ImprimirAlGuardar) {
                                        using (IDbTransaction TransImpr = Rec.Connection.BeginTransaction()) {
                                                Lazaro.Impresion.Comprobantes.ImpresorRecibo Impresor = new Lazaro.Impresion.Comprobantes.ImpresorRecibo(Rec, TransImpr);
                                                Lfx.Types.OperationResult ResImprimir = Impresor.Imprimir();
                                                if (ResImprimir.Success) {
                                                        TransImpr.Commit();
                                                } else {
                                                        TransImpr.Rollback();
                                                        if (ResImprimir.Message != null)
                                                                Lui.Forms.MessageBox.Show(ResImprimir.Message, "Error");
                                                        else
                                                                Lui.Forms.MessageBox.Show("Se creó el recibo, pero no se imprimió correctamente.", "Error");
                                                }
                                        }
                                }

                                string NombreCliente = EntradaCliente.TextDetail;
                                Lfx.Workspace.Master.RunTime.Toast("Se creo un recibo para el cliente " + NombreCliente, "Recibo rápido");

                                EntradaCliente.ValueInt = 0;
                                EntradaCliente.Focus();
                                return new Lfx.Types.CancelOperationResult();
                        } else {
                                Trans.Rollback();
                                return Res;
                        }
        	}
예제 #2
0
        private void CrearReciboParaEstaFactura()
        {
            Lbl.Comprobantes.ComprobanteConArticulos Factura = this.Elemento as Lbl.Comprobantes.ComprobanteConArticulos;
            Lbl.Comprobantes.ReciboDeCobro           Recibo  = new Lbl.Comprobantes.ReciboDeCobro(Lfx.Workspace.Master.GetNewConnection("Nuevo recibo para " + Factura.ToString()) as Lfx.Data.Connection);
            Recibo.Crear();
            Recibo.Facturas.AddWithValue(Factura, Factura.ImporteImpago);
            Recibo.Cliente = Factura.Cliente;

            Recibo.Concepto      = Lbl.Cajas.Concepto.IngresosPorFacturacion;
            Recibo.ConceptoTexto = "Cancelación de " + Factura.ToString();

            Lfc.FormularioEdicion NuevoRecibo = Lfc.Instanciador.InstanciarFormularioEdicion(Recibo);
            NuevoRecibo.MdiParent = this.ParentForm.MdiParent;
            NuevoRecibo.Show();
        }
예제 #3
0
                private void CrearReciboParaEstaFactura()
                {
                        Lbl.Comprobantes.ComprobanteConArticulos Factura = this.Elemento as Lbl.Comprobantes.ComprobanteConArticulos;
                        Lbl.Comprobantes.ReciboDeCobro Recibo = new Lbl.Comprobantes.ReciboDeCobro(Lfx.Workspace.Master.GetNewConnection("Nuevo recibo para " + Factura.ToString()));
                        Recibo.Crear();
                        Recibo.Facturas.AddWithValue(Factura, Factura.ImporteImpago);
                        Recibo.Cliente = Factura.Cliente;

                        Recibo.Concepto = Lbl.Cajas.Concepto.IngresosPorFacturacion;
                        Recibo.ConceptoTexto = "Cancelación de " + Factura.ToString();

                        Lfc.FormularioEdicion NuevoRecibo = Lfc.Instanciador.InstanciarFormularioEdicion(Recibo);
                        NuevoRecibo.MdiParent = this.ParentForm.MdiParent;
                        NuevoRecibo.Show();
                }
예제 #4
0
        public override Lfx.Types.OperationResult Ok()
        {
            if (Lfx.Types.Parsing.ParseCurrency(EntradaImporte.Text) <= 0)
            {
                return(new Lfx.Types.FailureOperationResult("Por favor escriba el importe."));
            }

            if (EntradaCaja.ValueInt <= 0)
            {
                return(new Lfx.Types.FailureOperationResult("Por favor seleccione la caja de destino."));
            }

            IDbTransaction Trans = this.Connection.BeginTransaction(IsolationLevel.Serializable);

            Lbl.Personas.Persona           Cliente = new Lbl.Personas.Persona(Connection, EntradaCliente.ValueInt);
            Lbl.Comprobantes.ReciboDeCobro Rec     = new Lbl.Comprobantes.ReciboDeCobro(this.Connection);
            Rec.Crear();
            Rec.Cliente = Cliente;
            Rec.Cobros.Add(new Lbl.Comprobantes.Cobro(Connection, Lbl.Pagos.TiposFormasDePago.Caja, Lfx.Types.Parsing.ParseCurrency(EntradaImporte.Text)));
            Rec.Cobros[0].CajaDestino = new Lbl.Cajas.Caja(Connection, EntradaCaja.ValueInt);
            Rec.Vendedor = Lbl.Sys.Config.Actual.UsuarioConectado.Persona;
            Lfx.Types.OperationResult Res = Rec.Guardar();

            if (Res.Success)
            {
                Trans.Commit();

                if (Rec.Tipo.ImprimirAlGuardar)
                {
                    using (IDbTransaction TransImpr = Rec.Connection.BeginTransaction()) {
                        Lazaro.Base.Util.Impresion.Comprobantes.ImpresorRecibo Impresor = new Lazaro.Base.Util.Impresion.Comprobantes.ImpresorRecibo(Rec, TransImpr);
                        Lfx.Types.OperationResult ResImprimir = Impresor.Imprimir();
                        if (ResImprimir.Success)
                        {
                            TransImpr.Commit();
                        }
                        else
                        {
                            TransImpr.Rollback();
                            if (ResImprimir.Message != null)
                            {
                                Lui.Forms.MessageBox.Show(ResImprimir.Message, "Error");
                            }
                            else
                            {
                                Lui.Forms.MessageBox.Show("Se creó el recibo, pero no se imprimió correctamente.", "Error");
                            }
                        }
                    }
                }

                string NombreCliente = EntradaCliente.TextDetail;
                Lfx.Workspace.Master.RunTime.Toast("Se creo un recibo para el cliente " + NombreCliente, "Recibo rápido");

                EntradaCliente.ValueInt = 0;
                EntradaCliente.Focus();
                return(new Lfx.Types.CancelOperationResult());
            }
            else
            {
                Trans.Rollback();
                return(Res);
            }
        }