private void LoadControls(DB.DataWrapper.cUtente u, bool forza = false)
        {
            if (forza || u.ID > -1)
            {
                var p = "";

                bScegliDB.Enabled = false;

                try
                {
                    p = System.IO.Path.GetDirectoryName(u.path);
                }
                catch
                {
                    //not found
                }

                tipoDB       = u.TipoDB;
                ePsw.Text    = u.psw;
                eNome.Text   = u.nome;
                eEmail.Text  = u.Email;
                ePathDB.Text = p;
                RecuperaDB   = u.path;

                var jem = u.Email;
                if (jem == null || jem.Equals(""))
                {
                    jem = eNome.Text;
                }

                CaricaImg(System.IO.Path.Combine(ePathDB.Text, jem + ".jpg"));
            }
        }
Esempio n. 2
0
        public static bool ControllaDBSulServer()
        {
            var ok = false;

            try
            {
                var cUte = new DB.DataWrapper.cUtente(UtenteConnesso.ID);

                using (var e = new maionemikyWS.EmailSending())
                {
                    var yyyyMMddHHmmss     = cUte.UltimoAggiornamentoDB.ToString("yyyyMMddHHmmss");
                    var yyyyMMddHHmmss_WEB = e.VersioneDB(UtenteConnesso.Email, UtenteConnesso.Psw);
                    var comparazione       = e.ComparaDBRC(yyyyMMddHHmmss, UtenteConnesso.Email, UtenteConnesso.Psw);

                    if (comparazione == maionemikyWS.Comparazione.Server)
                    {
                        using (var fdbd = new UI.Forms.fDBDate(cUte.UltimoAggiornamentoDB, yyyyMMddHHmmss_WEB))
                            if (fdbd.ShowDialog() == System.Windows.Forms.DialogResult.Yes)
                            {
                                ok = ScaricaUltimoDBDalWeb(e, yyyyMMddHHmmss, UtenteConnesso.PathDB, UtenteConnesso.Email, UtenteConnesso.Psw, false);
                            }
                    }
                }
            }
            catch (Exception ex)
            {
                if (MsgBox("Errore: " + ex.Message + Environment.NewLine + "Riprovo?", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    ok = ControllaDBSulServer();
                }
            }

            return(ok);
        }
 private void Carica()
 {
     if (ID_ > -1)
     {
         DB.DataWrapper.cUtente u = new DB.DataWrapper.cUtente(ID_);
         LoadControls(u);
     }
 }
        private void Elimina()
        {
            if (cGB.MsgBox("Nascondere l'utente?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                if (ChiediPsw(GetSelectedUserIndex()))
                {
                    var u = new DB.DataWrapper.cUtente();
                    u.Elimina(GetSelectedUserID());

                    Carica();
                }
            }
        }
        private bool Controlla()
        {
            if (!System.Text.RegularExpressions.Regex.IsMatch(eEmail.Text, "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$"))
            {
                cGB.MsgBox("Campo email non corretto!", MessageBoxIcon.Exclamation);
                return(false);
            }

            if (!System.Text.RegularExpressions.Regex.IsMatch(eEmail.Text, "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$"))
            {
                cGB.MsgBox("Campo nome non corretto!", MessageBoxIcon.Exclamation);
                return(false);
            }

            if (!System.IO.Directory.Exists(this.ePathDB.Text))
            {
                cGB.MsgBox("Selezionare una cartella di salvataggio per il DB!", MessageBoxIcon.Exclamation);
                return(false);
            }

            if (!System.IO.File.Exists(ImgPath))
            {
                cGB.MsgBox("Selezionare un'immagine per l'utente!", MessageBoxIcon.Exclamation);
                return(false);
            }

            if (ID__ <= -1)
            {
                DB.DataWrapper.cUtente        u  = new DB.DataWrapper.cUtente();
                List <DB.DataWrapper.cUtente> us = u.ListaUtenti();

                if (us != null)
                {
                    if (us.Count > 0)
                    {
                        foreach (DB.DataWrapper.cUtente usi in us)
                        {
                            if (usi.nome.Equals(eNome.Text, StringComparison.OrdinalIgnoreCase))
                            {
                                cGB.MsgBox("È già presente un utente con lo stesso nome!", MessageBoxIcon.Exclamation);
                                return(false);
                            }
                        }
                    }
                }
            }

            return(true);
        }
        private void Carica()
        {
            var cisono = false;
            var us     = new DB.DataWrapper.cUtente();
            var u      = us.ListaUtenti();

            if ((u?.Count ?? 0) > 0)
            {
                eUtenti = new Controlli.cUtenteListElement[u.Count];

                for (var i = 0; i < eUtenti.Length; i++)
                {
                    eUtenti[i] = new Controlli.cUtenteListElement()
                    {
                        ID_        = u[i].ID,
                        NomeUtente = u[i].nome,
                        Psw        = u[i].psw,
                        Email      = u[i].Email,
                        PathDB     = u[i].path,
                        TipoDB     = u[i].TipoDB,
                        Dock       = DockStyle.Top
                    };

                    eUtenti[i].ClickEvent       += new Controlli.cUtenteListElement.ClickEventHandler(fListaUtenti_ClickEvent);
                    eUtenti[i].DoubleClickEvent += new Controlli.cUtenteListElement.DoubleClickEventHandler(fListaUtenti_DoubleClickEvent);
                }

                Array.Reverse(eUtenti);

                flowLayoutPanel1.Controls.Clear();
                flowLayoutPanel1.Controls.AddRange(eUtenti);

                eUtenti[eUtenti.Length - 1].Click_();

                cisono = true;
            }

            bOk.Enabled       = cisono;
            bModifica.Enabled = cisono;
            bNascondi.Enabled = cisono;
        }
        private void AggiungiQuestoDBAllaLista(string FileName, string psw)
        {
            if (System.IO.File.Exists(FileName))
            {
                var Presente = false;
                var u        = new DB.DataWrapper.cUtente();
                u.CaricaByPath(FileName);

                if (u.ID > -1)
                {
                    for (var i = 0; i < (eUtenti?.Length ?? 0); i++)
                    {
                        if (eUtenti[i].ID_ == u.ID)
                        {
                            Presente = true;
                            cGB.MsgBox("Questo utente è gia presente!", MessageBoxIcon.Exclamation);
                            break;
                        }
                    }
                }

                if (!Presente)
                {
                    u.nome           = System.IO.Path.GetFileNameWithoutExtension(FileName);
                    u.path           = FileName;
                    u.Email          = u.nome;
                    u.psw            = psw;
                    u.UltimaModifica = DateTime.Now;
                    u.SetTipoDBByExtension(System.IO.Path.GetExtension(FileName));

                    using (var fd = new fDettaglioUtente(u))
                        if (fd.ShowDialog() == DialogResult.OK)
                        {
                            Carica();
                        }
                }
            }
        }
 public fDettaglioUtente(DB.DataWrapper.cUtente default_) : this()
 {
     LoadControls(default_, true);
 }
        private void Salva()
        {
            var erro = false;
            var a    = "";

            if (cGB.MsgBox("Tutto corretto?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
            {
                if (Controlla())
                {
                    var dbda = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
                    dbda = System.IO.Path.Combine(dbda, "standard.rqd8");

                    a = System.IO.Path.Combine(this.ePathDB.Text, this.eEmail.Text + ".rqd" + (tipoDB.Equals("S") ? "8" : ""));

                    if (RecuperaDB.Equals(""))
                    {
                        //crea DB nuovo
                        if (ID__ <= -1)
                        {
                            try
                            {
                                if (!System.IO.Directory.Exists(this.ePathDB.Text))
                                {
                                    System.IO.Directory.CreateDirectory(this.ePathDB.Text);
                                }

                                if (!System.IO.File.Exists(a))
                                {
                                    System.IO.File.Copy(dbda, a, false);
                                }
                            }
                            catch (Exception ex)
                            {
                                erro = true;
                                cGB.MsgBox("Errore! : " + ex.Message, MessageBoxIcon.Error);
                            }
                        }
                    }
                    else
                    {
                        // recupero DB
                        try
                        {
                            if (!System.IO.Directory.Exists(this.ePathDB.Text))
                            {
                                System.IO.Directory.CreateDirectory(this.ePathDB.Text);
                            }

                            if (!System.IO.File.Exists(a))
                            {
                                System.IO.File.Copy(RecuperaDB, a, false);
                            }
                        }
                        catch (Exception ex)
                        {
                            erro = true;
                            cGB.MsgBox("Errore! : " + ex.Message, MessageBoxIcon.Error);
                        }
                    }

                    //copia img
                    try
                    {
                        var t    = System.IO.Path.GetExtension(ImgPath);
                        var imga = System.IO.Path.Combine(this.ePathDB.Text, this.eEmail.Text);

                        System.IO.File.Copy(ImgPath, System.IO.Path.ChangeExtension(imga + t, ".jpg"), true);
                    }
                    catch //(Exception ex)
                    {
                        //erro = true;
                        //cGB.MsgBox("Errore! : " + ex.Message, MessageBoxIcon.Error);
                    }

                    if (!erro)
                    {
                        var u = new DB.DataWrapper.cUtente()
                        {
                            ID             = ID_,
                            nome           = eNome.Text,
                            psw            = ePsw.Text,
                            Email          = eEmail.Text,
                            path           = a,
                            TipoDB         = tipoDB,
                            UltimaModifica = DateTime.Now
                        };

                        if (u.Salva() <= 0)
                        {
                            MsgErroreSalvataggio();
                        }
                        else
                        {
                            this.DialogResult = System.Windows.Forms.DialogResult.OK;
                        }
                    }
                }
            }
        }
Esempio n. 10
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            if (cGB.ControllaGiaInEsecuzione_SeContinuare())
            {
Inizio:
                cGB.DoTheAutoUpdate();

                try
                {
                    cGB.RestartMe        = false;
                    cGB.OpzioniProgramma = cOpzioniProgramma.Carica();

                    DB.cDB.ApriConnessione(DB.cDB.DataBase.SQLite, cGB.PathDBUtenti, true);
                }
                catch (Exception ex)
                {
                    cGB.MsgBox("Errore apertura DB: " + ex.Message);
                }

                var CaricaQuestoIDUtente = -1;
                if (cGB.Parametri != null && !cGB.Parametri.Equals("") && System.IO.File.Exists(cGB.Parametri)) //se fai doppio click su un file
                {
                    var u = new DB.DataWrapper.cUtente();
                    u.CaricaByPath(cGB.Parametri);

                    CaricaQuestoIDUtente = u.ID;

                    if (u.ID < 0)
                    {
                        using (var du = new UI.Forms.fDettaglioUtente())
                        {
                            du.DBPath = cGB.Parametri;
                            du.ShowDialog();
                        }
                    }
                }

                var ok = false;
                if (CaricaQuestoIDUtente > -1)
                {
                    var u = new DB.DataWrapper.cUtente(CaricaQuestoIDUtente);

                    if (u.ID > -1)
                    {
                        using (var psw = new UI.Forms.fPsw(u.Email, u.psw))
                            ok = (psw.ShowDialog() == DialogResult.OK);
                    }

                    if (ok)
                    {
                        cGB.UtenteConnesso = new cGB.sUtente()
                        {
                            PathDB   = u.path,
                            UserName = u.nome,
                            ID       = u.ID,
                            Psw      = u.psw,
                            Email    = u.Email,
                            TipoDB   = u.TipoDB
                        }
                    }
                    ;
                }
                else
                {
                    try
                    {
                        using (var fus = new UI.Forms.fListaUtenti())
                            ok = (fus.ShowDialog() == DialogResult.OK);
                    }
                    catch (Exception ex)
                    {
                        cGB.MsgBox("Errore lista utenti: " + ex.Message);
                    }
                }

                if (ok)
                {
                    cGB.ControllaDBSulServer();

                    DB.cDB.ApriConnessione(cGB.UtenteConnesso.TipoDB.Equals("S") ? DB.cDB.DataBase.SQLite : DB.cDB.DataBase.Access, true);

                    using (cGB.RationesCurareMainForm = new UI.Forms.fMain())
                    {
                        Application.Run(cGB.RationesCurareMainForm);

                        cGB.UtenteConnesso.ID = -1;
                        if (cGB.RestartMe)
                        {
                            goto Inizio;
                        }

                        //if (!cGB.IAmInDebug)
                        if (cGB.OpzioniProgramma.SincronizzaDB)
                        {
                            var mc = new GB.MikyCloud(cGB.UtenteConnesso);
                            mc.MandaDBSulSito(DB.cDB.UltimaModifica);
                        }

                        DB.cDB.ApriConnessione(DB.cDB.DataBase.SQLite, cGB.PathDBUtenti, true);

                        var ca = new DB.DataWrapper.cAggiornamenti();
                        ca.AggiornaDataDB(DB.cDB.UltimaModifica);

                        DB.cDB.ChiudiConnessione();
                    }
                }
            }
        }
    }