コード例 #1
0
 /// <summary>
 /// Modifica los estados actuación cargados en la entidad sobre la base de datos
 /// </summary>
 /// <param name="pActuacion"></param>
 /// <param name="conn"></param>
 /// <param name="trans"></param>
 public static void Modificar(Entidades.Actuacion pActuacion, SQLiteConnection conn, SQLiteTransaction trans)
 {
     // Eliminamos en primera instancia todos los estados relacionados con la actuacio´n
     Eliminar(pActuacion, conn, trans);
     // Cargamos los estados que se encuentran almacenados dentro de la entidad
     Agregar(pActuacion, conn, trans);
 }
コード例 #2
0
        private void InicializarActuacion()
        {
            // Generamos una nueva entidad actuación
            entActuacion = new Entidades.Actuacion();
            // Cargamos los datos correspondientes de la actuación
            entActuacion.Operador = App.Current.Properties["user"] as Entidades.Operador;
            // Generamos una nueva lista de entidades estado
            List <Entidades.Estado> lstEntEstado = new List <Entidades.Estado>();

            // Generamos un estado y lo agregamos al listado generado
            Entidades.Estado entEstado = new Entidades.Estado()
            {
                Ord       = 1,
                Detalle   = "Nueva actuacion",
                Tipo      = Logica.TipoEstado.TraerEstadoActuacionInicialNormal(),
                FechaHora = DateTime.Now
            };
            // Agregamos el estado nuevo al listado de estados
            lstEntEstado.Add(entEstado);
            // Establecemos la lista como miembro de la entidad actuación
            entActuacion.Estados = lstEntEstado;
            // Vinculamos el listado de estados al DataGrid
            dgListadoActuacionEstados.ItemsSource = entActuacion.Estados;
            // Activamos la modificación de la nueva actuación en la interfaz gráfica
            ModificarEstado(entEstado);
        }
コード例 #3
0
 /// <summary>
 /// Resetea a los valores por defecto de los campos genéricos
 /// </summary>
 public void ResetearCamposActuacion()
 {
     txtNumActuacion.Text                  = "";
     txtRemedy.Text                        = "";
     cboGrupos.ItemsSource                 = null;
     cboTipoActuacion.ItemsSource          = null;
     dgListadoActuacionEstados.ItemsSource = null;
     entActuacion = null;
 }
コード例 #4
0
 /// <summary>
 /// Modifica los estados de actuación en la base de datos
 /// Como las actuaciones relacionadas con asuntos pueden eliminarse los estados, y esto afecta a las actuaciones, se deben eliminar en primera instancia las actuaciones relacionadas y
 /// </summary>
 /// <param name="pAsunto"></param>
 /// <param name="conn"></param>
 /// <param name="trans"></param>
 public static void Modificar(Entidades.Asunto pAsunto, SQLiteConnection conn, SQLiteTransaction trans)
 {
     // Disponemos la variable de actuación separada para mejorar la legibilidad del código
     Entidades.Actuacion pActuacion = pAsunto.Actuacion;
     // Tenemos que recolectar de la base de datos las actuaciones relacionadas con el asunto, para que asi podamos eliminarlas y poder hacer el ingreso sin dejar actuaciones huerfanas
     Eliminar(pAsunto, conn, trans);
     // Se agrega las actuaciones modificadas
     Agregar(pAsunto, conn, trans);
 }
コード例 #5
0
        /// <summary>
        /// Procedimiento que elimina los estados de actuación almacenados en la base de datos
        /// </summary>
        /// <param name="pActuacion"></param>
        /// <param name="conn"></param>
        /// <param name="trans"></param>
        public static void Eliminar(Entidades.Actuacion pActuacion, SQLiteConnection conn, SQLiteTransaction trans)
        {
            // Cadena de caracteres que se utilizará para realizar la baja de estados
            string sCmdEliminarEstados = "DELETE FROM actuacion_estados where numero=@Numero and operador=@Operador";

            // Comando que ejecutará la tarea de eliminación
            using (SQLiteCommand cmdEliminarEstados = new SQLiteCommand(sCmdEliminarEstados, conn, trans))
            {
                // Parametrizamos el comando
                cmdEliminarEstados.Parameters.Agregar("@Numero", pActuacion.Numero);
                cmdEliminarEstados.Parameters.Agregar("@Operador", pActuacion.Operador.UserName);
                // Ejecutamos el comando
                cmdEliminarEstados.ExecuteNonQuery();
            }
        }
コード例 #6
0
        /// <summary>
        /// Procesa la baja de una o varias actuaciones
        /// </summary>
        /// <param name="pAsunto"></param>
        /// <param name="conn"></param>
        /// <param name="trans"></param>
        public static void Eliminar(Entidades.Asunto pAsunto, SQLiteConnection conn, SQLiteTransaction trans)
        {
            // Parametrizamos el string que se utilizará para eliminar la actuación
            // Recolectamos los números de actuacion para poder eliminarlos también de actuaciones estados
            string sConsultaActuaciones = "SELECT numero FROM actuacion WHERE asunto_relacionado=@Asunto and operador=@Operador";

            // Generamos un comando para realizar la lectura total de actuaciones relacionadas con el asunto
            using (SQLiteCommand cmdEliminarActuacion = new SQLiteCommand(sConsultaActuaciones, conn, trans))
            {
                // Parametrizamos la consulta
                cmdEliminarActuacion.Parameters.Agregar("@Asunto", pAsunto.Numero);
                cmdEliminarActuacion.Parameters.Agregar("@Operador", pAsunto.Oper.UserName);
                // Ejecutamos el lector relacionado al comando
                using (SQLiteDataReader rdrActRelacionadas = cmdEliminarActuacion.ExecuteReader())
                {
                    // Generamos un listado de actuaciones donde almacenaremos los resultados recolectados
                    List <Entidades.Actuacion> lstAct = new List <Entidades.Actuacion>();
                    // Leemos los resultados obtenidos
                    while (rdrActRelacionadas.Read())
                    {
                        // Generamos una nueva entidad de actuacion
                        Entidades.Actuacion entAct = new Entidades.Actuacion()
                        {
                            Numero = rdrActRelacionadas["numero"].ToString(), Operador = pAsunto.Oper
                        };
                        // Agregamos la entidad al listado
                        lstAct.Add(entAct);
                    }
                    // Recorremos el listado de actuaciones
                    foreach (Entidades.Actuacion entAct in lstAct)
                    {
                        // Eliminamos cada una de los estados de actuación relacionados
                        EstadoActuacion.Eliminar(entAct, conn, trans);
                    }
                }
            }
            string sCmdEliminarActuacion = "DELETE FROM actuacion where asunto_relacionado=@Numero and operador=@Operador";

            // Generamos un comando que permitirá eliminar la actuación de la base de datos
            using (SQLiteCommand cmdEliminarActuacion = new SQLiteCommand(sCmdEliminarActuacion, conn, trans))
            {
                // Parametrizamos la consulta
                cmdEliminarActuacion.Parameters.Agregar("@Numero", pAsunto.Numero);
                cmdEliminarActuacion.Parameters.Agregar("@Operador", pAsunto.Oper.UserName);
                // Ejecutamos el comando
                cmdEliminarActuacion.ExecuteNonQuery();
            }
        }
コード例 #7
0
        /// <summary>
        /// Trae una actuación desde la base de datos
        /// </summary>
        /// <param name="pAsunto"></param>
        /// <param name="conn"></param>
        public static Entidades.Actuacion TraerActuaciones(Entidades.Asunto pAsunto, SQLiteConnection conn)
        {
            // Generamos el listado que luego devolveremos
            Entidades.Actuacion entActuacion = null;
            // Preparamos la cadena de caracteres para que sea usada en la consulta
            string strCmdConsultaActuacion = "SELECT numero, tipo, remedy_relacionado, grupo_asignado FROM actuacion WHERE asunto_relacionado=@AsuntoRelacionado and operador=@Operador";

            // Disponemos del comando que ejecutara la consulta
            using (SQLiteCommand cmdConsultaActuacion = new SQLiteCommand(strCmdConsultaActuacion, conn))
            {
                // Parametrizamos la consulta a ejecutar
                cmdConsultaActuacion.Parameters.Agregar("@AsuntoRelacionado", pAsunto.Numero);
                cmdConsultaActuacion.Parameters.Agregar("@Operador", pAsunto.Oper.UserName);
                // Ejecutamos el lector de datos sobre el comando generado
                using (SQLiteDataReader rdrActuacion = cmdConsultaActuacion.ExecuteReader())
                {
                    // Realizamos lectura sobre todos los resultados
                    if (rdrActuacion.Read())
                    {
                        // Generamos la entidad a agregar en el listado
                        entActuacion = new Entidades.Actuacion()
                        {
                            Numero = rdrActuacion["numero"].ToString(),
                            Grupo  = new Entidades.GrupoResolutor()
                            {
                                Id = Convert.ToInt32(rdrActuacion["grupo_asignado"])
                            },
                            Tipo = new Entidades.ActuacionTipo()
                            {
                                Id = Convert.ToInt32(rdrActuacion["tipo"])
                            },
                            RemedyRelacionado = rdrActuacion["remedy_relacionado"].ToString()
                        };
                        entActuacion.Operador = pAsunto.Oper;
                        // Traemos los estados de actuación y lo cargamos sobre la entidad
                        entActuacion.Estados = EstadoActuacion.TraerSegunActuacion(entActuacion, conn);
                    }
                }
            }
            // Devolvemos el listado procesado
            return(entActuacion);
        }
コード例 #8
0
        /// <summary>
        /// Trae un listado completo de estados a través de una actuación
        /// </summary>
        /// <param name="entAct"></param>
        /// <param name="conn"></param>
        /// <returns></returns>
        public static List <Entidades.Estado> TraerSegunActuacion(Entidades.Actuacion entAct, SQLiteConnection conn)
        {
            // Generamos el listado de estados a devolver
            List <Entidades.Estado> lstEstados = new List <Entidades.Estado>();
            // Generamos la cadena de caracteres que se utilizara en la consulta
            string strCmdEstadosActuacion = "SELECT ord, fechaHora, tipo, detalle FROM actuacion_estados WHERE numero=@Numero and operador=@Operador";

            // Generamos el comando a ejecutar
            using (SQLiteCommand cmdEstadosActuacion = new SQLiteCommand(strCmdEstadosActuacion, conn))
            {
                // Parametrizamos los comandos antes de ejecutar el lector
                cmdEstadosActuacion.Parameters.Agregar("@Numero", entAct.Numero);
                cmdEstadosActuacion.Parameters.Agregar("@Operador", entAct.Operador.UserName);
                // Ejecutamos el lector de estados
                using (SQLiteDataReader rdrLectorEstados = cmdEstadosActuacion.ExecuteReader())
                {
                    // Leemo todos los registros recolectados
                    while (rdrLectorEstados.Read())
                    {
                        // Generamos la entidad a agregar al listado de estados
                        Entidades.Estado entEstado = new Entidades.Estado()
                        {
                            Ord       = Convert.ToInt32(rdrLectorEstados["ord"]),
                            FechaHora = Convert.ToDateTime(rdrLectorEstados["fechaHora"]),
                            Detalle   = rdrLectorEstados["detalle"].ToString(),
                            Tipo      = new Entidades.TipoEstado()
                            {
                                Id = Convert.ToInt32(rdrLectorEstados["tipo"])
                            }
                        };
                        // Agregamos el estado al listado de estados
                        lstEstados.Add(entEstado);
                    }
                }
            }
            // Devolvemos el listado luego de ser procesado
            return(lstEstados);
        }
コード例 #9
0
        /// <summary>
        /// Agrega los estados de la actuación a la base de datos
        /// </summary>
        /// <param name="pActuacion"></param>
        /// <param name="conn"></param>
        /// <param name="trans"></param>
        public static void Agregar(Entidades.Actuacion pActuacion, SQLiteConnection conn, SQLiteTransaction trans)
        {
            // Preparamos la cadena que se usara para la inserción
            String sAgregarEstadoActuacion = "INSERT INTO actuacion_estados (numero, operador, fechaHora, detalle, ord, tipo) VALUES (@Numero, @Operador, @FechaHora, @Detalle, @Ord, @Tipo)";

            using (SQLiteCommand cmdAgregarEstadoAct = new SQLiteCommand(sAgregarEstadoActuacion, conn, trans))
            {
                // Parametrizamos los valores que se repetiran en cada inserción a la base
                cmdAgregarEstadoAct.Parameters.Agregar("@Numero", pActuacion.Numero);
                cmdAgregarEstadoAct.Parameters.Agregar("@Operador", pActuacion.Operador.UserName);
                // Recorremos los estados almacenados
                foreach (var estado in pActuacion.Estados)
                {
                    // Parametrizamos los detalles especificos de cada orden
                    cmdAgregarEstadoAct.Parameters.Agregar("@Ord", estado.Ord);
                    cmdAgregarEstadoAct.Parameters.Agregar("@Tipo", estado.Tipo.Id);
                    cmdAgregarEstadoAct.Parameters.Agregar("@FechaHora", estado.FechaHora);
                    cmdAgregarEstadoAct.Parameters.Agregar("@Detalle", estado.Detalle);
                    // Una vez cargado todos los parametros procedemos a ejecutar el comando
                    cmdAgregarEstadoAct.ExecuteNonQuery();
                }
            }
        }
コード例 #10
0
        /// <summary>
        /// Gestiona el alta de una actuación en la base de datos
        /// </summary>
        /// <param name="pActuacion"></param>
        public static void Agregar(Entidades.Asunto pAsunto, SQLiteConnection conn, SQLiteTransaction trans)
        {
            // Preparamos la cadena de caracteres que se utilizará para realizar el ingreso
            String strCmdAgregarActuacion = "INSERT INTO actuacion (numero, asunto_relacionado, operador, tipo, remedy_relacionado, grupo_asignado) values(@Numero, @AsuntoRelacionado, @Operador, @Tipo, @RemedyRelacionado, @GrupoAsignado)";

            // Disponemos de forma simplificada la variable actuación
            Entidades.Actuacion pActuacion = pAsunto.Actuacion;
            // Preparamos el comando a ejecutar
            using (SQLiteCommand cmdAgregarActuacion = new SQLiteCommand(strCmdAgregarActuacion, conn, trans))
            {
                // Parametrizamos los valores recibidos
                cmdAgregarActuacion.Parameters.Agregar("@Numero", pActuacion.Numero);
                cmdAgregarActuacion.Parameters.Agregar("@AsuntoRelacionado", pAsunto.Numero);
                cmdAgregarActuacion.Parameters.Agregar("@Operador", pActuacion.Operador.UserName);
                cmdAgregarActuacion.Parameters.Agregar("@Tipo", pActuacion.Tipo.Id);
                cmdAgregarActuacion.Parameters.Agregar("@RemedyRelacionado", pActuacion.RemedyRelacionado);
                cmdAgregarActuacion.Parameters.Agregar("@GrupoAsignado", pActuacion.Grupo.Id);
                // Ejecutamos el comando
                cmdAgregarActuacion.ExecuteNonQuery();
            }
            // Agregamos los estados de actuación a la base de datos
            EstadoActuacion.Agregar(pActuacion, conn, trans);
        }
コード例 #11
0
 public void CargarActuacion(Entidades.Actuacion entAct)
 {
     paginaActuacion.ActCargada = entAct;
 }