Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        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;
            }
        }