コード例 #1
0
        //MySqlConnection conex = new MySqlConnection(Properties.Settings.Default.connectionStringJ);

        // connectionStringJ (Juan Diego)
        // connectionStringM (Melany)
        // connectionString (Asoc. Acompañame)

        /// <summary>
        /// Retorna los datos de la cuenta asociada al nombre de usuario y la contraseña
        /// </summary>
        /// <param name="id">Nombre de usuario de la cuenta</param>
        /// <param name="contra">Contraseña asociada al nombre de usuario</param>
        /// <returns>Demás datos de la cuenta</returns>
        public TOCuenta buscarCuenta(string id, string contra)
        {
            TOCuenta     cuenta = new TOCuenta();
            MySqlCommand buscar = new MySqlCommand("select * from cuenta where idUsuario = @id and contrasenna = @contra", conex);

            buscar.Parameters.AddWithValue("@id", id);
            buscar.Parameters.AddWithValue("@contra", contra);

            if (conex.State != ConnectionState.Open)
            {
                conex.Open();
            }

            MySqlDataReader reader = buscar.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    cuenta.idUsuario      = reader.GetString(0);
                    cuenta.nombreEmpleado = reader.GetString(1);
                    cuenta.contrasenna    = reader.GetString(2);
                    cuenta.privilegio     = reader.GetString(3);
                    cuenta.estado         = reader.GetBoolean(4);
                }
            }

            if (conex.State != ConnectionState.Closed)
            {
                conex.Close();
            }
            return(cuenta);
        }
コード例 #2
0
        /// <summary>
        /// Retorna una lista con todas las cuentas existentes en el sistema
        /// </summary>
        /// <returns>Lista de cuentas en el sistema</returns>
        public List <TOCuenta> listaCuentas()
        {
            if (conex.State != ConnectionState.Open)
            {
                conex.Open();
            }

            String       qry = "select * from cuenta;";
            MySqlCommand cmd = new MySqlCommand(qry, conex);

            MySqlDataReader reader = cmd.ExecuteReader();
            List <TOCuenta> lista  = new List <TOCuenta>();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    TOCuenta to = new TOCuenta();
                    to.idUsuario      = reader.GetString(0);
                    to.nombreEmpleado = reader.GetString(1);
                    to.contrasenna    = reader.GetString(2);
                    to.privilegio     = reader.GetString(3);
                    to.estado         = reader.GetBoolean(4);

                    lista.Add(to);
                }
            }

            if (conex.State != ConnectionState.Closed)
            {
                conex.Close();
            }
            return(lista);
        }
コード例 #3
0
        /// <summary>
        /// Ingresa una nueva cuenta de usuario al sistema
        /// </summary>
        /// <param name="cuenta">Cuenta a ingresar. Objeto que contiene los datos de la cuenta</param>
        public void insertarCuenta(TOCuenta cuenta)
        {
            //String query = "begin tran if exists(select * from cuenta with (updlock, serializable) where idUsuario = @id) " +
            //    "begin update cuenta set nombreEmpleado = @nombre, contrasenna = @contra,  privilegio = @priv, estado = @estado where " +
            //    "idUsuario = @id; end else begin insert into cuenta(idUsuario, nombreEmpleado, contrasenna, privilegio, estado) " +
            //    "values (@id, @nombre, @contra, @priv, @estado); end commit tran;";
            String       query     = "insert into cuenta(idUsuario, nombreEmpleado, contrasenna, privilegio, estado) values (@id, @nombre, @contra, @priv, @estado);";
            MySqlCommand sentencia = new MySqlCommand(query, conex);

            sentencia.Parameters.AddWithValue("@id", cuenta.idUsuario);
            sentencia.Parameters.AddWithValue("@contra", cuenta.contrasenna);
            sentencia.Parameters.AddWithValue("@nombre", cuenta.nombreEmpleado);
            sentencia.Parameters.AddWithValue("@priv", cuenta.privilegio);
            sentencia.Parameters.AddWithValue("@estado", cuenta.estado);
            if (conex.State != ConnectionState.Open)
            {
                conex.Open();
            }
            sentencia.ExecuteNonQuery();

            if (conex.State != ConnectionState.Closed)
            {
                conex.Close();
            }
        }
コード例 #4
0
 private TOCuenta ValidarCuenta(TOCuenta toCuenta)
 {
     if ((!toCuenta.Correo.Contains("@")) || (toCuenta.Correo == null) || (toCuenta.Correo.Equals("")) ||
         (toCuenta.Contrasenna == null) || (toCuenta.Contrasenna.Equals("")) ||
         (toCuenta.Rol == null) || (toCuenta.Rol.Equals("")) || (toCuenta.Rol.Equals("nulo")) ||
         (toCuenta.Estado == null) || (toCuenta.Estado.Equals("")) ||
         (toCuenta.IdCuenta == null) || (toCuenta.IdCuenta.Equals("")))
     {
         return(null);
     }
     return(toCuenta);
 }
コード例 #5
0
        public BLCuenta buscarCuenta(string idCuenta, string contra)
        {
            //try
            //{
            DAOCuenta daoCuent = new DAOCuenta();
            TOCuenta  cuentaTO = daoCuent.buscarCuenta(idCuenta, contra);

            if (cuentaTO == null)
            {
                return(null);
            }
            return(convert(cuentaTO));
        }
コード例 #6
0
        public string ActualizarEstados(List <BLCuenta> cuentas)
        {
            List <TOCuenta> to = new List <TOCuenta>();

            foreach (BLCuenta c in cuentas)
            {
                TOCuenta nueva = new TOCuenta();
                nueva.IdCuenta = c.IdCuenta;
                nueva.Estado   = c.Estado;
                to.Add(nueva);
            }

            DAOCuenta daoCuenta = new DAOCuenta();

            return(daoCuenta.ActualizarEstados(to));
        }
コード例 #7
0
        public string ActualizarCuenta(BLCuenta blCuenta, BLUsuario blUsuario, BLMedico blMedico)
        {
            string confirmacion = "Error: Indefinido.";

            if (blCuenta != null && blUsuario != null)
            {
                TOCuenta toCuenta = new TOCuenta(blCuenta.IdCuenta.Trim(), blCuenta.Correo.Trim(), blCuenta.Contrasenna.Trim(),
                                                 blCuenta.Rol.Trim(), blCuenta.Estado.Trim());

                TOUsuario toUsuario = new TOUsuario(blUsuario.Cedula.Trim(), blUsuario.Nombre.Trim(),
                                                    blUsuario.PrimerApellido.Trim(), blUsuario.SegundoApellido.Trim(),
                                                    blUsuario.Telefono, blUsuario.CodigoAsistente);

                TOMedico toMedico = null;

                toCuenta = ValidarCuenta(toCuenta);

                if (toCuenta != null)
                {
                    toUsuario = ValidarUsuario(toUsuario, toCuenta.Rol);
                }

                if (toCuenta != null && toUsuario != null)
                {
                    if (toCuenta.Rol.Equals("medico") && blMedico != null)
                    {
                        toMedico = new TOMedico(blMedico.IdMedico.Trim(), blMedico.CodigoMedico.Trim(),
                                                blMedico.Especialidad.Trim(), blMedico.DuracionCita.Trim());

                        toMedico = ValidarMedico(toMedico);

                        if (toMedico == null)
                        {
                            return("Error: Puede que algunos datos se encuentren vacíos o con un formato incorrecto.");
                        }
                    }
                    DAOCuenta daoCuenta = new DAOCuenta();
                    return(daoCuenta.ActualizarCuenta(toCuenta, toUsuario, toMedico));
                }
                else
                {
                    return("Error: Puede que algunos datos se encuentren vacíos o con un formato incorrecto.");
                }
            }
            return(confirmacion);
        }
コード例 #8
0
        //catch (Exception)
        //{
        //    throw;
        //}
        //}

        public BLCuenta obtenerCuenta(string idCuenta)
        {
            //try
            //{
            DAOCuenta daoCuenta  = new DAOCuenta();
            TOCuenta  empleadoTO = daoCuenta.obtenerCuenta(idCuenta);

            //if (empleadoTO == null)
            //{
            //    return null;
            //}


            return(convert(empleadoTO));
            //}
            //catch (Exception)
            //{
            //    throw;
            //}
        }
コード例 #9
0
ファイル: DAOCuenta.cs プロジェクト: Mel2608/ExpedientesAcomp
        //catch (Exception)
        //{
        //    throw;
        //}
        //}

        public TOCuenta obtenerCuenta(string id)
        {
            //try
            //{
            TOCuenta     cuenta = new TOCuenta();
            MySqlCommand buscar = new MySqlCommand("SELECT * FROM cuenta WHERE idcuenta = @id", conexion);

            buscar.Parameters.AddWithValue("@id", id);

            if (conexion.State != ConnectionState.Open)
            {
                conexion.Open();
            }

            MySqlDataReader reader = buscar.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    cuenta.id             = reader.GetString(0);
                    cuenta.contrasenna    = reader.GetString(1);
                    cuenta.nombreEmpleado = reader.GetString(2);
                    cuenta.rol            = reader.GetString(3);

                    cuenta.estado = reader.GetBoolean(4);
                }
            }

            if (conexion.State != ConnectionState.Closed)
            {
                conexion.Close();
            }
            return(cuenta);
            //}
            //catch (Exception)
            //{
            //    throw;
            //}
        }
コード例 #10
0
        public string CargarUsuario(BLCuenta cuenta, BLUsuario usuario, BLMedico medico)
        {
            string confirmacion = "Error: Indefinido.";

            TOCuenta toCuenta = new TOCuenta();

            toCuenta.IdCuenta = cuenta.IdCuenta;

            TOUsuario toUsuario = new TOUsuario();
            TOMedico  toMedico  = new TOMedico();

            DAOCuenta dao = new DAOCuenta();

            confirmacion = dao.CargarUsuario(toCuenta, toUsuario, toMedico);

            if (!confirmacion.Contains("Error:"))
            {
                cuenta.Correo      = toCuenta.Correo;
                cuenta.Rol         = toCuenta.Rol;
                cuenta.Estado      = toCuenta.Estado;
                cuenta.Contrasenna = toCuenta.Contrasenna;

                usuario.Cedula          = toUsuario.Cedula;
                usuario.Nombre          = toUsuario.Nombre;
                usuario.PrimerApellido  = toUsuario.PrimerApellido;
                usuario.SegundoApellido = toUsuario.SegundoApellido;
                usuario.Telefono        = toUsuario.Telefono;
                usuario.CodigoAsistente = toUsuario.CodigoAsistente;

                if (toCuenta.Rol.Equals("medico"))
                {
                    medico.IdMedico     = toMedico.IdMedico;
                    medico.CodigoMedico = toMedico.CodigoMedico;
                    medico.Especialidad = toMedico.Especialidad;
                    medico.DuracionCita = toMedico.DuracionCita;
                }
            }

            return(confirmacion);
        }
コード例 #11
0
ファイル: DAOCuenta.cs プロジェクト: Mel2608/ExpedientesAcomp
        public List <TOCuenta> listaCuentas()
        {
            //try
            //{
            string           select    = "select * from cuenta";
            MySqlCommand     sentencia = new MySqlCommand(select, conexion);
            DataTable        table     = new DataTable();
            MySqlDataAdapter adapter   = new MySqlDataAdapter();

            adapter.SelectCommand = sentencia;
            adapter.Fill(table);
            List <TOCuenta> lista = new List <TOCuenta>();

            for (int x = 0; x < table.Rows.Count; x++)
            {
                TOCuenta cuenta = new TOCuenta();
                cuenta.id             = Convert.ToString(table.Rows[x]["idcuenta"]);
                cuenta.contrasenna    = Convert.ToString(table.Rows[x]["contrasenna"]);
                cuenta.rol            = Convert.ToString(table.Rows[x]["nombreEmpleado"]);
                cuenta.nombreEmpleado = Convert.ToString(table.Rows[x]["rol"]);
                cuenta.estado         = Convert.ToBoolean(table.Rows[x]["estado"]);
                lista.Add(cuenta);
            }

            return(lista);
            //    }
            //    catch (SqlException)
            //    {
            //        throw;
            //    }
            //    catch (Exception)
            //    {
            //        throw;
            //    }
            //    finally
            //    {
            //        conexion.Close();
            //    }
        }
コード例 #12
0
ファイル: DAOCuenta.cs プロジェクト: Mel2608/ExpedientesAcomp
        public void insertarActualizarCuenta(TOCuenta empleado)
        {
            //try
            //{
            string       update    = "begin tran if exists(select * from cuenta with (updlock, serializable) where idcuenta = @idCuenta) begin update cuenta set contrasenna = @contra, rol = @rol, nombreEmpleado = @nombre, estado = @estado where idcuenta = @idCuenta; end else begin insert into cuenta(idcuenta, contrasenna, nombreEmpleado, rol, estado) values(@idCuenta, @contra, @rol, @nombre, @estado); end commit tran";
            MySqlCommand sentencia = new MySqlCommand(update, conexion);

            sentencia.Parameters.AddWithValue("@idCuenta", empleado.id);
            sentencia.Parameters.AddWithValue("@contra", empleado.contrasenna);
            sentencia.Parameters.AddWithValue("@rol", empleado.rol);
            sentencia.Parameters.AddWithValue("@nombre", empleado.nombreEmpleado);
            sentencia.Parameters.AddWithValue("@estado", empleado.estado);

            if (conexion.State != ConnectionState.Open)
            {
                conexion.Open();
            }

            sentencia.ExecuteNonQuery();

            if (conexion.State != ConnectionState.Closed)
            {
                conexion.Close();
            }
            //}
            //catch (SqlException)
            //{
            //    throw;
            //}
            //catch (Exception)
            //{
            //    throw;
            //}
            //finally
            //{
            //    conexion.Close();
            //}
        }
コード例 #13
0
        /// <summary>
        /// Modifica los datos de una cuenta del sistema
        /// </summary>
        /// <param name="cuenta">Cuenta a modificar y datos de la nueva cuenta</param>
        /// <returns>True en caso de que la cuenta se haya modificado correctamente, false de lo contrario</returns>
        public bool actualizarCuenta(TOCuenta cuenta)
        {
            if (conex.State != ConnectionState.Open)
            {
                conex.Open();
            }

            String       qry = "update cuenta set nombreEmpleado = @nombre, contrasenna = @contra, privilegio = @priv, estado = @est, estado = @est where idUsuario = @idCuenta";
            MySqlCommand cmd = new MySqlCommand(qry, conex);

            cmd.Parameters.AddWithValue("@idCuenta", cuenta.idUsuario);
            cmd.Parameters.AddWithValue("@nombre", cuenta.nombreEmpleado);
            cmd.Parameters.AddWithValue("@priv", cuenta.privilegio);
            cmd.Parameters.AddWithValue("@est", cuenta.estado);
            cmd.Parameters.AddWithValue("@contra", cuenta.contrasenna);
            int result = cmd.ExecuteNonQuery();

            if (conex.State != ConnectionState.Closed)
            {
                conex.Close();
            }
            return(result > 0 ? true : false);
        }
コード例 #14
0
        public string IniciarSesion(BLCuenta cuenta, BLUsuario usuario)
        {
            string confirmacion = "Error: Indefinido.";

            TOCuenta  toCuenta  = new TOCuenta(cuenta.IdCuenta, "", cuenta.Contrasenna, "", "");
            TOUsuario toUsuario = new TOUsuario();

            DAOCuenta dao = new DAOCuenta();

            confirmacion = dao.IniciarSesion(toCuenta, toUsuario);

            if (!confirmacion.Contains("Error:"))
            {
                cuenta.Rol = toCuenta.Rol;

                usuario.Nombre          = toUsuario.Nombre;
                usuario.PrimerApellido  = toUsuario.PrimerApellido;
                usuario.SegundoApellido = toUsuario.SegundoApellido;
                usuario.CodigoAsistente = toUsuario.CodigoAsistente;
            }

            return(confirmacion);
        }
コード例 #15
0
ファイル: DAOCuenta.cs プロジェクト: Mel2608/ExpedientesAcomp
        //MySqlConnection conexion = new MySqlConnection(Properties.Settings.Default.connectionStringJ);

        public TOCuenta buscarCuenta(string idEmpleado, string contra)
        {
            //try
            //{
            TOCuenta     empleado = new TOCuenta();
            MySqlCommand buscar   = new MySqlCommand("SELECT * FROM cuenta WHERE idcuenta = @id and contrasenna = @contra", conexion);

            buscar.Parameters.AddWithValue("@id", idEmpleado);
            buscar.Parameters.AddWithValue("@contra", contra);

            if (conexion.State != ConnectionState.Open)
            {
                conexion.Open();
            }

            MySqlDataReader reader = buscar.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    empleado.id             = reader.GetString(0);
                    empleado.contrasenna    = reader.GetString(1);
                    empleado.nombreEmpleado = reader.GetString(2);
                    empleado.rol            = reader.GetString(3);

                    empleado.estado = reader.GetBoolean(4);
                }
            }

            if (conexion.State != ConnectionState.Closed)
            {
                conexion.Close();
            }
            return(empleado);
        }
コード例 #16
0
 /// <summary>
 /// Convierte una cuenta de la capa de Objetos de Transferencia (TO) a la capa Lógica de Negocios. Método usado
 /// localmente
 /// </summary>
 /// <param name="cuenta">Cuenta de Objetos de Transferencia a convertir</param>
 /// <returns>Cuenta de Lógica de Negocios convertida</returns>
 private BLCuenta convert(TOCuenta cuenta)
 {
     return new BLCuenta(cuenta.idUsuario,  cuenta.nombreEmpleado, cuenta.contrasenna, cuenta.privilegio, cuenta.estado);
 }
コード例 #17
0
ファイル: DAOCuenta.cs プロジェクト: rbm77/Sistema-Clinica
        public string IniciarSesion(TOCuenta cuenta, TOUsuario usuario)
        {
            string confirmacion = "La sesión se ha iniciado correctamente.";

            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    confirmacion = "Error: No se pudo iniciar la sesión de usuario";
                    return(confirmacion);
                }
            }
            else
            {
                confirmacion = "Error: No se pudo iniciar la sesión de usuario";
                return(confirmacion);
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Iniciar sesión de usuario");

                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand();

                comando.Connection = conexion;

                comando.CommandText = "SELECT ROL FROM CUENTA_USUARIO WHERE ID_CUENTA = @idCuenta AND CONTRASENNA = @contrasenna AND ESTADO = 'activa'";


                comando.Transaction = transaccion;


                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.Parameters.AddWithValue("@idCuenta", cuenta.IdCuenta);
                comando.Parameters.AddWithValue("@contrasenna", cuenta.Contrasenna);

                SqlDataReader lector = comando.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        cuenta.Rol = lector["ROL"].ToString();
                    }
                }
                else
                {
                    cuenta.IdCuenta = "";
                    confirmacion    = "Error: El usuario no existe o la cuenta se encuentra inactiva";
                }

                lector.Close();

                comando.Parameters.Clear();

                if (!cuenta.IdCuenta.Equals(""))
                {
                    comando.CommandText = "SELECT NOMBRE, PRIMER_APELLIDO, SEGUNDO_APELLIDO, CODIGO_ASISTENTE FROM USUARIO WHERE CEDULA = @cedula";


                    comando.Parameters.AddWithValue("@cedula", cuenta.IdCuenta);

                    lector = comando.ExecuteReader();

                    if (lector.HasRows)
                    {
                        while (lector.Read())
                        {
                            usuario.Nombre          = lector["NOMBRE"].ToString();
                            usuario.PrimerApellido  = lector["PRIMER_APELLIDO"].ToString();
                            usuario.SegundoApellido = lector["SEGUNDO_APELLIDO"].ToString();
                            if (cuenta.Rol.Equals("asistente"))
                            {
                                usuario.CodigoAsistente = lector["CODIGO_ASISTENTE"].ToString();
                            }
                        }
                    }

                    lector.Close();
                    comando.Parameters.Clear();

                    if (cuenta.Rol.Equals("medico"))
                    {
                        comando.CommandText = "SELECT CODIGO_MEDICO FROM MEDICO WHERE ID_MEDICO = @idMedico";


                        comando.Parameters.AddWithValue("@idMedico", cuenta.IdCuenta);

                        lector = comando.ExecuteReader();

                        if (lector.HasRows)
                        {
                            while (lector.Read())
                            {
                                usuario.CodigoAsistente = lector["CODIGO_MEDICO"].ToString();
                            }
                        }

                        lector.Close();
                    }
                }


                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = "Error: No se pudo iniciar la sesión de usuario";
                }
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #18
0
ファイル: DAOCuenta.cs プロジェクト: rbm77/Sistema-Clinica
        public string ActualizarCuenta(TOCuenta toCuenta, TOUsuario toUsuario, TOMedico toMedico)
        {
            string confirmacion = "La cuenta se actualizó exitosamente";

            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    confirmacion = "Error: No se pudo actualizar la cuenta en el sistema";
                    return(confirmacion);
                }
            }
            else
            {
                confirmacion = "Error: No se pudo actualizar la cuenta en el sistema";
                return(confirmacion);
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;



            try
            {
                transaccion = conexion.BeginTransaction("Actualizar una cuenta");

                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand();

                comando.Connection = conexion;

                comando.CommandText = "UPDATE CUENTA_USUARIO SET " +
                                      "CORREO = @correo, " +
                                      "CONTRASENNA = @contrasenna, " +
                                      "ROL = @rol, " +
                                      "ESTADO = @estado " +
                                      "WHERE ID_CUENTA = @id";


                comando.Transaction = transaccion;

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@id", toCuenta.IdCuenta);
                comando.Parameters.AddWithValue("@correo", toCuenta.Correo);
                comando.Parameters.AddWithValue("@contrasenna", toCuenta.Contrasenna);
                comando.Parameters.AddWithValue("@rol", toCuenta.Rol);
                comando.Parameters.AddWithValue("@estado", toCuenta.Estado);

                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();


                comando.Parameters.Clear();


                comando.CommandText = "UPDATE USUARIO SET " +
                                      "NOMBRE = @nombre, " +
                                      "PRIMER_APELLIDO = @primer, " +
                                      "SEGUNDO_APELLIDO = @segundo, " +
                                      "TELEFONO = @telefono, " +
                                      "CODIGO_ASISTENTE = @codigoAsistente " +
                                      "WHERE CEDULA = @cedula;";

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@cedula", toUsuario.Cedula);
                comando.Parameters.AddWithValue("@nombre", toUsuario.Nombre);
                comando.Parameters.AddWithValue("@primer", toUsuario.PrimerApellido);
                comando.Parameters.AddWithValue("@segundo", toUsuario.SegundoApellido);
                comando.Parameters.AddWithValue("@telefono", toUsuario.Telefono);
                comando.Parameters.AddWithValue("@codigoAsistente", toUsuario.CodigoAsistente);

                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();

                comando.Parameters.Clear();

                if (toCuenta.Rol.Equals("medico") && toMedico != null)
                {
                    comando.CommandText = "UPDATE MEDICO SET " +
                                          "CODIGO_MEDICO = @codigo, " +
                                          "ESPECIALIDAD = @especialidad, " +
                                          "DURACION_CITA = @duracion " +
                                          "WHERE ID_MEDICO = @id;";

                    // Se asigna un valor a los parámetros del comando a ejecutar

                    comando.Parameters.AddWithValue("@id", toMedico.IdMedico);
                    comando.Parameters.AddWithValue("@codigo", toMedico.CodigoMedico);
                    comando.Parameters.AddWithValue("@especialidad", toMedico.Especialidad);
                    comando.Parameters.AddWithValue("@duracion", toMedico.DuracionCita);

                    // Se ejecuta el comando y se realiza un commit de la transacción

                    comando.ExecuteNonQuery();
                }

                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = "Error: No se pudo actualizar la cuenta en el sistema";
                }
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #19
0
ファイル: DAOCuenta.cs プロジェクト: rbm77/Sistema-Clinica
        public string CargarUsuario(TOCuenta cuenta, TOUsuario usuario, TOMedico medico)
        {
            string confirmacion = "El usuario se cargó exitosamente";

            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    confirmacion = "Error: No se puede cargar los datos de usuario";
                    return(confirmacion);
                }
            }
            else
            {
                confirmacion = "Error: No se puede cargar los datos de usuario";
                return(confirmacion);
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Cargar datos de usuario");

                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand();

                comando.Connection = conexion;

                comando.CommandText = "SELECT CORREO, ROL, ESTADO, CONTRASENNA FROM CUENTA_USUARIO WHERE ID_CUENTA = @idCuenta";


                comando.Transaction = transaccion;


                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.Parameters.AddWithValue("@idCuenta", cuenta.IdCuenta);

                SqlDataReader lector = comando.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        cuenta.Correo      = lector["CORREO"].ToString();
                        cuenta.Rol         = lector["ROL"].ToString();
                        cuenta.Estado      = lector["ESTADO"].ToString();
                        cuenta.Contrasenna = lector["CONTRASENNA"].ToString();
                    }
                }
                else
                {
                    cuenta.IdCuenta = "";
                }

                lector.Close();

                comando.Parameters.Clear();


                if (!cuenta.IdCuenta.Equals(""))
                {
                    comando.CommandText = "SELECT * FROM USUARIO WHERE CEDULA = @cedula";


                    comando.Parameters.AddWithValue("@cedula", cuenta.IdCuenta);

                    lector = comando.ExecuteReader();

                    if (lector.HasRows)
                    {
                        while (lector.Read())
                        {
                            usuario.Cedula          = lector["CEDULA"].ToString();
                            usuario.Nombre          = lector["NOMBRE"].ToString();
                            usuario.PrimerApellido  = lector["PRIMER_APELLIDO"].ToString();
                            usuario.SegundoApellido = lector["SEGUNDO_APELLIDO"].ToString();
                            usuario.Telefono        = lector["TELEFONO"].ToString();
                            usuario.CodigoAsistente = lector["CODIGO_ASISTENTE"].ToString();
                        }
                    }

                    lector.Close();

                    comando.Parameters.Clear();

                    if (cuenta != null)
                    {
                        if (cuenta.Rol.Equals("medico"))
                        {
                            comando.CommandText = "SELECT * FROM MEDICO WHERE ID_MEDICO = @idMedico";

                            comando.Parameters.AddWithValue("@idMedico", cuenta.IdCuenta);

                            lector = comando.ExecuteReader();

                            if (lector.HasRows)
                            {
                                while (lector.Read())
                                {
                                    medico.IdMedico     = lector["ID_MEDICO"].ToString();
                                    medico.CodigoMedico = lector["CODIGO_MEDICO"].ToString();
                                    medico.Especialidad = lector["ESPECIALIDAD"].ToString();
                                    medico.DuracionCita = lector["DURACION_CITA"].ToString();
                                }
                            }

                            lector.Close();
                        }
                    }
                }
                else
                {
                    confirmacion = "Error: El usuario no existe";
                }

                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = "Error: No se puede cargar los datos de usuario";
                }
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #20
0
ファイル: DAOCuenta.cs プロジェクト: rbm77/Sistema-Clinica
        public string CargarUsuarios(List <TOCuenta> cuentas, List <TOUsuario> usuarios)
        {
            string confirmacion = "Las cuentas de usuario se cargaron exitosamente";

            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    confirmacion = "Error: No se pueden cargar las cuentas de usuario";
                    return(confirmacion);
                }
            }
            else
            {
                confirmacion = "Error: No se pueden cargar las cuentas de usuario";
                return(confirmacion);
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Cargar cuentas de usuario");

                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand();

                comando.Connection = conexion;

                comando.CommandText = "SELECT ID_CUENTA, CORREO, ESTADO FROM CUENTA_USUARIO";


                comando.Transaction = transaccion;


                // Se ejecuta el comando y se realiza un commit de la transacción


                SqlDataReader lector = comando.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        TOCuenta temp = new TOCuenta();
                        temp.IdCuenta = lector["ID_CUENTA"].ToString();
                        temp.Correo   = lector["CORREO"].ToString();
                        temp.Estado   = lector["ESTADO"].ToString();
                        cuentas.Add(temp);
                    }
                }

                lector.Close();


                comando.CommandText = "SELECT CEDULA, NOMBRE, PRIMER_APELLIDO, SEGUNDO_APELLIDO, TELEFONO FROM USUARIO";

                lector = comando.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        TOUsuario temp = new TOUsuario(lector["CEDULA"].ToString(), lector["NOMBRE"].ToString(),
                                                       lector["PRIMER_APELLIDO"].ToString(), lector["SEGUNDO_APELLIDO"].ToString(),
                                                       lector["TELEFONO"].ToString(), "");
                        usuarios.Add(temp);
                    }
                }

                lector.Close();

                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = "Error: No se pueden cargar las cuentas de usuario";
                }
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #21
0
        /// <summary>
        /// Sustituye la contraseña por un valor aleatorio que es enviado por mensaje de correo
        /// </summary>
        /// <param name="myTOCuenta">Recibe un objeto con los atributos de la cuenta que se desea modificar</param>
        public void recuperarContraseña(TOCuenta myTOCuenta)
        {
            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                    //return confirmacion;
                }
            }
            else
            {
                //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                //return confirmacion;
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Editar contraseña");
                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión


                SqlCommand comando = new SqlCommand("update CUENTA set CONTRASENA = @Contraseña where CORREO = @Correo", conexion);


                comando.Transaction = transaccion;

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@Correo", myTOCuenta.correo);
                comando.Parameters.AddWithValue("@Contraseña", myTOCuenta.contrasena);

                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();

                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                }
            }
            finally
            {
                //Se finaliza la conezion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
コード例 #22
0
ファイル: DAOCuenta.cs プロジェクト: rbm77/Sistema-Clinica
        // Se crea una cuenta de usuario en base de datos
        public string CrearCuenta(TOCuenta toCuenta, TOUsuario toUsuario, TOMedico toMedico)
        {
            string confirmacion = "La cuenta se creó exitosamente";
            string mensajeError = "Error: No se pudo ingresar la cuenta en el sistema";

            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    confirmacion = mensajeError;
                    return(confirmacion);
                }
            }
            else
            {
                confirmacion = mensajeError;
                return(confirmacion);
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Ingresar nueva cuenta");

                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand();

                comando.Connection  = conexion;
                comando.Transaction = transaccion;

                comando.CommandText = "INSERT INTO CUENTA_USUARIO (ID_CUENTA, CORREO, CONTRASENNA, ROL, ESTADO)" +
                                      "VALUES (@id, @correo, @contrasenna, @rol, @estado);";

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@id", toCuenta.IdCuenta);
                comando.Parameters.AddWithValue("@correo", toCuenta.Correo);
                comando.Parameters.AddWithValue("@contrasenna", toCuenta.Contrasenna);
                comando.Parameters.AddWithValue("@rol", toCuenta.Rol);
                comando.Parameters.AddWithValue("@estado", toCuenta.Estado);

                // Se ejecuta el comando y se limpian los parámetros

                comando.ExecuteNonQuery();
                comando.Parameters.Clear();

                // Se modifica la consulta del comando de la transacción

                comando.CommandText = "INSERT INTO USUARIO (CEDULA, NOMBRE, PRIMER_APELLIDO, SEGUNDO_APELLIDO," +
                                      " TELEFONO, CODIGO_ASISTENTE) VALUES (@cedula, @nombre, @primer, @segundo, @telefono, @codigoAsistente);";

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@cedula", toUsuario.Cedula);
                comando.Parameters.AddWithValue("@nombre", toUsuario.Nombre);
                comando.Parameters.AddWithValue("@primer", toUsuario.PrimerApellido);
                comando.Parameters.AddWithValue("@segundo", toUsuario.SegundoApellido);
                comando.Parameters.AddWithValue("@telefono", toUsuario.Telefono);
                comando.Parameters.AddWithValue("@codigoAsistente", toUsuario.CodigoAsistente);

                // Se ejecuta el comando

                comando.ExecuteNonQuery();
                comando.Parameters.Clear();

                // En caso de que el rol de la cuennta se un médico, se procede a guardar en base de datos

                if (toCuenta.Rol.Equals("medico") && toMedico != null)
                {
                    comando.CommandText = "INSERT INTO MEDICO (ID_MEDICO, CODIGO_MEDICO, ESPECIALIDAD, DURACION_CITA) " +
                                          "VALUES (@id, @codigo, @especialidad, @duracion);";

                    // Se asigna un valor a los parámetros del comando a ejecutar

                    comando.Parameters.AddWithValue("@id", toMedico.IdMedico);
                    comando.Parameters.AddWithValue("@codigo", toMedico.CodigoMedico);
                    comando.Parameters.AddWithValue("@especialidad", toMedico.Especialidad);
                    comando.Parameters.AddWithValue("@duracion", toMedico.DuracionCita);

                    // Se ejecuta el comando y se realiza un commit de la transacción

                    comando.ExecuteNonQuery();
                }

                // Una vez que se ejecutaron todos los comandos se realiza el commit de la transacción
                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción
                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = mensajeError;
                }
            }
            finally
            {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #23
0
        /// <summary>
        /// Inserta una cuenta a la base de datos
        /// </summary>
        /// <param name="miTOCuenta">Recibe un objeto que posee los atributos de la cuenta</param>
        /// <returns>Retorna un mensaje para confirmar la insercion de la cuenta</returns>
        public string InsertarCuenta(TOCuenta miTOCuenta)
        {
            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                    //return confirmacion;
                }
            }
            else
            {
                //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                //return confirmacion;
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion  = null;
            string         confirmacion = "Correcto";

            try
            {
                transaccion = conexion.BeginTransaction("Insertar nueva cuenta");
                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand("INSERT INTO CUENTA (Correo, Contrasena, Tipo, Estado) VALUES (@cor, @con, @tip, @est);", conexion);


                comando.Transaction = transaccion;

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@cor", miTOCuenta.correo);
                comando.Parameters.AddWithValue("@con", miTOCuenta.contrasena);
                comando.Parameters.AddWithValue("@tip", miTOCuenta.tipo);
                comando.Parameters.AddWithValue("@est", miTOCuenta.estado);

                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();

                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = "Error";
                }
            }
            finally
            {
                // Se finaliza la conexion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #24
0
        /// <summary>
        /// Busca que el correo y la contraseña de una cuenta coincida
        /// </summary>
        /// <param name="myTOCuenta">Se recibe un objeto que contiene los datos a buscar</param>
        public String buscarCuentaConContraseña(TOCuenta myTOCuenta)
        {
            string confirmacion = "La cuenta se encontro correctamente";

            // Se abre la conexión
            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    confirmacion = "Ocurrio un error y no se encontro la cuenta";
                    return(confirmacion);
                }
            }
            else
            {
                confirmacion = "Ocurrio un error y no se encontro la cuenta";
                return(confirmacion);
            }
            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Buscar Cuenta con Contraseña");
                SqlCommand comando = new SqlCommand("select * from Cuenta where CORREO = @Correo and CONTRASENA = @Contraseña", conexion);
                comando.Transaction = transaccion;

                // Asignar un valor a los parametros del comando a ejecutar

                comando.Parameters.AddWithValue("@Correo", myTOCuenta.correo);
                comando.Parameters.AddWithValue("@Contraseña", myTOCuenta.contrasena);

                // Ejecutar comando y realizar commit de la transaccion
                comando.ExecuteNonQuery();
                transaccion.Commit();

                SqlDataReader reader = comando.ExecuteReader();
                if (reader.Read())
                {
                    myTOCuenta.estado = reader["ESTADO"].ToString();
                    myTOCuenta.tipo   = reader["TIPO"].ToString();
                }
            }
            catch (Exception)
            {
                try
                {
                    // Realizar rollback a la transaccion
                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    confirmacion = "Ocurrió un error y no se pudo encontrar la cuenta";
                }
            }
            finally
            {
                // Finaliza la conexion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(confirmacion);
        }
コード例 #25
0
        /// <summary>
        /// Revisa que la contraseña recibida concida con los datos de la cuenta
        /// </summary>
        /// <param name="miTOCuenta">Se recibe un objeto con los atributos de la cuenta que interesa validad</param>
        /// <returns>Retorna un valor booleano segun sea que la contraseña coincida o no</returns>
        public Boolean revisarContrasena(TOCuenta miTOCuenta)
        {
            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                    //return confirmacion;
                }
            }
            else
            {
                //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                //return confirmacion;
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;
            Boolean        valor       = false;

            try
            {
                transaccion = conexion.BeginTransaction("Revisar Contraseña");
                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand("SELECT CONTRASENA FROM CUENTA WHERE CORREO = @cor;", conexion);


                comando.Transaction = transaccion;

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@cor", miTOCuenta.correo);



                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();

                transaccion.Commit();


                SqlDataReader reader = comando.ExecuteReader();
                if (reader.Read())
                {
                    if (reader["CONTRASENA"].ToString() == miTOCuenta.contrasena)
                    {
                        valor = true;
                    }
                }
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
            }
            finally
            {
                // Se finaliza la conezion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(valor);
        }
コード例 #26
0
 private BLCuenta convert(TOCuenta cuenta)
 {
     return(new BLCuenta(cuenta.id, cuenta.contrasenna, cuenta.rol, cuenta.nombreEmpleado, cuenta.estado));
 }
コード例 #27
0
        /// <summary>
        /// Busca los datos de una cuenta segun el correo ingresado
        /// </summary>
        /// <param name="miTOCuenta">Se recibe un ojbeto con el atributo de correo</param>
        public void buscarCuentaPorCorreo(TOCuenta miTOCuenta)
        {
            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                    //return confirmacion;
                }
            }
            else
            {
                //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                //return confirmacion;
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;
            Boolean        valor       = false;

            try
            {
                transaccion = conexion.BeginTransaction("Revisar Contraseña");
                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand("SELECT * FROM CUENTA WHERE CORREO = @cor;", conexion);

                comando.Parameters.AddWithValue("@cor", miTOCuenta.correo);

                comando.Transaction = transaccion;


                // Se ejecuta el comando y se realiza un commit de la transacción


                SqlDataReader lector = comando.ExecuteReader();
                if (lector.HasRows)
                {
                    // Se asignado los valores a un objeto segun los atributos seleccionados
                    while (lector.Read())
                    {
                        miTOCuenta.tipo   = lector["TIPO"].ToString();
                        miTOCuenta.estado = lector["ESTADO"].ToString();
                    }
                }
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
            }
            finally
            {
                // Se finaliza la conezion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
コード例 #28
0
        /// <summary>
        /// Edita la contraseña de una cuenta segun la nueva contraseña ingresada
        /// </summary>
        /// <param name="miTOCuenta">Recibe un objeto con los atributos de la cuenta que se desea modificar</param>
        public void editarEstado(TOCuenta miTOCuenta, String Accion)
        {
            // Se abre la conexión

            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                    //return confirmacion;
                }
            }
            else
            {
                //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                //return confirmacion;
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            try
            {
                transaccion = conexion.BeginTransaction("Editar estado");
                SqlCommand comando;
                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                if (Accion == "HABILITAR")
                {
                    comando = new SqlCommand("UPDATE CUENTA SET ESTADO = 'Habilitada' WHERE CORREO = @cor;", conexion);
                }
                else
                {
                    comando = new SqlCommand("UPDATE CUENTA SET ESTADO = 'Deshabilitada' WHERE CORREO = @cor;", conexion);
                }

                comando.Transaction = transaccion;

                // Se asigna un valor a los parámetros del comando a ejecutar

                comando.Parameters.AddWithValue("@cor", miTOCuenta.correo);

                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();

                transaccion.Commit();
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                }
            }
            finally
            {
                //Se finaliza la conezion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
        }
コード例 #29
0
        public List <TOCuenta> buscarListaPacientes()
        {
            // Se abre la conexión
            if (conexion != null)
            {
                try
                {
                    if (conexion.State != ConnectionState.Open)
                    {
                        conexion.Open();
                    }
                }
                catch (Exception)
                {
                    //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                    //return confirmacion;
                }
            }
            else
            {
                //confirmacion = "Ocurrio un error y no se pudo cargar los expedientes";
                //return confirmacion;
            }

            // Se inicia una nueva transacción

            SqlTransaction transaccion = null;

            //string confirmacion = "La cita se ingresó exitosamente en el sistema";

            try
            {
                transaccion = conexion.BeginTransaction("Buscar Lista");
                // Se crea un nuevo comando con la secuencia SQL y el objeto de conexión

                SqlCommand comando = new SqlCommand("SELECT * FROM CUENTA WHERE TIPO = 'Paciente'", conexion);

                comando.Transaction = transaccion;
                // Se ejecuta el comando y se realiza un commit de la transacción

                comando.ExecuteNonQuery();

                transaccion.Commit();


                using (SqlDataReader reader = comando.ExecuteReader())
                {
                    // Añade una cuenta a la lista por cada una de las encontrada en la base de datos
                    while (reader != null && reader.Read())
                    {
                        TOCuenta miTOCuenta = new TOCuenta();
                        miTOCuenta.correo = reader["CORREO"].ToString();
                        lista.Add(miTOCuenta);
                    }
                }
            }
            catch (Exception)
            {
                try
                {
                    // En caso de un error se realiza un rollback a la transacción

                    transaccion.Rollback();
                }
                catch (Exception)
                {
                }
                finally
                {
                    //confirmacion = "Ocurrió un error y no se pudo ingresar el personal";
                }
            }

            finally
            {
                // Finaliza la conexion
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            return(lista);
        }