Beispiel #1
0
        private void okButon_Click(object sender, EventArgs e)
        {
            int valoare = Int32.Parse(this.valoareTextBox.Text);

            //extragere
            if (tipOperatiune == 0)
            {
                if (valoare > cont.disponibil)
                {
                    this.infoLabel.Text = "Fonduri insuficiente!";
                }
                else
                {
                    //update valoare in db si in obiect
                    string        stmt = "update conturi set disponibil = @disponibil where id = @id";
                    SQLiteCommand cmd  = new SQLiteCommand(stmt, _conn);
                    cmd.Parameters.AddWithValue("@id", cont.id);
                    cmd.Parameters.AddWithValue("@disponibil", cont.disponibil - valoare);
                    try {
                        cmd.ExecuteNonQuery();
                        cont.disponibil = cont.disponibil - valoare;
                    }
                    catch (Exception ex) {
                    }
                }
            }
            else
            {
                //update valoare in db si in obiect
                string        stmt = "update conturi set disponibil = @disponibil where id = @id";
                SQLiteCommand cmd  = new SQLiteCommand(stmt, _conn);
                cmd.Parameters.AddWithValue("@id", cont.id);
                cmd.Parameters.AddWithValue("@disponibil", cont.disponibil + valoare);

                try
                {
                    cmd.ExecuteNonQuery();
                    cont.disponibil = cont.disponibil + valoare;
                }
                catch (Exception ex)
                {
                }
            }

            f.Close();
            _conn.Close();
            _conn.Dispose();
            _conn = null;

            //deschid fereastra anterioara
            AccountForm ac = new AccountForm(cont);

            this.Hide();
            ac.Show();
        }
Beispiel #2
0
        private void chooseButon_Click(object sender, EventArgs e)
        {
            //obtinem obiectul de tip CONT

            //obtin id-ul contului
            string infoCont = this.accountsList.SelectedItem.ToString();
            int    idCont   = Int32.Parse(infoCont.Split(' ')[0]);


            string        stmt    = "select * from conturi where id = @id";
            SQLiteCommand command = new SQLiteCommand(stmt, _conn);

            command.Parameters.AddWithValue("@id", idCont);
            SQLiteDataReader reader = null;

            try
            {
                float  disponibil     = 0;
                String dataDeschidere = "";
                String tipMoneda      = "";
                reader = command.ExecuteReader();
                while (reader.Read())
                {
                    tipMoneda = reader.GetString(2);
                    //cont = new Cont(idCont, moneda, reader.GetFloat(3), DateTime.Parse(reader.GetString(4)), client);
                    disponibil     = reader.GetFloat(3);
                    dataDeschidere = reader.GetString(4);
                }
                reader.Close();
                Moneda moneda = new Moneda(tipMoneda);
                Cont   cont   = new Cont(idCont, moneda, disponibil, DateTime.Parse(dataDeschidere), client);

                f.Close();
                _conn.Close();
                _conn.Dispose();
                _conn = null;

                AccountForm acc = new AccountForm(cont);
                this.Hide();
                acc.Show();
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Eroare la crearea obiectului de tip cont.");
            }
        }
Beispiel #3
0
        private void acceptButton_Click(object sender, EventArgs e)
        {
            //obtin valorile introduse
            int idContDestinatie = Int32.Parse(this.contTextBox.Text);

            if (cont.id == idContDestinatie)
            {
                this.infoLabel.Text = "Nu puteti efectua transferuri intre acelasi cont.";
            }
            else
            {
                string numeBeneficiar = this.NumeTextBox.Text;
                string mesaj          = this.MesajTextBox.Text;
                float  valoare        = float.Parse(this.ValoareTextBox.Text);

                float dobanda = (float)(valoare * 0.01);

                if (valoare + dobanda > cont.disponibil)
                {
                    this.infoLabel.Text = "Fonduri insuficiente.";
                }
                else
                {
                    string        stmt = "select conturi.tip from conturi, clienti where conturi.client = clienti.id and conturi.id = @idCont";
                    SQLiteCommand cmd  = new SQLiteCommand(stmt, _conn);
                    cmd.Parameters.AddWithValue("@idCont", idContDestinatie);
                    try
                    {
                        string monedaDest = cmd.ExecuteScalar().ToString();
                        float  valoareRezultata;
                        if (cont.tip.cod.Equals(monedaDest))
                        {
                            //conturile au aceeasi moneda
                            valoareRezultata = valoare;
                        }
                        else
                        {
                            //conturile folosesc monede diferite
                            //obtin cursul de schimb la zi

                            string m;
                            //aflu moneda care nu e ron
                            if (cont.tip.cod.Equals("RON"))
                            {
                                m = monedaDest;
                            }
                            else
                            {
                                m = cont.tip.cod;
                            }
                            String        URLString  = "https://www.bnr.ro/nbrfxrates.xml";
                            XmlTextReader reader     = new XmlTextReader(URLString);
                            String        cursSchimb = "";
                            while (reader.Read())
                            {
                                if (reader.NodeType == XmlNodeType.Element && reader.Name == "Rate" &&
                                    reader.GetAttribute("currency").Equals(m))
                                {
                                    cursSchimb = reader.ReadElementContentAsString();
                                }
                            }

                            float cSchimb = float.Parse(cursSchimb);
                            if (cont.tip.cod.Equals("RON"))
                            {
                                //facem impartire
                                valoareRezultata = valoare / cSchimb;
                            }
                            else
                            {
                                //facem inmultire
                                valoareRezultata = valoare * cSchimb;
                            }

                            Console.WriteLine("actualizez valoare in contul nou +" + valoareRezultata);
                            //adaug valoarea la noul cont
                            string        stmt2 = "update conturi set disponibil = disponibil + @valoare where id = @idCont";
                            SQLiteCommand cmd2  = new SQLiteCommand(stmt2, _conn);
                            cmd2.Parameters.AddWithValue("@valoare", valoareRezultata);
                            cmd2.Parameters.AddWithValue("@idCont", idContDestinatie);
                            cmd2.ExecuteNonQuery();

                            Console.WriteLine("actualizez valoare in contul vechi -" + valoare);
                            //scad valoarea din contul vechi
                            string        stmt3 = "update conturi set disponibil = disponibil - @valoare where id = @idCont";
                            SQLiteCommand cmd3  = new SQLiteCommand(stmt3, _conn);
                            cmd3.Parameters.AddWithValue("@valoare", valoare);
                            cmd3.Parameters.AddWithValue("@idCont", cont.id);
                            cmd3.ExecuteNonQuery();

                            //actualizez valoarea si in obiect
                            cont.disponibil = cont.disponibil - valoare;
                            string        stmt4 = "INSERT INTO tranzactii(dinC,inC,tip_tranzactie,valoare,data,mesaj) VALUES(@dinC,@inC,@tipTranz,@valoare,@data,@mesaj)";
                            SQLiteCommand cmd4  = new SQLiteCommand(stmt4, _conn);
                            cmd4.Parameters.AddWithValue("@dinC", cont.id);
                            cmd4.Parameters.AddWithValue("@inC", idContDestinatie);
                            cmd4.Parameters.AddWithValue("@tipTranz", "TRANSFER");
                            cmd4.Parameters.AddWithValue("@valoare", valoare);
                            cmd4.Parameters.AddWithValue("@data", DateTime.Now);
                            cmd4.Parameters.AddWithValue("@mesaj", this.MesajTextBox.Text);
                            cmd4.ExecuteNonQuery();

                            //inregistrez o tranzactie noua

                            f.Close();
                            _conn.Close();
                            _conn.Dispose();
                            _conn = null;


                            //deschid pagina anterioara
                            //deschid fereastra de transfer
                            AccountForm ex = new AccountForm(cont);
                            this.Hide();
                            ex.Show();
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("ajuns aici");
                    }
                }
            }
            //string stmt = "update conturi set disponibil = @disponibil where id = @id";
        }