private void butAceptar_Click(object sender, System.EventArgs e) { // Valido que la fecha de emisión de la guía (fecha actual) sea inferior o igual a la fecha de // vencimiento del CAI de la agencia, siempre que la agencia sea autoimpresora // Consulto los datos de la agencia IAgencia agencia = AgenciaFactory.GetAgencia(); agencia.AgenciaID = this.AgenciaConectadaID; agencia.Consultar(); agencia.CargarDatosCAIParaTipoGuiaFactura("B"); // Consulto el parametro si permite emitir con cai vencido IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio(); param.UnidadNegocioID = this.UnidadNegocioID; param.Parametro = NegociosSisPackInterface.SisPack.Parametro.PermiteEmitirConCAIVencido; param.Consultar(); bool permite = param.ValorString == "1" ? true : false; bool aviso = false; // Reviso cual es la forma de impresión if (agencia.TipoImpresionGuiaId == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco || agencia.TipoImpresionGuiaId == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_PreDiseñada) { // Es autoimpresor. Reviso si la fecha de CAI esta vencida if (DateTime.Today > agencia.FechaVencimientoCAI) { // La fecha de CAI esta vencida. Reviso si permite la emisión con fecha de CAI vencida if (!permite) { // No permite throw new Exception("No se puede emitir la guía debido a que la fecha de vencimiento de CAI es superior a la fecha actual."); } else { // Si permite aviso = true; } } } // Obtengo el número de guía this.ObtenerNroGuia(aviso); }