public List <Utalasok> UtalasokList(string uid)
        {
            List <Utalasok> utalasok = new List <Utalasok>();

            Felhasznalo f = ellenorzes(uid);

            SqlConnection conn = DatabaseManager.getConnection();

            try
            {
                conn.Open();

                SqlCommand command = new SqlCommand("SELECT id FROM felhasznalok WHERE felhasznalonev= @uname;", conn);
                command.Parameters.AddWithValue("@uname", f.Nev);

                Int32 sajatid = 0;

                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    sajatid = Convert.ToInt32(reader["id"]);
                }
                reader.Close();

                SqlCommand command2 = new SqlCommand("SELECT felhasznalok.felhasznalonev, utalasok.mikor, utalasok.mennyit FROM utalasok INNER JOIN felhasznalok ON utalasok.kinek = felhasznalok.id WHERE utalasok.kitol= @sajatid;", conn);
                command2.Parameters.AddWithValue("@sajatid", sajatid);

                SqlDataReader reader2 = command2.ExecuteReader();

                while (reader2.Read())
                {
                    string   nev    = reader2.GetString(0);
                    int      osszeg = reader2.GetInt32(2);
                    DateTime ido    = reader2.GetDateTime(1);
                    utalasok.Add(new Utalasok(nev, osszeg, ido));
                }
                reader2.Close();

                return(utalasok);
            }
            catch (SqlException)
            {
                Hiba hiba = new Hiba();
                hiba.HibaTipusa = "Adatbázis elérési hiba!";
                hiba.Muvelet    = "Utalások listázása";
                throw new FaultException <Hiba>(hiba);
            }
            catch (Exception)
            {
                Hiba hiba = new Hiba();
                hiba.HibaTipusa = "Valami nagy hiba történt, kérjük próbálja meg később!";
                hiba.Muvelet    = "Utalások listázása";
                throw new FaultException <Hiba>(hiba);
            }
            finally
            {
                conn.Close();
            }
        }
 Felhasznalo ellenorzes(string f)
 {
     lock (felh)
     {
         Felhasznalo fel = felh.Find(x => x.Uid == f);
         return(fel);
     }
 }
 public string Kijelentkezes(string uid)
 {
     try
     {
         Felhasznalo f = ellenorzes(uid);
         lock (felh)
         {
             felh.Remove(f);
         }
         return(string.Empty);
     }
     catch (Exception)
     {
         Hiba hiba = new Hiba();
         hiba.HibaTipusa = "Valami nagy hiba történt, kérjük próbálja meg később!";
         hiba.Muvelet    = "Kijelentkezés";
         throw new FaultException <Hiba>(hiba);
     }
 }
        public Utal Utalas(string felhnev, int osszeg, string uid)
        {
            Felhasznalo f = ellenorzes(uid);

            SqlConnection conn = DatabaseManager.getConnection();

            try
            {
                conn.Open();

                SqlCommand command = new SqlCommand("SELECT id FROM felhasznalok WHERE felhasznalonev= @uname;", conn);
                command.Parameters.AddWithValue("@uname", f.Nev);

                Int32         kuldoid = 0;
                SqlDataReader reader  = command.ExecuteReader();

                while (reader.Read())
                {
                    kuldoid = Convert.ToInt32(reader["id"]);
                }
                reader.Close();

                SqlCommand comman2 = new SqlCommand("SELECT bankiadatok.egyenleg FROM bankiadatok INNER JOIN felhasznalok ON bankiadatok.felh_id=felhasznalok.id WHERE felhasznalok.id= @id;", conn);
                comman2.Parameters.AddWithValue("@id", kuldoid);

                Int32 egyenlegkuldo = 0;

                SqlDataReader reade2 = comman2.ExecuteReader();

                while (reade2.Read())
                {
                    egyenlegkuldo = Convert.ToInt32(reade2["egyenleg"]);
                }
                reade2.Close();

                if (egyenlegkuldo < osszeg)
                {
                    Utal utal = new Utal();
                    utal.Felhnev  = felhnev;
                    utal.Osszeg   = osszeg;
                    utal.Eredmeny = false;
                    return(utal);
                }

                SqlCommand command2 = new SqlCommand("SELECT id FROM felhasznalok WHERE felhasznalonev= @uname;", conn);
                command2.Parameters.AddWithValue("@uname", felhnev);

                Int32         cimzetid = 0;
                SqlDataReader reader2  = command2.ExecuteReader();

                while (reader2.Read())
                {
                    cimzetid = Convert.ToInt32(reader2["id"]);
                }
                reader2.Close();

                if (cimzetid > 0)
                {
                    SqlCommand command3 = new SqlCommand("INSERT INTO utalasok (kitol,kinek,mikor,mennyit) VALUES (@kuldoid,@cimzetid,@ido,@osszeg)", conn);
                    command3.Parameters.Add("@kuldoid", SqlDbType.BigInt).Value  = kuldoid;
                    command3.Parameters.Add("@cimzetid", SqlDbType.BigInt).Value = cimzetid;
                    command3.Parameters.Add("@ido", SqlDbType.DateTime).Value    = DateTime.Now;
                    command3.Parameters.Add("@osszeg", SqlDbType.BigInt).Value   = osszeg;

                    command3.ExecuteNonQuery();

                    f.Egyenleg  = egyenlegkuldo;
                    f.Egyenleg -= osszeg;

                    SqlCommand command5 = new SqlCommand("UPDATE bankiadatok SET egyenleg= @egyenleg WHERE felh_id= @id;", conn);
                    command5.Parameters.AddWithValue("@egyenleg", egyenlegkuldo - osszeg);
                    command5.Parameters.AddWithValue("@id", kuldoid);
                    command5.ExecuteNonQuery();


                    SqlCommand command4 = new SqlCommand("SELECT bankiadatok.egyenleg FROM bankiadatok INNER JOIN felhasznalok ON bankiadatok.felh_id=felhasznalok.id WHERE felhasznalok.id= @id;", conn);
                    command4.Parameters.AddWithValue("@id", cimzetid);

                    Int32 egyenlegcimzet = 0;

                    SqlDataReader reader4 = command4.ExecuteReader();

                    while (reader4.Read())
                    {
                        egyenlegcimzet = Convert.ToInt32(reader4["egyenleg"]);
                    }
                    reader4.Close();

                    SqlCommand command6 = new SqlCommand("UPDATE bankiadatok SET egyenleg= @egyenleg WHERE felh_id= @id;", conn);
                    command6.Parameters.AddWithValue("@egyenleg", egyenlegcimzet + osszeg);
                    command6.Parameters.AddWithValue("@id", cimzetid);
                    command6.ExecuteNonQuery();

                    Utal utal = new Utal();
                    utal.Felhnev  = felhnev;
                    utal.Osszeg   = osszeg;
                    utal.Eredmeny = true;
                    return(utal);
                }
                else
                {
                    Utal utal = new Utal();
                    utal.Felhnev  = felhnev;
                    utal.Osszeg   = osszeg;
                    utal.Eredmeny = false;
                    return(utal);
                }
            }
            catch (SqlException)
            {
                Hiba hiba = new Hiba();
                hiba.HibaTipusa = "Adatbázis elérési hiba!";
                hiba.Muvelet    = "Utalás";
                throw new FaultException <Hiba>(hiba);
            }
            catch (Exception)
            {
                Hiba hiba = new Hiba();
                hiba.HibaTipusa = "Valami nagy hiba történt, kérjük próbálja meg később!";
                hiba.Muvelet    = "Utalás";
                throw new FaultException <Hiba>(hiba);
            }
            finally
            {
                conn.Close();
            }
        }
        public string Lekerdezes(string uid)
        {
            Felhasznalo f = ellenorzes(uid);

            if (f == null)
            {
                return("Ez a funkció csak bejelentkezés után érhető el.");
            }

            SqlConnection conn = DatabaseManager.getConnection();

            try
            {
                conn.Open();
                SqlCommand command = new SqlCommand("SELECT id FROM felhasznalok WHERE felhasznalonev= @uname;", conn);
                command.Parameters.AddWithValue("@uname", f.Nev);

                Int32         id     = 0;
                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    id = Convert.ToInt32(reader["id"]);
                }
                reader.Close();

                SqlCommand command2 = new SqlCommand("SELECT bankiadatok.egyenleg FROM bankiadatok INNER JOIN felhasznalok ON bankiadatok.felh_id=felhasznalok.id WHERE felhasznalok.id= @id;", conn);
                command2.Parameters.AddWithValue("@id", id);

                Int32 egyenleg = 0;

                SqlDataReader reader2 = command2.ExecuteReader();

                while (reader2.Read())
                {
                    egyenleg = Convert.ToInt32(reader2["egyenleg"]);
                }

                reader2.Close();

                f.Egyenleg = egyenleg;

                return(egyenleg.ToString());
            }
            catch (SqlException)
            {
                Hiba hiba = new Hiba();
                hiba.HibaTipusa = "Adatbázis elérési hiba!";
                hiba.Muvelet    = "Lekérdezés";
                throw new FaultException <Hiba>(hiba);
            }
            catch (Exception)
            {
                Hiba hiba = new Hiba();
                hiba.HibaTipusa = "Valami nagy hiba történt, kérjük próbálja meg később!";
                hiba.Muvelet    = "Lekérdezés";
                throw new FaultException <Hiba>(hiba);
            }
            finally
            {
                conn.Close();
            }
        }