Pokaż
Ignoruj:
Data:
2009-03-14 18:04:24 (17 years ago)
Autor:
marek
Opis:

re #123

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • branches/TruckExpo/BrMerger/Form1.cs

    r446 r447  
    22using System.Collections.Generic; 
    33using System.ComponentModel; 
     4using System.Configuration; 
    45using System.Data; 
    5 using System.Configuration; 
     6using System.Data.SqlClient; 
     7using System.Diagnostics; 
    68using System.Drawing; 
    79using System.Text; 
    810using System.Windows.Forms; 
    9 using System.Data.SqlClient; 
    1011 
    1112namespace BrMerger 
     
    3233            SqlTransaction tr1 = null; 
    3334 
     35            SqlConnection conn1 = null; 
     36            SqlConnection conn2 = null; 
     37            SqlConnection conn3 = null; 
     38 
    3439            try 
    3540            { 
    36                 // zamowienia 
    37                 // mapowanie kont, id_konta 
    38                 // ustawienie idFaktiry w [UKAZE SIE ...] 
    39  
    40                 string connectionString = ConfigurationManager.AppSettings["BazaReklam.ConnectionString"];  
    41                 //"Data Source=sql.ct.com.pl;Initial Catalog=BAZA_REKLAM;Persist Security Info=True;User ID=wwwadmin;Password=adm1648"; 
    42                 //string dbName = "BAZA_REKLAM"; 
    43                  
    44  
    45                 SqlConnection conn1 = new SqlConnection(connectionString); 
     41                //TODO: dla kazdej reklamy stworzyc zamowienie dla danego klienta 
     42                //TODO: dla kazdej zafakturowanej emisji [uka¿e siê w nr] dodac id faktury oraz jesli sie da cene emisji (cene jednostkowa?) 
     43 
     44                string connectionString = ConfigurationManager.AppSettings["BazaReklam.ConnectionString"]; 
     45 
     46                conn1 = new SqlConnection(connectionString); 
    4647                conn1.Open(); 
    47                 SqlConnection conn2 = new SqlConnection(connectionString); 
     48                conn2 = new SqlConnection(connectionString); 
    4849                conn2.Open(); 
    49                 SqlConnection conn3 = new SqlConnection(connectionString); 
     50                conn3 = new SqlConnection(connectionString); 
    5051                conn3.Open(); 
    5152 
     
    5960                SqlCommand cmd3 = conn3.CreateCommand(); 
    6061 
    61                 //string dbName = "BAZA_REKLAM"; 
    6262                string bazaReklamDbName = ConfigurationManager.AppSettings["BazaReklam.DbName"]; 
    6363                string truckExpoDbName = ConfigurationManager.AppSettings["TruckExpo.DbName"]; 
     
    6565                m_waitProgressMax = 0; 
    6666 
     67                //cmd1.CommandText = "SELECT COUNT(*) " + 
     68                //       "FROM " + truckExpoDbName + ".dbo.Klienci " + 
     69                //       "WHERE CustomerID > 56710 "; 
     70 
    6771                cmd1.CommandText = "SELECT COUNT(*) " + 
    68                        "FROM " + truckExpoDbName + ".dbo.Klienci " + 
    69                        "WHERE CustomerID > 56710 "; 
     72                        "FROM " + truckExpoDbName + ".dbo.Klienci " + 
     73                        "WHERE CustomerID IN (56922, 56971, 56773) "; 
    7074                m_waitProgressMax = (int)cmd1.ExecuteScalar(); 
    7175 
    7276 
     77                //cmd1.CommandText = "SELECT CustomerID, FirstName, LastName, OrganizationName, Address, City, State, PostalCode, Country, Nip, ContactName, PhoneNumber, FaxNumber, " + 
     78                //       "Note, data, osw_nr, osw_wazne_do, Adres_Fkatura, Old_ID, Adres_Kor, Platnik_VAT, Aktywny, Email, UserName, Last_Modify, Modify_User, http, VIES, regon, krs, nipKraj " + 
     79                //       "FROM " + truckExpoDbName + ".dbo.Klienci " + 
     80                //       "WHERE CustomerID > 56710 " + 
     81                //       "ORDER BY CustomerID"; 
     82 
     83 
    7384                cmd1.CommandText = "SELECT CustomerID, FirstName, LastName, OrganizationName, Address, City, State, PostalCode, Country, Nip, ContactName, PhoneNumber, FaxNumber, " + 
    74                        "Note, data, osw_nr, osw_wazne_do, Adres_Fkatura, Old_ID, Adres_Kor, Platnik_VAT, Aktywny, Email, UserName, Last_Modify, Modify_User, http, VIES, regon, krs, nipKraj " + 
    75                        "FROM " + truckExpoDbName + ".dbo.Klienci " + 
    76                        "WHERE CustomerID > 56710 " + 
    77                        "ORDER BY CustomerID"; 
    78  
     85                           "Note, data, osw_nr, osw_wazne_do, Adres_Fkatura, Old_ID, Adres_Kor, Platnik_VAT, Aktywny, Email, UserName, Last_Modify, Modify_User, http, VIES, regon, krs, nipKraj " + 
     86                           "FROM " + truckExpoDbName + ".dbo.Klienci " + 
     87                           "WHERE CustomerID IN (56922, 56971, 56773) " + 
     88                           "ORDER BY CustomerID"; 
    7989 
    8090                SqlDataReader rdrCustomer, rdrReklama, rdrKontakt; 
    8191 
    82                 bool bInsert = false; 
    83                 int idCustomer, idReklama, idKontaSanPress, idFaktura, idKontakt, n; 
     92                int idCustomer, idReklama, idFaktura, idKontakt, n; 
    8493                int nKlienci, nKlienci_Osoby_Do_Kontaktu, nFAKTURY, nReklama, nFAKTURA_DETAILS, nPlatnosciEcard, nUKAzeSie, nProdukcja, nReklama_Info_Dod, 
    8594                    nKontakty, nKONTAKTY_Log, nKLIENCI_Log, nKlienci_Tytul, nOferty_Main, nSheduler, nKl_Klienci; 
    8695                nKlienci = nKlienci_Osoby_Do_Kontaktu = nFAKTURY = nReklama = nFAKTURA_DETAILS = nPlatnosciEcard = nUKAzeSie = nProdukcja = nReklama_Info_Dod 
    8796                        = nKontakty = nKONTAKTY_Log = nKLIENCI_Log = nKlienci_Tytul = nOferty_Main = nSheduler = nKl_Klienci = 0; 
    88  
    89                 //ustawiæ static 
    90                 idKontaSanPress = 0; 
    9197 
    9298                tr1 = conn3.BeginTransaction(); 
     
    105111                    ++nRead; 
    106112 
    107                     //szukanie w tabeli [Customer_TE_BR] 
    108                     //je¿eli nie znaleziono - dodanie nowego 
    109                     ; 
    110                     ; 
    111                     ; 
    112  
    113                     bInsert = true; 
    114  
    115                     if (bInsert) 
     113                    SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM dbo.CustomerMap WHERE TruckExpoId=" + rdrCustomer["CustomerID"], conn2); 
     114 
     115                    if ((int)cmd.ExecuteScalar() == 0) 
    116116                    { 
    117117                        //insert customer 
    118                         cmd3.CommandText = "INSERT INTO " + bazaReklamDbName + ".dbo.Klienci "+ 
     118                        cmd3.CommandText = "INSERT INTO " + bazaReklamDbName + ".dbo.Klienci " + 
    119119                            "(FirstName, LastName, OrganizationName, Address, City, State, PostalCode, Country, Nip, ContactName, PhoneNumber, FaxNumber, Note, data, osw_nr, " + 
    120120                            "osw_wazne_do, Adres_Fkatura, Old_ID, Adres_Kor, Platnik_VAT, Aktywny, Email, UserName, Last_Modify, Modify_User, http, VIES, regon, krs, nipKraj) " + 
     
    129129                        idCustomer = Convert.ToInt32(obj1); 
    130130 
     131                        Debug.WriteLine("Nowy klient: " + idCustomer); 
     132 
    131133                        cmd3.CommandText = "INSERT INTO " + bazaReklamDbName + ".dbo.Klienci_Osoby_Do_Kontaktu " + 
    132134                            "(customerid, Imie_Nazwisko, stanowisko, Tel, email, opis) " + 
    133135                            "SELECT " + idCustomer + ", Imie_Nazwisko, stanowisko, Tel, email, opis " + 
    134                             "FROM " + truckExpoDbName + ".dbo.Klienci_Osoby_Do_Kontaktu " +  
    135                             "WHERE CustomerID="+ rdrCustomer["CustomerID"]; 
     136                            "FROM " + truckExpoDbName + ".dbo.Klienci_Osoby_Do_Kontaktu " + 
     137                            "WHERE CustomerID=" + rdrCustomer["CustomerID"]; 
    136138                        n = cmd3.ExecuteNonQuery(); 
    137139                        nKlienci_Osoby_Do_Kontaktu += n; 
     
    139141                    else 
    140142                    { 
    141                         idCustomer = 0;// (int)cmd3.ExecuteScalar("SELECT idBR FROM Customer_TE_BR WHERE idTE=" + rdrCustomer["CustomerID"])"); 
     143                        cmd3.CommandText = "SELECT BazaReklamId FROM CustomerMap WHERE TruckExpoId=" + rdrCustomer["CustomerID"]; 
     144                        idCustomer = (int)cmd3.ExecuteScalar(); 
     145                        cmd3.CommandText = "SELECT Akcja FROM CustomerMap WHERE TruckExpoId=" + rdrCustomer["CustomerID"]; 
     146                        int akcja = (int)cmd3.ExecuteScalar(); 
     147 
     148                        //jesli akcja>0 to trzeba uaktualnic wszystkie dane klienta z Bazy Reklam (CustomerID=idCustomer) danymi z bazy Truck_Expo 
     149                        if (akcja > 0) 
     150                        { 
     151                            cmd3.CommandText = "UPDATE " + bazaReklamDbName + ".dbo.Klienci SET " 
     152                                + bazaReklamDbName + ".dbo.Klienci.FirstName=E.FirstName," 
     153                                + bazaReklamDbName + ".dbo.Klienci.LastName=E.LastName," 
     154                                + bazaReklamDbName + ".dbo.Klienci.OrganizationName=E.OrganizationName," 
     155                                + bazaReklamDbName + ".dbo.Klienci.Address=E.Address," 
     156                                + bazaReklamDbName + ".dbo.Klienci.City=E.City," 
     157                                + bazaReklamDbName + ".dbo.Klienci.State=E.State," 
     158                                + bazaReklamDbName + ".dbo.Klienci.PostalCode=E.PostalCode," 
     159                                + bazaReklamDbName + ".dbo.Klienci.Country=E.Country," 
     160                                + bazaReklamDbName + ".dbo.Klienci.Nip=E.Nip," 
     161                                + bazaReklamDbName + ".dbo.Klienci.ContactName=E.ContactName," 
     162                                + bazaReklamDbName + ".dbo.Klienci.PhoneNumber=E.PhoneNumber," 
     163                                + bazaReklamDbName + ".dbo.Klienci.FaxNumber=E.FaxNumber," 
     164                                + bazaReklamDbName + ".dbo.Klienci.Note=E.Note," 
     165                                + bazaReklamDbName + ".dbo.Klienci.data=E.data," 
     166                                + bazaReklamDbName + ".dbo.Klienci.osw_nr=E.osw_nr," 
     167                                + bazaReklamDbName + ".dbo.Klienci.osw_wazne_do=E.osw_wazne_do," 
     168                                + bazaReklamDbName + ".dbo.Klienci.Adres_Fkatura=E.Adres_Fkatura," 
     169                                + bazaReklamDbName + ".dbo.Klienci.Old_ID=E.Old_ID," 
     170                                + bazaReklamDbName + ".dbo.Klienci.Adres_Kor=E.Adres_Kor," 
     171                                + bazaReklamDbName + ".dbo.Klienci.Platnik_VAT=E.Platnik_VAT," 
     172                                + bazaReklamDbName + ".dbo.Klienci.Aktywny=E.Aktywny," 
     173                                + bazaReklamDbName + ".dbo.Klienci.Email=E.Email," 
     174                                + bazaReklamDbName + ".dbo.Klienci.UserName=E.UserName," 
     175                                + bazaReklamDbName + ".dbo.Klienci.Last_Modify=E.Last_Modify," 
     176                                + bazaReklamDbName + ".dbo.Klienci.Modify_User=E.Modify_User," 
     177                                + bazaReklamDbName + ".dbo.Klienci.http=E.http," 
     178                                + bazaReklamDbName + ".dbo.Klienci.VIES=E.VIES," 
     179                                + bazaReklamDbName + ".dbo.Klienci.regon=E.regon," 
     180                                + bazaReklamDbName + ".dbo.Klienci.krs=E.krs," 
     181                                + bazaReklamDbName + ".dbo.Klienci.nipKraj=E.nipKraj" 
     182                                + " FROM " 
     183                                + " (SELECT * FROM " + truckExpoDbName + ".dbo.Klienci " 
     184                                + " WHERE CustomerID=" + rdrCustomer["CustomerID"] + ") E " 
     185                                + " WHERE " + bazaReklamDbName + ".dbo.Klienci.CustomerID=" + idCustomer; 
     186                            cmd3.ExecuteNonQuery(); 
     187                        } 
    142188                    } 
    143189 
     
    172218                                    "SELECT NUMER, NUMER_ROZ, NUMER_ROK, DATA_WYSTAWIENIA, MIEJSCOWOSC_WYSTAWIENIA, ID_SPRZEDAWCY, " + idCustomer + ", DATA_SPRZEDAZY, " + 
    173219                                    "PODPIS_WYSTAWIL, PODPIS_ODEBRAL, opis, SPOSOB_ZAPLATY, TERMIN_ZAPLATY, ZAPLACONO, BYL_WYDRUK, NABYWCA_ADRES, SPRZEDAWCA_ADRES, " + 
    174                                     "SPRZEDAWCA_NIP, NABYWCA_NIP, FAKTURA_TYP, FAKTURA_PODTYP, " + idKontaSanPress + ", EKSPORT, EXPORTED, ID_TYTUL, EXPORTED_DATA, suma_zaplat, ID_FK_KOR, " + 
     220                                    "SPRZEDAWCA_NIP, NABYWCA_NIP, FAKTURA_TYP, FAKTURA_PODTYP, ID_KONTA, EKSPORT, EXPORTED, ID_TYTUL, EXPORTED_DATA, suma_zaplat, ID_FK_KOR, " + 
    175221                                    "KOREKTA, zaplata_data, zaplata_opis, Zaliczka_Brutto, Zaliczka_Data, waluta_brutto, waluta_miano, waluta_kurs, waluta_przelicznik, waluta_kurs_z_dnia, " + 
    176222                                    "waluta_tabela_nr " + 
     
    274320 
    275321 
    276                         cmd3.CommandText = "INSERT INTO " + bazaReklamDbName + ".dbo.[UKA¯E SIÊ W NR] (ReklamaId, [Nr Wydania]) " + 
    277                                 "SELECT " + idReklama + ", [Nr Wydania] " + 
    278                                 "FROM " + truckExpoDbName + ".dbo.[UKA¯E SIÊ W NR] " + 
    279                                 "WHERE ReklamaId=" + rdrReklama["ReklamaID"]; 
     322                        //: wstaw IdFaktury oraz cene netto emisji, jesli zafakturowana reklama 
     323                        int idFaktury = rdrReklama["ID_Faktury"] is DBNull ? 0 : (int)rdrReklama["ID_Faktury"]; 
     324                        decimal netto = decimal.MinValue; 
     325                        if (idFaktury > 0) 
     326                            netto = Convert.ToDecimal(rdrReklama["Netto"]) / Convert.ToInt32(rdrReklama["Krotnoœæ"]); 
     327 
     328                        cmd3.CommandText = "INSERT INTO " + bazaReklamDbName + ".dbo.[UKA¯E SIÊ W NR] (ReklamaId, [Nr Wydania], status, zafakturowana, idFaktury, dataDodania, dataAnulowania, netto) " + 
     329                            "SELECT " + idReklama + ", [Nr Wydania], 0, " + (idFaktury > 0 ? 1 : 0).ToString() + ", " + (idFaktury > 0 ? idFaktury.ToString() : "NULL").ToString() + ", NULL, NULL, " + (idFaktury > 0 ? Math.Round(netto, 2).ToString() : "NULL").ToString().Replace(",", ".") + " " + 
     330                            "FROM " + truckExpoDbName + ".dbo.[UKA¯E SIÊ W NR] " + 
     331                            "WHERE ReklamaId=" + rdrReklama["ReklamaID"]; 
    280332                        n = cmd3.ExecuteNonQuery(); 
    281333                        nUKAzeSie += n; 
     
    324376 
    325377                        cmd3.CommandText = "INSERT INTO " + bazaReklamDbName + ".dbo.Kontakty " + 
    326                             "(customerId, symbol_agenta, data, rodzaj, opis) " + 
    327                             "SELECT " + idCustomer + ", symbol_agenta, data, rodzaj, opis " + 
     378                            "(customerId, symbol_agenta, data, rodzaj, opis, KontaktTypId) " + 
     379                            "SELECT " + idCustomer + ", symbol_agenta, data, rodzaj, opis, 2 " + 
    328380                            "FROM " + truckExpoDbName + ".dbo.Kontakty " + 
    329381                            "WHERE Id_kontaktu=" + rdrKontakt["Id_kontaktu"]; 
     
    331383                        nKontakty += n; 
    332384 
    333                         if(n > 0) 
     385                        if (n > 0) 
    334386                        { 
    335387                            cmd3.CommandText = "SELECT SCOPE_IDENTITY()"; 
     
    369421                        "(TYTUL, Customerid, username, data) " + 
    370422                        "SELECT TYTUL, " + idCustomer + ", username, data " + 
    371                         "FROM " + truckExpoDbName + ".dbo.Klienci_Tytul " +  
    372                         "WHERE CustomerID="+ rdrCustomer["CustomerID"]; 
     423                        "FROM " + truckExpoDbName + ".dbo.Klienci_Tytul " + 
     424                        "WHERE CustomerID=" + rdrCustomer["CustomerID"]; 
    373425                    n = cmd3.ExecuteNonQuery(); 
    374426                    if (n > 0) 
     
    383435                        "(Stan_Oferty, Id_Wersje_Oferty, CUSTOMER_ID, id_klienci_os_kontakt, id_tytul, AGENT, JEZYK, Data_Oferty, " + 
    384436                        "Opis_Dol, Data_Wyslania, Data_Modyfikacji, Zmodyfikowal_User, zapisana, ReklamaID, ProjektID) " + 
    385                         "SELECT Stan_Oferty, Id_Wersje_Oferty, " + idCustomer + ", id_klienci_os_kontakt, id_tytul, AGENT, JEZYK, Data_Oferty, "+ 
     437                        "SELECT Stan_Oferty, Id_Wersje_Oferty, " + idCustomer + ", id_klienci_os_kontakt, id_tytul, AGENT, JEZYK, Data_Oferty, " + 
    386438                        "Opis_Dol, Data_Wyslania, Data_Modyfikacji, Zmodyfikowal_User, zapisana, ReklamaID, ProjektID " + 
    387                         "FROM " + truckExpoDbName + ".dbo.Oferty_Main " +  
    388                         "WHERE Customer_ID="+ rdrCustomer["CustomerID"]; 
     439                        "FROM " + truckExpoDbName + ".dbo.Oferty_Main " + 
     440                        "WHERE Customer_ID=" + rdrCustomer["CustomerID"]; 
    389441                    n = cmd3.ExecuteNonQuery(); 
    390442                    nOferty_Main += n; 
     
    394446                        "(CustomerId, CustomerName, Akwizytor, DataWprowadzenia, DataPrzypomnienia, Opis, zalatwione) " + 
    395447                        "SELECT " + idCustomer + ", CustomerName, Akwizytor, DataWprowadzenia, DataPrzypomnienia, Opis, zalatwione " + 
    396                         "FROM " + truckExpoDbName + ".dbo.Sheduler " +  
    397                         "WHERE CustomerID="+ rdrCustomer["CustomerID"]; 
     448                        "FROM " + truckExpoDbName + ".dbo.Sheduler " + 
     449                        "WHERE CustomerID=" + rdrCustomer["CustomerID"]; 
    398450                    n = cmd3.ExecuteNonQuery(); 
    399451                    nSheduler += n; 
     
    411463 
    412464                    // dla testów 
    413                     if(nRead > 100) 
     465                    if (nRead > 100) 
    414466                        break; 
    415467                } 
    416468                rdrCustomer.Close(); 
    417469                rdrCustomer = null; 
     470 
     471                tr1.Commit(); 
     472 
     473                Debug.WriteLine("Uff..."); 
     474                return; 
     475 
    418476 
    419477 
     
    462520                                "SELECT NUMER, NUMER_ROZ, NUMER_ROK, DATA_WYSTAWIENIA, MIEJSCOWOSC_WYSTAWIENIA, " + "ID_SPRZEDAWCY" + ", ID_NABYWCY, DATA_SPRZEDAZY, " + 
    463521                                "PODPIS_WYSTAWIL, PODPIS_ODEBRAL, opis, SPOSOB_ZAPLATY, TERMIN_ZAPLATY, ZAPLACONO, BYL_WYDRUK, NABYWCA_ADRES, SPRZEDAWCA_ADRES, " + 
    464                                 "SPRZEDAWCA_NIP, NABYWCA_NIP, FAKTURA_TYP, FAKTURA_PODTYP, " + idKontaSanPress + ", EKSPORT, EXPORTED, ID_TYTUL, EXPORTED_DATA, suma_zaplat, ID_FK_KOR, " + 
     522                                "SPRZEDAWCA_NIP, NABYWCA_NIP, FAKTURA_TYP, FAKTURA_PODTYP, ID_KONTA, EKSPORT, EXPORTED, ID_TYTUL, EXPORTED_DATA, suma_zaplat, ID_FK_KOR, " + 
    465523                                "KOREKTA, zaplata_data, zaplata_opis, Zaliczka_Brutto, Zaliczka_Data, waluta_brutto, waluta_miano, waluta_kurs, waluta_przelicznik, waluta_kurs_z_dnia, " + 
    466524                                "waluta_tabela_nr " + 
     
    727785            catch (Exception ex) 
    728786            { 
    729                 if(tr1 != null) 
     787                if (tr1 != null) 
    730788                { 
    731789                    tr1.Rollback(); 
     
    734792 
    735793                MessageBox.Show(ex.ToString()); 
     794            } 
     795            finally 
     796            { 
     797                if (conn1 != null && conn1.State == ConnectionState.Open) conn1.Close(); 
     798                if (conn2 != null && conn2.State == ConnectionState.Open) conn2.Close(); 
     799                if (conn3 != null && conn3.State == ConnectionState.Open) conn3.Close(); 
    736800            } 
    737801        }