Ejemplo n.º 1
0
 public override void AfterSave(IDbTransaction transaction)
 {
     Lbl.Comprobantes.Recibo Rec = this.Elemento as Lbl.Comprobantes.Recibo;
     if (Rec.Tipo.ImprimirAlGuardar)
     {
         Lazaro.Impresion.Comprobantes.ImpresorRecibo Impresor = new Lazaro.Impresion.Comprobantes.ImpresorRecibo(Rec, transaction);
         Impresor.Imprimir();
     }
     base.AfterSave(transaction);
 }
Ejemplo n.º 2
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;
                        }
        	}
Ejemplo n.º 3
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);
            }
        }
Ejemplo n.º 4
0
 public override void AfterSave(IDbTransaction transaction)
 {
         Lbl.Comprobantes.Recibo Rec = this.Elemento as Lbl.Comprobantes.Recibo;
         if (Rec.Tipo.ImprimirAlGuardar) {
                 Lazaro.Impresion.Comprobantes.ImpresorRecibo Impresor = new Lazaro.Impresion.Comprobantes.ImpresorRecibo(Rec, transaction);
                 Impresor.Imprimir();
         }
         base.AfterSave(transaction);
 }