using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using fbblTipi;
using fbblVettoriInteri;
using fbblDataGridView;
using fbblControlli;
using fbblMessaggi;

namespace fdprElencoNumeriDivisori
{
    public partial class frmElencoNumeriDivisori : Form
    {
        public frmElencoNumeriDivisori()
        {
            InitializeComponent();
        }


//****************** PROCEDURE LOCALI DI PROGETTO **************************

        private void frmElencoNumeriDivisori_Esci()
        {
            Application.Exit();
        }

        private void frmElencoNumeriDivisori_Nuovo()
        {
            edtNumero.Clear();
            grdElencoiDivisori.Columns.Remove("Divisori");

            edtNumero.Focus();
        }

        private void frmElencoNumeriDivisori_Esegui()
        {
            int Numero;
            bool ControlloOK;
            TVettoriInteri VettoreDivisori;

            ControlloDati(out ControlloOK,out Numero);

            if (ControlloOK)
            {
                VettoreDivisori=new TVettoriInteri();

                VettoreDivisori = StrumentiVettoriInteri.ElencoDivisori(Numero);

                StrumentiDataGridView.AggiuntaVettoreADataGridView(VettoreDivisori, ref grdElencoiDivisori);

            }
            
        }

        private void ControlloDati(out bool ControlloOK,out int Numero)
        {
            StrumentiControlli.ControlloNumeroInteroPositivo(edtNumero.Text, out ControlloOK, out Numero);

            if (ControlloOK==false)
            {
                StrumentiMessaggi.MessaggioNumeroInteroPositivo("Il numero inserito");

                edtNumero.Focus();
            }
        }

//****************** PROCEDURE DI RISPOSTA AGLI EVENTI *********************

        private void btnEsegui_Click(object sender, EventArgs e)
        {
            frmElencoNumeriDivisori_Esegui();
        }

        private void btnNuovo_Click(object sender, EventArgs e)
        {
            frmElencoNumeriDivisori_Nuovo();
        }

        private void btnEsci_Click(object sender, EventArgs e)
        {
            frmElencoNumeriDivisori_Esci();
        }
    }
}
