private void bwVerifica_DoWork(object sender, DoWorkEventArgs e)
        {
            this.lActivare = "33";
            this.lExceptie = string.Empty;
            //Tuple<string, string> mesajEroare = null;
            try
            {
                //Verificam licenta
                if (this.lEtapa == 0)
                {
                    this.bwVerifica.ReportProgress(30);
                    this.bwVerifica.ReportProgress(60);
                    iStoma.VerificareSoapClient verif = new iStoma.VerificareSoapClient();
                    this.lActivare = verif.VerificaLicenta(this.txtCodClient.Text.Trim(), CSecuritate.GetMd5Hash(this.txtParola.Text.Trim()), this.txtLicenta.Text.Trim(), BMasina.getDenumireMasina(), BMasina.getIdMasina());
                    this.bwVerifica.ReportProgress(90);

                    //incarcam lista de servere pt etapa 2 pentru a nu bloca ecranul
                    this.lListaServereSQL = ServerSQL.GetListaServereSQL();
                }
                else
                if (this.lEtapa == 1)
                {
                    //Incarcam conexiunea la BDD
                    seteazaConexiuneBDD();
                    this.lActivare = "13";
                }
                else
                {
                    //Incarcam conexiunea la BDD
                    seteazaFoldereleDeDocumente();

                    this.lActivare = "13";
                }
            }
            catch (Exception ex)
            {
                this.lExceptie = string.Concat("err: ", CUtil.GetTextCompletExceptie(ex));
            }
        }
Example #2
0
        internal static Tuple <string, string> verifCalc()
        {
            //MessageBox.Show("Verif calc");
            Tuple <string, string> retur = null;

            _SActivare              = "33";
            _MesajEroare            = string.Empty;
            _SDataVerifServerIStoma = CConstante.DataNula;

            try
            {
                //MessageBox.Show("Inainte de net");
                if (CCL.iStomaLab.Utile.CGestiuneIO.ExistaConexiuneInternet())
                {
                    //MessageBox.Show("Are net");

                    BMasina.setIdMasina();

                    BUtilizator userIST = BUtilizator.GetUtilizatorISTOMA(null);

                    iStatie.ValidareStatieDeLucruSoapClient verif = new iStatie.ValidareStatieDeLucruSoapClient();

                    string idMasina = BMasina.getIdMasina();
                    string licenta  = getCheieLicenta();

                    string raspuns = verif.VerificaStatiaV2(userIST.ContStoma, userIST.ParolaStoma, licenta, idMasina, BMasina.getDenumireMasina());

                    //if (BComportamentAplicatie.SeVerificaLInBDD())
                    //{
                    //    //Scriem raspunsul primit si in baza pentru ca celelalte calculatoare sa isi faca verificarea acolo
                    //    BComportamentAplicatie.SetUltimulRaspunsVL(raspuns);
                    //}
                    //MessageBox.Show(raspuns);
                    _SDataServer = CSecuritate.FinalizeazaInregistrarea(raspuns);
                    verif.Close();

                    if (_SDataServer != CConstante.DataNula)
                    {
                        _SActivare = "13";
                    }
                    else
                    {
                        _SActivare = "66";
                    }
                    verif.Close();

                    Actualizari.ActualizariSoapClient act = new Actualizari.ActualizariSoapClient();
                    _SExistaUpgradeDisponibil = act.ExistaActualizareDisponibila(userIST.ContStoma, userIST.ParolaStoma, getCheieLicenta(), BMasina.getIdMasina());
                    act.Close();

                    verif = null;

                    if (_SActivare.Equals("66"))
                    {
                        if (!string.IsNullOrEmpty(raspuns))
                        {
                            retur = new Tuple <string, string>(string.Empty, string.Empty);
                        }
                        else
                        {
                            retur = new Tuple <string, string>(String.Format("{0} - {1} - ({2}:{3} - {4:dd.MM.yyyy HH:mm})", "Contactati un reprezentant IDAVA SOLUTIONS", BMasina.getIdMasina(), userIST != null ? userIST.ContStoma : "U", userIST != null ? userIST.ParolaStoma : "P", DateTime.Now), "Licenta iStoma LTD");
                        }
                    }
                    else
                    {
                        iStoma.VerificareSoapClient plata = new iStoma.VerificareSoapClient();
                        _SCumStaCuPlata = plata.CumStaCuPlata(userIST.ContStoma, userIST.ParolaStoma, getCheieLicenta());
                        plata.Close();
                        plata = null;
                    }

                    userIST = null;
                    _SDataVerifServerIStoma = DateTime.Now;
                }
                else
                {
                    if (!verifLicentaRecenta())
                    {
                        _SActivare = "66";
                        //"Vă rugăm să vă conectați la internet pentru verificarea licenței"

                        //Nu putem folosi multilingv cand dictionarul nu poate fi incarcat
                        retur = new Tuple <string, string>("Va rugam sa va conectati la internet pentru verificarea licentei", "Contactati un reprezentant IDAVA SOLUTIONS");
                    }
                }
            }
            catch (Exception)
            {
                //Daca avem exceptie este posibil ca acest calculator sa nu aiba acces la internet ci doar la retea.
                //In acest caz facem verificarea licentei cu baza de date
                //if (BComportamentAplicatie.SeVerificaLInBDD())
                //{
                //    CSecuritate.FinalizeazaInregistrarea(BComportamentAplicatie.GetUltimulRaspunsVLCaText());
                //}

                //Oricum nu face sens sa crape aplicatia daca nu are omul internet, indiferent de motiv
            }

            return(retur);
        }
Example #3
0
        private void actualizeazaAplicatia()
        {
            this.lActiune = BMultiLingv.GetById(BMultiLingv.EnumDictionar.recuperareaInfoReferitoaeLaVersiuneaActuala, this.lTipAplicatie);// "Recuperarea informațiilor referitoare la versiunea actuală";
            this.bwServer.ReportProgress(10);

            //Descarcam elementele necesare
            this.utilizator = CUtile.GetUtilizatorISTOMA();
            this.masina     = new BMasina();

            string idMasina = masina.Id;

            this.lActiune = BMultiLingv.GetById(BMultiLingv.EnumDictionar.conectareLaServer, this.lTipAplicatie);// "Conectare la server";
            this.bwServer.ReportProgress(20);

            Actualizari.ActualizariSoapClient act = new Actualizari.ActualizariSoapClient();
            byte[] arhiva   = act.GetVersiuneaUrmatoare(this.utilizator.Item1, this.utilizator.Item2, CUtile.getCheieLicenta(), idMasina);
            string versiune = string.Empty;

            this.lAreDreptUpgrade = arhiva != null;

            if (this.lAreDreptUpgrade)
            {
                this.lActiune = BMultiLingv.GetById(BMultiLingv.EnumDictionar.recuperareaNoilorFunctionalitati, this.lTipAplicatie);//"Recuperarea noilor funcționalități";
                this.bwServer.ReportProgress(40);

                string folderActual = CUtile.GetLocatieAplicatie();

                //Incarcam arhiva in memorie
                using (MemoryStream arhivaMemorie = new MemoryStream(arhiva))
                {
                    List <Ionic.Zip.ZipEntry> listaSQL     = new List <Ionic.Zip.ZipEntry>();
                    List <Ionic.Zip.ZipEntry> listaFisiere = new List <Ionic.Zip.ZipEntry>();
                    bool upgradeML = false;
                    //Cream arhiva
                    using (Ionic.Zip.ZipFile fisierZip = Ionic.Zip.ZipFile.Read(arhivaMemorie))
                    {
                        foreach (Ionic.Zip.ZipEntry intrare in fisierZip)
                        {
                            if (intrare.FileName.EndsWith(".sql"))
                            {
                                //Fisier de executat SQL
                                listaSQL.Add(intrare);
                            }
                            else
                            {
                                //Fisier de copiat
                                if (intrare.FileName.Contains("upgradeMultiLingv"))
                                {
                                    upgradeML = true;
                                }
                                else
                                {
                                    if (intrare.FileName.Contains(".vrs"))
                                    {
                                        versiune = intrare.FileName.Substring(0, intrare.FileName.IndexOf(".vrs"));
                                    }
                                    else
                                    {
                                        listaFisiere.Add(intrare);
                                    }
                                }
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(versiune))
                    {
                        string versiuneBDDExistenta = CUtile.getUltimaVersiuneBDD();

                        if (string.IsNullOrEmpty(versiuneBDDExistenta))
                        {
                            versiuneBDDExistenta = "1";
                        }

                        if (!versiune.Equals(versiuneBDDExistenta) && Convert.ToInt32(versiune) > Convert.ToInt32(versiuneBDDExistenta))
                        {
                            this.lActiune = BMultiLingv.GetById(BMultiLingv.EnumDictionar.modificareaStructuriiDeDate, this.lTipAplicatie);//"Modificarea structurii de date";
                            this.bwServer.ReportProgress(80);

                            foreach (Ionic.Zip.ZipEntry executaSQL in listaSQL)
                            {
                                //Executam scripturile
                                System.IO.StreamReader reader = new StreamReader(executaSQL.OpenReader());

                                CUtile.executaFisierSQL(reader.ReadToEnd(), "-$$$-");
                            }

                            //Facem update la versiunea BDD
                            CUtile.UpdateVersiuneBDD(versiune);

                            if (upgradeML)
                            {
                                //rescriem tabela de multi lingv
                                byte[] fisierMultiLingv = null;

                                iStoma.VerificareSoapClient servVerif = new iStoma.VerificareSoapClient();
                                fisierMultiLingv = servVerif.IncarcaMultiLingv(this.utilizator.Item1, this.utilizator.Item2);

                                CUtile.updateMultiLingv(fisierMultiLingv);
                            }
                        }
                    }

                    this.lActiune = BMultiLingv.GetById(BMultiLingv.EnumDictionar.modificareaLibrariilorIStoma, this.lTipAplicatie);//"Modificarea librariilor iStoma";
                    this.bwServer.ReportProgress(100);

                    foreach (Ionic.Zip.ZipEntry fisierCopiere in listaFisiere)
                    {
                        //Inlocuim fisierele
                        //Stergem fisierele care exista deja
                        if (File.Exists(Path.Combine(folderActual, fisierCopiere.FileName)))
                        {
                            File.Delete(Path.Combine(folderActual, fisierCopiere.FileName));
                        }

                        fisierCopiere.Extract(folderActual, Ionic.Zip.ExtractExistingFileAction.OverwriteSilently);
                    }

                    //Anuntam serverul ca actualizarea a fost efectuata
                    act.SeteazaNouaVersiune(this.utilizator.Item1, this.utilizator.Item2, CUtile.getCheieLicenta(), idMasina);
                    act.Close();

                    this.lActualizareEfectuata = true;
                }
            }
            else
            {
                this.lActualizareEfectuata = true;
            }
        }
        private void bwBDD_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                this.bwBDD.ReportProgress(1, (int)EnumScripturi.CreareBDD);

                //Recuperam informatiile de pe iStoma doar daca reusim sa cream baza de date
                CGestiuneIO.creazaBDD(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.lNumeBDD, this.chkServerulEstePeAcestCalculator.Checked);

                string parolaHash = CSecuritate.GetMd5Hash(this.lParolaISTOMA);

                //recuperam scripturile de creare
                Dictionary <EnumScripturi, byte[]> dictScripturi = new Dictionary <EnumScripturi, byte[]>();
                //0 = nume
                //1 = prenume
                //2 = cnp
                //3 = versiune BDD
                //4 = denumire cabinet
                //5 = nr tel
                //6 = mail
                //7 = site
                //8 = data de nastere zzLLaaaa
                //9 = limba vorbita
                //10 = tara clientului
                List <string> detaliiUser = null;

                this.bwBDD.ReportProgress(5, (int)EnumScripturi.RecuperareInformatii);

                //ne legam la serviciu
                iStoma.VerificareSoapClient servVerif = new iStoma.VerificareSoapClient();

                dictScripturi.Add(EnumScripturi.Tabele, servVerif.IncarcaTabele(this.lCodClient, parolaHash));
                dictScripturi.Add(EnumScripturi.View, servVerif.IncarcaView(this.lCodClient, parolaHash));
                dictScripturi.Add(EnumScripturi.PS, servVerif.IncarcaPS(this.lCodClient, parolaHash));
                dictScripturi.Add(EnumScripturi.Tari, servVerif.IncarcaTari(this.lCodClient, parolaHash));
                dictScripturi.Add(EnumScripturi.Regiuni, servVerif.IncarcaRegiuni(this.lCodClient, parolaHash));
                dictScripturi.Add(EnumScripturi.Localitati, servVerif.IncarcaLocalitati(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.CP, servVerif.IncarcaCP(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.COR, servVerif.IncarcaCOR(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.CAEN, servVerif.IncarcaCAEN(this.lCodClient, parolaHash));
                dictScripturi.Add(EnumScripturi.SMTP, servVerif.IncarcaSMTP(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.Drepturi, servVerif.IncarcaDrepturi(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.Meniu, servVerif.IncarcaMeniu(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.Citate, servVerif.IncarcaCitate(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.MultiLingv, servVerif.IncarcaMultiLingv(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.Afectiuni, servVerif.IncarcaAfectiuni(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.OrganeArtificiale, servVerif.IncarcaOrganeArtificiale(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.ProduseGestiune, servVerif.IncarcaProduseGestiune(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.Interventii, servVerif.IncarcaInterventii(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.TratamenteAdministrative, servVerif.IncarcaTratamenteAdministrative(this.lCodClient, parolaHash));
                //dictScripturi.Add(EnumScripturi.EvenimenteCalendaristice, servVerif.IncarcaEvenimenteCalendaristice(this.lCodClient, parolaHash));

                detaliiUser = servVerif.GetInformatiiClient(this.lCodClient, parolaHash);

                BMultiLingv.EnumLimba limbaUtilizator = BMultiLingv.EnumLimba.Romana;
                int idTaraClient = BTari.ConstIDRomania;

                //LIMBA
                try
                {
                    if (detaliiUser.Count > 9)
                    {
                        limbaUtilizator = (BMultiLingv.EnumLimba)Convert.ToInt32(detaliiUser[9]);
                    }
                }
                catch (Exception)
                {
                }

                //TARA
                try
                {
                    if (detaliiUser.Count > 9)
                    {
                        idTaraClient = Convert.ToInt32(detaliiUser[10]);
                    }
                }
                catch (Exception)
                {
                }

                //List<string> listaRecomandari = servVerif.IncarcaRecomandari(this.lCodClient, parolaHash);

                servVerif.Close();

                string continutFisierSQL = string.Empty;

                this.bwBDD.ReportProgress(10, (int)EnumScripturi.Tabele);

                //Tabele
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Tabele]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                this.bwBDD.ReportProgress(13, (int)EnumScripturi.View);

                //View
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.View]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                this.bwBDD.ReportProgress(16, (int)EnumScripturi.PS);

                //PS
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.PS]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                this.bwBDD.ReportProgress(20, (int)EnumScripturi.Tari);

                //Populam tabelele nou create
                //TARI
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Tari]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                this.bwBDD.ReportProgress(23, (int)EnumScripturi.Regiuni);

                //REGIUNI
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Regiuni]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                this.bwBDD.ReportProgress(28, (int)EnumScripturi.Localitati);

                //LOCALITATI
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Localitati]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                //this.bwBDD.ReportProgress(35, (int)EnumScripturi.CP);

                ////CODURI POSTALE
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.CP]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                //this.bwBDD.ReportProgress(45, (int)EnumScripturi.COR);

                ////CODURI COR
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.COR]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                //this.bwBDD.ReportProgress(55, (int)EnumScripturi.CAEN);

                ////CODURI CAEN
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.CAEN]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                //this.bwBDD.ReportProgress(65, (int)EnumScripturi.Drepturi);

                ////DREPTURI
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Drepturi]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                this.bwBDD.ReportProgress(67, (int)EnumScripturi.SMTP);

                //SMTP
                continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.SMTP]);
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                this.bwBDD.ReportProgress(70, (int)EnumScripturi.Citate);

                ////CITATE
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Citate]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //this.bwBDD.ReportProgress(73, (int)EnumScripturi.MultiLingv);

                ////MULTI LINGV
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.MultiLingv]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                //this.bwBDD.ReportProgress(78, (int)EnumScripturi.Meniu);

                ////MENIU
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Meniu]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //this.bwBDD.ReportProgress(80, (int)EnumScripturi.Afectiuni);

                //Activam conexiunea la noua BDD
                seteazaConexiuneBDD();

                ////Adaugam specialitatea Medicina dentara "Medicină dentară"
                //int idSpecialitateStomatologica = BLL.General.Comune.BSpecialitati.Add(BLL.General.BMultiLingvPC.getElementById(BLL.General.BMultiLingv.EnumDictionar.MedicinaDentara), false, true, false, false, true, true, null);

                ////ADAUGAM AFECTIUNILE SPECIFICE ACESTEI SPECIALITATI
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Afectiuni]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //this.bwBDD.ReportProgress(82, (int)EnumScripturi.OrganeArtificiale);

                ////ADAUGAM ORGANELE ARTIFICIALE
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.OrganeArtificiale]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //this.bwBDD.ReportProgress(85, (int)EnumScripturi.ProduseGestiune);

                ////ADAUGAM PRODUSELE DE GESTIUNE
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.ProduseGestiune]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //this.bwBDD.ReportProgress(87, (int)EnumScripturi.Interventii);

                ////ADAUGAM INTERVENTIILE
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.Interventii]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //Setam versiunea BDD
                CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD,
                                             string.Format("INSERT INTO VersiuniBDD_TD(tVersiune) VALUES ('{0}')", detaliiUser[3]));

                //Adaugam utilizatorul cu specialitatea stomatolog
                int idUser = BUtilizator.Add(this.lCodClient, this.lParolaISTOMA, detaliiUser[0], detaliiUser[1], detaliiUser[2]);

                //Actualizam informatiile clientului cu cele pe care ni le-a furnizat
                BUtilizator userCreat = BUtilizator.GetById(idUser, null);
                userCreat.TelefonMobil = detaliiUser[5];
                userCreat.AdresaMail   = detaliiUser[6];
                userCreat.PaginaWeb    = detaliiUser[7];
                userCreat.Titulatura   = CDefinitiiComune.EnumTitulatura.Doctor;
                userCreat.DataNastere  = CUtil.getDateFromString(detaliiUser[8]);
                //userCreat.Rol = BUtilizator.EnumRolUtilizator.Medic;
                userCreat.NumarOrdine = 1;
                //userCreat.UltimaOptiuneAccesata = BLL.General.BMeniu.EnumOptiune.SetariInitiale;
                userCreat.UpdateAll(null);

                //this.bwBDD.ReportProgress(95, (int)EnumScripturi.TratamenteAdministrative);

                ////ADAUGAM TRATAMENTELE ADMINISTRATIVE
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.TratamenteAdministrative]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL, "-$$$-");

                //this.bwBDD.ReportProgress(96, (int)EnumScripturi.EvenimenteCalendaristice);

                ////EVENIMENTE CALENDARISTICE - Avem nevoie de utilizator
                //continutFisierSQL = CGestiuneIO.DeCompreseazaText(dictScripturi[EnumScripturi.EvenimenteCalendaristice]);
                //CGestiuneIO.executaFisierSQL(this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lParolaSQL, this.chkServerulEstePeAcestCalculator.Checked, this.lNumeBDD, continutFisierSQL);

                //string numeRadacinaDefault = "Clinica de stomatologie";
                //string numeGrupDefault = "Grup";
                string numeSediuDefault = "Stoma";
                //string numeSectieDefault = "Medicină dentară";
                //string numeCabinet1Default = "Cabinet 1";

                //Adaugam locatia medicala (Asociatie + grup + sediu + uf)
                //string numeRadacina = detaliiUser[4];
                string numeSediu = detaliiUser[4];

                //if (string.IsNullOrEmpty(numeRadacina))
                //    numeRadacina = numeRadacinaDefault;

                if (string.IsNullOrEmpty(numeSediu))
                {
                    numeSediu = numeSediuDefault;
                }

                int idSediu = BLocatii.Add(numeSediu, null);

                //Adaugam adresa sediului
                BAdrese.Add(BAdrese.EnumTipAdresa.Principala, string.Empty, string.Empty, string.Empty, string.Empty,
                            string.Empty, string.Empty, string.Empty, idTaraClient, -1, -1, string.Empty, string.Empty, CDefinitiiComune.EnumTipObiect.Locatie, idSediu, null);

                //Vom considera ca radacina este locatia fiscala
                BLocatii sediu = new BLocatii(idSediu, null);

                //Setam tel si email pt sediu
                sediu.TelefonMobil = detaliiUser[5];
                sediu.AdresaMail   = detaliiUser[6];
                sediu.PaginaWeb    = detaliiUser[7];

                sediu.UpdateAll();
            }
            catch (Exception ex)
            {
                this.lExceptie = ex.Message;
            }
        }
        private void bwVerifica_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            try
            {
                if (this.lEtapa == 0)
                {
                    //Activeaza licenta
                    if (this.lActivare.Equals("66"))
                    {
                        //Userul nu exista
                        //"Informațiile furnizate nu sunt valide!"
                        MessageBox.Show("Informatiile introduse nu sunt valide", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);

                        this.lNumarIncercari++;

                        if (this.lNumarIncercari > 3)
                        {
                            this.lEtapa = 13; //fortam inchiderea ecranului
                        }
                    }
                    else
                    {
                        if (this.lActivare.Equals("33"))
                        {
                            //Eroare tehnica
                            MessageBox.Show("Contactati un reprezentant IDAVA SOLUTIONS", "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else
                        {
                            //Totul este ok => scriem in registri si trecem la BDD
                            EcranPrincipal.updateLicenta(this.txtLicenta.Text.Trim());

                            this.lEtapa = 1;
                        }
                    }
                }
                else
                {
                    if (this.lEtapa == 1)
                    {
                        this.lEtapa = 2;
                    }
                    else
                    {
                        this.lEtapa = 3;
                    }
                }

                if (this.lEtapa <= 2)
                {
                    afiseazaEtapa();
                }

                if (this.lEtapa > 2)
                {
                    if (this.lActivare.Equals("13"))
                    {
                        iStoma.VerificareSoapClient verif = new iStoma.VerificareSoapClient();

                        verif.ActualizeazaInformatiiConexiune(this.lCodClient, CSecuritate.GetMd5Hash(this.lParolaISTOMA), this.lLicenta, BMasina.getIdMasina(), this.lNumeServer, this.lNumeInstanta, this.lNumeUser, this.lNumeBDD, this.lCaleFolderDocumente);
                        this.DialogResult = System.Windows.Forms.DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
                        this.Close();
                    }
                }

                if (!string.IsNullOrEmpty(lExceptie))
                {
                    //Avem exceptie
                    MessageBox.Show(lExceptie, "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    zoneActive(true);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Eroare", MessageBoxButtons.OK, MessageBoxIcon.Error);
                zoneActive(true);
            }
        }