// 
// Autore: Giuliano Pellegrini Parisi
//
// Classe: 3^Sirio Inf.
//
// Data: 6 febbraio 2009 
//
// Oggetto: implementazione libreria fbblMessaggi
//
// Release: 0.1d
//
// ChangleLog del 15 marzo 2009: Aggiuunta procedura MessaggioIntervalloErrato e MessaggioMinoreOUguale
// ChangeLog: Aggiunta procedura MessaggioNumeroRealePositivo, Messaggio polimorfica e MessaggioDatoNonCorretto polimorfica


using System;
using System.Windows.Forms;
using fbblTipi;

namespace fbblMessaggi
{

    public class StrumentiMessaggi
    {

        static public void MessaggioNumeroRealePositivo(string Dato)
        {
            MessaggioDatoNonCorretto(Dato,"numero reale positivo","Attenzione");
        }

        static public void MessaggioDatoCalcolato(string TestoMessaggio,int Dato)
        {

            // Dichiazione dato locale (variabile locale)

            string TestoMessaggioLocale;

            TestoMessaggioLocale= TestoMessaggio + Dato.ToString();

            Messaggio(TestoMessaggioLocale);

        }

        static public void MessaggioDatoCalcolato(string TestoMessaggio, double Dato)
        {

            // Dichiazione dato locale (variabile locale)

            string TestoMessaggioLocale;

            TestoMessaggioLocale = TestoMessaggio + Dato.ToString();

            Messaggio(TestoMessaggioLocale);

        }

        static public void Messaggio(string TestoMessaggio,string TitoloFinestra)
        {
            MessageBox.Show(TestoMessaggio,TitoloFinestra);
        }

        static public void Messaggio(string Messaggio)
        {
          Console.WriteLine(Messaggio);           
        }

        static public void Messaggio(string Messaggio,bool NienteNewLineCr)
        {
            Console.Write(Messaggio);
        }


        static public void MessaggioTriangolo(double Lato1,double Lato2,double Lato3)
        {
            string Dati;

            Dati = Lato1.ToString() + " " + Lato2.ToString() + " " + Lato3.ToString();

            MessaggioDatoNonCorretto(Dati,"lati di un triangolo","Attenzione");

        }

        static public void MessaggioDatoNonCorretto(string Dati,string Vincolo)
        {
            string TestoMessaggio;

            TestoMessaggio = Dati + " devono essere " + Vincolo;

            Messaggio(TestoMessaggio);
        }

        static public void MessaggioDatoNonCorretto(string Dato, string Vincolo,string TitoloFinestra)
        {
            string TestoMessaggio;

            TestoMessaggio = Dato + " deve essere " + Vincolo;

            Messaggio(TestoMessaggio,TitoloFinestra);
        }

        static public void MessaggioMaggioreOUguale(string TestoBaseMaggiore,string TestoBaseMinore)
        {
            string Vincolo;

            Vincolo = " maggiore o uguale di " + TestoBaseMinore;
            MessaggioDatoNonCorretto(TestoBaseMaggiore,Vincolo,"Attenzione");

        }

        static public void MessaggioCaricamentoFileErrato(string Dato,string TitoloFinestra)
        {
            string TestoMessaggio;

            TestoMessaggio = Dato + " non può essere caricata!";
            Messaggio(TestoMessaggio, TitoloFinestra);

        }

        static public void MessaggioIntervalloErrato(string MessaggioIntervallo, TIntervalloReali Intervallo)
        {
            string TestoMessaggio;

            TestoMessaggio = MessaggioIntervallo + Intervallo.Minimo.ToString() + " " + Intervallo.Massimo.ToString();

            Messaggio(TestoMessaggio, "Attenzione");

        }

        static public void MessaggioMinoreOUguale(string Minimo,string Massimo)
        {
            string Vincolo;

            Vincolo = " minore o uguale di " + Massimo;

            MessaggioDatoNonCorretto(Minimo, Vincolo, "Attenzione");

        }

    }

}
