Exemplo n.º 1
0
        /// <summary>
        /// Implementación del método de la interfaz.
        /// </summary>
        /// <param name="padre">
        /// En éste caso el objeto padre del caso de uso es un Form.
        /// </param>       
        /// <param name="valor">
        /// Aqui se espera que venga: [0](string)=el nombre del caso de uso;
        /// [1](ListaGestion)=La lista con la que se debe trabajar aqui.
        /// </param>
        public virtual bool iniciar(object padre, params object[] valor)
        {
            try {
                // Crea el panel para asignar el objeto a trabajar
                Padre = padre;

                // Si se pasa un objeto lo toma para trabajar, sino
                // arranca sin nada (o con lo que ya tiene setado)
                if (valor.Length > 0)
                    _lista = (ListaGestion) valor[0];

                // Abre la ventana para las tareas de edición, etc.
                WinCargaResultado vista = new WinCargaResultado();

                // Finalmente muestra la ventana y al luego retorna
                vista.ShowDialog();

                // Al retornar verifica si hay un resultado cargado
                if (vista.Tipo != null)
                    cargarResultado(vista.Tipo, vista.Descripcion, vista.Fecha);

                return true;
            } catch (Exception e) {
                throw new AppErrorException("UCCALLER-NOINIT", e.ToString());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Este método asienta efectivamente las gestiones generadas pasándolas desde
        /// la tabla temporal a la tabla gestión (de ese modo recién ahora quedan como 
        /// gestiones efectivas). Ademas marca cuentas como "acaparadas" por la lista.
        /// SE AGREGO:establece el usuario gestor tanto a la cuenta como a la gestion.
        /// </summary>
        public static void AsentarGestiones(ListaGestion lista, Usuario usuario)
        {
            Sistema.Controlador.logear("GESPER-ASENTADA", ENivelMensaje.INFORMACION, null);
            string sql = "update cuenta";
            sql += "    set cta_listaasignada = '" + lista.Id + "'";
            sql += (usuario == null) ? string.Empty : " , cta_gestor = '" + usuario.Id + "'";
            sql += "  where cta_id in (select tgl_cuenta from tempgenlis)";
            long res = Persistencia.EjecutarSqlDML(sql, Persistencia.Controlador.CadenaConexion);
            Sistema.Controlador.logear(
                "GENERICO",
                ENivelMensaje.INFORMACION,
                "Se marcaron " + res + " cuentas " +
                ((usuario == null) ? "sin asignar gestor" : "y se asignaron al gestor " + usuario));

            sql = "insert into gestion";
            sql += "      (ges_id, ges_tipo, ges_estado, ges_fechaumod, ges_cuenta, ges_lista, ges_usuario,";
            sql += "      ges_resultadofecha, ges_fechainicio, ges_fechacierre, ges_fechabaja, ges_fechaanulacion)";
            sql += "select newid(), tgl_tipo, tgl_estado, tgl_fechaalta, tgl_cuenta, tgl_lista, tgl_gestor,";
            sql += "       convert(datetime, '1753-01-01 00:00:000', 121), convert(datetime, '1753-01-01 00:00:000', 121),";
            sql += "       convert(datetime, '1753-01-01 00:00:000', 121), convert(datetime, '1753-01-01 00:00:000', 121),";
            sql += "       convert(datetime, '1753-01-01 00:00:000', 121)";
            sql += "  from tempgenlis";
            res = Persistencia.EjecutarSqlDML(sql, Persistencia.Controlador.CadenaConexion);
            Sistema.Controlador.logear(
                "GENERICO",
                ENivelMensaje.INFORMACION,
                "Se asentaron " + res + " gestiones");
        }
 public PanelSeleccionTemplateLista(CUGenerarCarta unCtrl, ListaGestion unaLista)
 {
     InitializeComponent();
     _control = unCtrl;
     _lista = unaLista;
     cargaComboTemplates();
     inicializaDestino();
 }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
 /// <summary>
 /// Este método crea una nueva lista de gestión, asignando el nombre
 /// y la fecha de creación. Además graba la lista, por lo que se debe
 /// tener en cuenta si debe estar dentro de una transacción o no la 
 /// llamada al mismo.
 /// </summary>
 /// <returns>
 /// La lista de gestión recien creada y guardada, vacía.
 /// </returns>
 public static ListaGestion CrearYPrepararNuevaLista(TipoListaGestion tlg, string mensaje)
 {
     ListaGestion lg = new ListaGestion {
         TipoLista = tlg,
         Descripcion = "RESULTADO:" + mensaje,
         FchCreacion = Fechas.GetOkDate(DateTime.Now),
         Nombre = string.Format("{0}-{1:yyMMddHHmmss}", tlg.Nombre.Replace(" ", "").Substring(0, 10), DateTime.Now)
     };
     lg.save();
     return lg;
 }
Exemplo n.º 6
0
 /// <summary>
 /// Este método inserta una gestion en la tabla temporal del proceso
 /// de generación de listas. Esta tabla guarda las gestiones generadas
 /// durante un proceso, las cuales sond escargadas al finalizar el mismo
 /// a la tabla Gestión.
 /// </summary>
 public static void InsertarTemporal(string cuentaId, ListaGestion lg, long orden, string gestor, Parametro tipoGestion)
 {
     try {
         string sql = "insert into tempgenlis ";
         sql += "(tgl_orden,tgl_tipo,tgl_estado,tgl_cuenta,tgl_lista,tgl_fechaalta,tgl_gestor)";
         sql += " values (" + orden + ", '";
         sql += tipoGestion.Id + "', '" + (gestor.Equals("null") ? _creada.Id : _asignada.Id) + "', '";
         sql += cuentaId + "', '" + lg.Id + "', getdate(), " + gestor + ")";
         long res = Persistencia.EjecutarSqlDML(sql, Persistencia.Controlador.CadenaConexion);
         if (res < 1)
             throw new AppErrorException("ERROR-INSERT-GESTION-TEMP", cuentaId);
     } catch (Exception e) {
         Sistema.Controlador.logear("ERROR-GENERACION-GESTION", ENivelMensaje.ERROR, e.ToString());
     }
 }
Exemplo n.º 7
0
        /// <summary>
        /// Este método descarta todas las gestiones no asignadas de una lista determinada.
        /// </summary>
        public static string DescartarGestiones(ListaGestion lista)
        {
            Sistema.Controlador.logear("JOBRUN-DEL-GES-LISTA", ENivelMensaje.INFORMACION, lista.ToString());

            string sql = "delete from gestion" +
                         " where ges_usuario is null" +
                         "   and ges_estado    = '" + _creada.Id + "'" +
                         "   and ges_lista     = '" + lista.Id + "'";
            long res = Persistencia.EjecutarSqlDML(sql, Persistencia.Controlador.CadenaConexion);
            Sistema.Controlador.logear("GENERICO",ENivelMensaje.INFORMACION,
                        "Descarto " + res + " gestiones creadas de Lista: " + lista.ToString());

            sql = "delete from gestion" +
                  " where ges_estado    = '" + _asignada.Id + "'" +
                  "   and ges_resultado is null" +
                  "   and ges_resultadodesc is null" +
                  "   and ges_fechainicio = '" + Fechas.FechaNull + "'" +
                  "   and ges_lista     = '" + lista.Id + "'";
            long res2 = Persistencia.EjecutarSqlDML(sql, Persistencia.Controlador.CadenaConexion);
            Sistema.Controlador.logear("GENERICO",ENivelMensaje.INFORMACION,
                        "Descarto " + res2 + " gestiones asignadas de Lista: " + lista.ToString());

            sql = "update cuenta" +
                  "   set cta_listaasignada = null" +
                  " where cta_listaasignada = '" + lista.Id + "'" +
                  "   and not exists (select 1 " +
                  "                     from gestion " +
                  "                    where ges_cuenta = cta_id " +
                  "                      and ges_estado <> '" + _finalizada.Id + "'" +
                  "                      and ges_fechabaja = '" + Fechas.FechaNull + "'" +
                  "                      and ges_lista  = '" + lista.Id + "')";
            long res3 = Persistencia.EjecutarSqlDML(sql, Persistencia.Controlador.CadenaConexion);
            Sistema.Controlador.logear("GENERICO", ENivelMensaje.INFORMACION,
                        "Desasocio " + res3 + " Cuentas asignadas a la Lista: " + lista.ToString());

            return (" **DESCARTADA** (eliminó " + res + "/" + res2 + " gestiones y actualizó " + res3 + " cuentas)");
        }