Пример #1
0
        /// <summary>
        /// Event handler koji se aktivira kada se promijeni tab na formi, tj aktivira se tab za pregled datoteka
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void tabKontrola_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (tabKontrola.SelectedIndex == 1)
            {
                DropboxManager  novo          = new DropboxManager();
                List <Datoteka> listaDatoteka = await novo.ListRootFolder(prijavljeniKorisnik.Username, listaKorisnika.Korisnici);

                listaDatoteka = listaDatoteka.OrderByDescending(x => x.Datum).ToList();
                TablicaDatoteka(listaDatoteka);
            }
        }
Пример #2
0
        /// <summary>
        /// Event handler koji se aktivira prilikom klika na gumb za skidanje ili brisanje datoteke sa dropbox servera
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void prikazDatoteke_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int delete = 0;

            //index klika za preuzimanje datoteke
            if (e.ColumnIndex == 0)
            {
                try
                {
                    DropboxManager novo        = new DropboxManager();
                    string         posiljatelj = prikazDatoteke.Rows[e.RowIndex].Cells["Posiljatelj"].Value as string;
                    fileNameSkini = prikazDatoteke.Rows[e.RowIndex].Cells["ImeDatoteke"].Value as string;

                    IspisLogaZaPregled(4);

                    statusPreuzimanja = 1;
                    timerPreuzmi.Start();
                    byte[] file = await novo.Download(prijavljeniKorisnik.Username, posiljatelj, fileNameSkini);

                    OtvoriSaveFileDialog(file);
                }
                catch
                {
                }

                timerPreuzmi.Stop();
            }

            //index klika za brisanje datoteke
            if (e.ColumnIndex == 1)
            {
                try
                {
                    DropboxManager novo        = new DropboxManager();
                    string         posiljatelj = prikazDatoteke.Rows[e.RowIndex].Cells["Posiljatelj"].Value as string;
                    fileNameSkini = prikazDatoteke.Rows[e.RowIndex].Cells["ImeDatoteke"].Value as string;
                    delete        = await novo.DeleteFile(prijavljeniKorisnik.Username, posiljatelj, fileNameSkini);

                    IspisLogaZaPregled(3);

                    if (delete == 1)
                    {
                        List <Datoteka> listaDatoteka = await novo.ListRootFolder(prijavljeniKorisnik.Username, listaKorisnika.Korisnici);

                        listaDatoteka = listaDatoteka.OrderByDescending(x => x.Datum).ToList();
                        TablicaDatoteka(listaDatoteka);
                    }
                }
                catch
                {
                }
            }
        }
Пример #3
0
        /// <summary>
        /// Pomoćna funkcija za funkciju RegistrirajKorisnika() koja zapisuje sve potrebne ključeve u bazu podataka(Javni,Privatni,2FA)
        /// </summary>
        /// <param name="connection"></param>
        private void ZapisiKljuceveUBazu(SqlConnection connection)
        {
            var        command    = new SqlCommand();
            Enkripcija enkripcija = new RsaEnkripcija();

            enkripcija.AssignRsaKeys();
            JavniKljuc = enkripcija.DohvatiJavniKljuc();

            command             = new SqlCommand();
            command.Connection  = connection;
            command.CommandType = CommandType.Text;
            command.CommandText = "UPDATE Korisnik SET JavniKljuc = @JavniKljuc WHERE Username=@Username";
            command.Parameters.AddWithValue("@JavniKljuc", JavniKljuc);
            command.Parameters.AddWithValue("@Username", Username);
            command.ExecuteNonQuery();

            command             = new SqlCommand();
            command.Connection  = connection;
            command.CommandType = CommandType.Text;
            command.CommandText = "INSERT INTO PrivatniKljucevi(Username,PrivatniKljuc) VALUES (@Username,@PrivatniKljuc)";
            command.Parameters.AddWithValue("@PrivatniKljuc", enkripcija.DohvatiPrivatniKljuc());
            command.Parameters.AddWithValue("@Username", Username);
            command.ExecuteNonQuery();

            if (Kljuc2FA == "DA")
            {
                Verficiranje2FA verificiranje = new Verficiranje2FA();
                Kljuc2FA            = verificiranje.GenerirajKljuc2FA();
                command             = new SqlCommand();
                command.Connection  = connection;
                command.CommandType = CommandType.Text;
                command.CommandText = "UPDATE Korisnik SET Kljuc2FA = @Kljuc2FA WHERE Username=@Username";
                command.Parameters.AddWithValue("@Kljuc2FA", Kljuc2FA);
                command.Parameters.AddWithValue("@Username", Username);
                command.ExecuteNonQuery();
            }

            DropboxManager dropbox = new DropboxManager();

            dropbox.CreateANewFolder(Username);
        }
Пример #4
0
        /// <summary>
        /// Event handler koji prilikom klika na gumb "Posalji" salje datoteku na dropbox server
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void gumbPosalji_Click(object sender, EventArgs e)
        {
            try
            {
                IspisLoga(3);
                statusLoga = 0;
                timerLog.Start();

                DropboxManager novo       = new DropboxManager();
                string         javniKljuc = listaKorisnika.Korisnici.Where(i => i.Username == odabirKorisnik.SelectedItem.ToString()).Select(p => p.JavniKljuc).First();
                int            result     = await novo.Upload(fileName, prijavljeniKorisnik.Username, odabirKorisnik.SelectedItem.ToString(), javniKljuc);

                if (result == 1)
                {
                    IspisLoga(1);
                }
            }
            catch
            {
                IspisLoga(2);
            }
            timerLog.Stop();
        }