public override Lfx.Types.OperationResult Ok() { if (Lui.LogOn.LogOnData.ValidateAccess(typeof(Lbl.Comprobantes.Recibo), Lbl.Sys.Permisos.Operaciones.Eliminar) == false) { return(new Lfx.Types.NoAccessOperationResult()); } Lui.Forms.YesNoDialog Pregunta = new Lui.Forms.YesNoDialog("Una vez anulado, el comprobante deberá ser archivado en todas sus copias y no podrá ser rehabilitado ni reutilizado.", "¿Está seguro de que desea anular el comprobante?"); Pregunta.DialogButtons = Lui.Forms.DialogButtons.YesNo; if (Pregunta.ShowDialog() == DialogResult.OK) { int Numero = Lfx.Types.Parsing.ParseInt(EntradaNumero.Text); int PV = Lfx.Types.Parsing.ParseInt(EntradaPV.Text); Lbl.Comprobantes.Recibo Rec = null; int IdRecibo = 0; if (Numero > 0) { IdRecibo = this.Connection.FieldInt("SELECT id_recibo FROM recibos WHERE tipo_fac='" + EntradaTipo.TextKey + "' AND pv=" + PV.ToString() + " AND numero=" + Numero.ToString()); } if (IdRecibo != 0) { Rec = new Lbl.Comprobantes.Recibo(this.Connection, IdRecibo); } if (Rec != null && Rec.Existe) { IDbTransaction Trans = Rec.Connection.BeginTransaction(IsolationLevel.Serializable); Rec.Anular(); Trans.Commit(); } EntradaNumero.Text = ""; EntradaNumero.Focus(); return(new Lfx.Types.SuccessOperationResult()); } else { return(new Lfx.Types.CancelOperationResult()); } }