#include "stdafx.h"
#include "pobierz_wyslij.h"
pobierz_wyslij::pobierz_wyslij(String^ scie,String^ zbior,String^ logi,String^ has)
{
                sciezka=scie;
                plik=zbior;
                login=logi;
                haslo=has;
            }
System::Void pobierz_wyslij::pobierz_plik() {
                Uri^ adres = gcnew Uri("ftp://"+sciezka+"/"+plik);
                FtpWebRequest^ req =
                  dynamic_cast<FtpWebRequest^>(WebRequest::Create(adres));
                req->Credentials=gcnew NetworkCredential(login,haslo);
                req->Method=WebRequestMethods::Ftp::DownloadFile;
                FtpWebResponse^ resp=dynamic_cast<FtpWebResponse^>(req->GetResponse());
                Stream^ resp_stream = resp->GetResponseStream();
                FileStream^ stru_plik = gcnew FileStream("./"+plik,FileMode::Create);
                // czytaj plik z serwera i zapisuj do strumienia
                int ile_bajtow;
                array<Byte> ^ bufor = gcnew array<Byte>(1024);
                do {
                   ile_bajtow=resp_stream->Read(bufor,0,bufor->Length);
                   stru_plik->Write(bufor,0,ile_bajtow);
                } while(ile_bajtow!=0);
                stru_plik->Flush();
                stru_plik->Close();
                resp_stream->Close();
                resp->Close();
            }
 System::Void pobierz_wyslij::wyslij_plik() {
                Uri^ adres = gcnew Uri("ftp://"+sciezka+"/"+plik);
                FtpWebRequest^ req =
                  dynamic_cast<FtpWebRequest^>(WebRequest::Create(adres));
                req->Credentials=gcnew NetworkCredential(login,haslo);
                req->Method=WebRequestMethods::Ftp::UploadFile;
                FileStream^ stru_plik = gcnew FileStream("./"+plik,FileMode::Open);
                Stream^ req_stream = req->GetRequestStream();
                int ile_bajtow;
                array<Byte> ^ bufor = gcnew array<Byte>(1024);
                do {
                   ile_bajtow=stru_plik->Read(bufor,0,1024);
                   req_stream->Write(bufor,0,ile_bajtow);
                } while(ile_bajtow!=0);
                req_stream->Close();
                FtpWebResponse^ resp=dynamic_cast<FtpWebResponse^>(req->GetResponse());
            }

