/// <summary> /// Implementación del método de la interfaz. /// </summary> public void saveResultado(Gestion gestion, Parametro tipo, string descripcion, DateTime fecha) { if (gestion != null) { // Primero graba y actualiza algunas cosas try { long scn = Persistencia.Controlador.iniciarTransaccion(); gestion.FechaInicio = DateTime.Now; gestion.Resultado = tipo; gestion.ResultadoDesc = descripcion; gestion.ResultadoFecha = fecha; gestion.Usuario = Sistema.Controlador.SecurityService.getUsuario(); gestion.Estado = Parametros.GetByClave("ESTADOGESTION.ENPROCESO"); gestion.Cuenta.agregarGestion(gestion); gestion.save(); Persistencia.Controlador.commitTransaccion(scn); } catch (Exception e) { Persistencia.Controlador.rollbackTransaccion(); throw new DataErrorException("DATA-SAVENOK", e.ToString()); } // Finalmente ejecuta el resultado y finaliza la gestion try { ResultadoGestion.EjecutarResultado(gestion, gestion.Resultado); gestion.Estado = Parametros.GetByClave("ESTADOGESTION.FINALIZADA"); gestion.FechaCierre = DateTime.Now; gestion.save(); } catch (Exception e) { throw new DataErrorException("ERROR-EJECUTAR-RESULTADO", e.ToString()); } } }
public bool iniciar(object padre, params object[] valor) { // Asigna el padre Padre = padre; // Obtiene la gestión correspondiente if (valor.Count() < 2) return false; // Imprime una sola o genera toda una lista if (valor[1] is Gestion && ((Gestion)valor[1]).Tipo != null) { _gestionEnCurso = valor[1] as Gestion; // Crea el panel para seleccionar el template de la carta var panel = new PanelSeleccionTemplate(this) {Dock = DockStyle.Fill}; // Crea el formulario var ventana = new FrmVisualizador( String.Format("{0} - Imprimir carta", _gestionEnCurso.Tipo.Valorstring)) { Owner = (Form) Padre, Size = new Size(540, 125), MaximizeBox = false, MinimizeBox = false, FormBorderStyle = FormBorderStyle.FixedSingle }; // Agrega el panel al formulario ventana.Controls.Add(panel); DialogResult resultado = ventana.ShowDialog(); if (resultado == DialogResult.OK) { // Asigna el nombre de la carta seleccionada a la descripción // del resultado de la gestión _gestionEnCurso.ResultadoDesc += panel.NombreCarta; _gestionEnCurso.save(); } return true; } if (valor[1] is ListaGestion) { _listaEnCurso = valor[1] as ListaGestion; // Crea el panel para seleccionar el template de la carta var panel = new PanelSeleccionTemplateLista(this, _listaEnCurso) { Dock = DockStyle.Fill }; // Crea el formulario var ventana = new FrmVisualizador( String.Format("{0} - Generar Documentos", _listaEnCurso.Nombre)) { Owner = (Form)Padre, Size = new Size(540, 165), MaximizeBox = false, MinimizeBox = false, FormBorderStyle = FormBorderStyle.FixedSingle }; // Agrega el panel al formulario ventana.Controls.Add(panel); DialogResult resultado = ventana.ShowDialog(); } return false; }
/// <summary> /// Ejecución de un resultado de alta de convenio. /// </summary> private static void EjecutarResultadoAltaConvenio(Gestion gestion) { gestion.Estado = Parametros.GetByClave("ESTADOGESTION.FINALIZADA"); gestion.Usuario = Sistema.Controlador.SecurityService.getUsuario(); gestion.Resultado = Parametros.GetByClave("RESULTADOGESTION.ALTACONVENIO"); gestion.FechaInicio = gestion.FechaInicio.Equals(Fechas.FechaNull) ? DateTime.Now : gestion.FechaInicio; gestion.FechaUMod = DateTime.Now; gestion.FechaCierre = DateTime.Now; gestion.save(); gestion.Cuenta.ListaAsignada = null; gestion.Cuenta.FechaElegible = gestion.Cuenta.ConvenioActivo.getPrimeraCuota().FechaVencimiento.AddDays( (Parametros.GetByClave("GESTION.DIASGRACIA")) .Valorlong); gestion.Cuenta.save(); }