예제 #1
0
        private List <SyotetytArvot> LuetaanSyotetytArvot()
        {
            //Lukee käyttäjän syöttämät arvot, lisää ne listaan ja palauttaa listan
            //Syötetyissä arvoissa saattaa olla välejä (kaikkeja rivejä ei täytetty) joten koodi tarkistaa sen myös
            List <SyotetytArvot> sa = new List <SyotetytArvot>();
            double g;

            try
            {
                if (double.TryParse(seulaG0.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG0.Text);
                    s.syote = g;
                    s.index = 1;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG1.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG1.Text);
                    s.syote = g;
                    s.index = 2;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG2.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG2.Text);
                    s.syote = g;
                    s.index = 3;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG3.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG3.Text);
                    s.syote = g;
                    s.index = 4;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG4.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG4.Text);
                    s.syote = g;
                    s.index = 5;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG5.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG5.Text);
                    s.syote = g;
                    s.index = 6;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG6.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG6.Text);
                    s.syote = g;
                    s.index = 7;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG7.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG7.Text);
                    s.syote = g;
                    s.index = 8;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG8.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG8.Text);
                    s.syote = g;
                    s.index = 9;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG9.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG9.Text);
                    s.syote = g;
                    s.index = 10;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG10.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG10.Text);
                    s.syote = g;
                    s.index = 11;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG11.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG11.Text);
                    s.syote = g;
                    s.index = 12;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG12.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG12.Text);
                    s.syote = g;
                    s.index = 13;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG13.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG13.Text);
                    s.syote = g;
                    s.index = 14;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG14.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG14.Text);
                    s.syote = g;
                    s.index = 15;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG15.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG15.Text);
                    s.syote = g;
                    s.index = 16;
                    sa.Add(s);
                }
                if (double.TryParse(seulaG16.Text, out g))
                {
                    SyotetytArvot s = new SyotetytArvot();
                    g       = Convert.ToDouble(seulaG16.Text);
                    s.syote = g;
                    s.index = 17;
                    sa.Add(s);
                }
            }
            catch
            {
            }
            return(sa);
        }
예제 #2
0
        public string Save(Window w, List <Seulakirjasto> seulist)
        {
            seulalista = seulist;
            string json = null;

            //--------------------------Tarkoituksena ottaa ikkunasta tiedot talteen ja muuttaa ne JSON-stringiksi ja palauttaa se------------------------------------
            if (w.Name == "kiviohjelma")                                           //Jos ikkuna mistä funktiota kutsuttiin on Kiviohjelma, mennään tästä sisälle
            {
                Kiviohjelma           kiv           = (Kiviohjelma)w;              //Otetaan kiviohjelma tähän. Tämän avulla otetaan tallennettavat tiedot
                List <SyotetytArvot>  syotteet      = new List <SyotetytArvot>();  //Kaikki käyttäjän syöttämät tiedot kentistä "Seulalle Jäi (g)"
                List <SeulaTallennus> seulacombot   = new List <SeulaTallennus>(); //Seulacomboboksin arvot laitetaan tänne (mikä seula valittu, mones seula listasta se on ja mikä on comboboksin sijainti)
                bool                pesuseulValinta = false;
                JakoAsetukset       jako            = new JakoAsetukset();         //Laitetaan jaetun näytteen asetukset tänne talteen
                List <TekstiTiedot> tekstitiedot    = new List <TekstiTiedot>();   //Tähän laitetaan talteen muut tiedot ohjelman yläosasta (nimi, työmaa, lajite jne...)
                List <SeulaLapPros> sisOhjeAla      = new List <SeulaLapPros>();   //Sisempi ohjealue, alempi ohje%
                List <SeulaLapPros> sisOhjeYla      = new List <SeulaLapPros>();   //Sisempi ohjealue, ylempi ohje%
                List <SeulaLapPros> uloOhjeAla      = new List <SeulaLapPros>();   //Ulompi ohjealue, alempi ohje%
                List <SeulaLapPros> uloOhjeYla      = new List <SeulaLapPros>();   //Ulompi ohjealue, ylempi ohje%


                //Otetaan talteen käyttäjän syöttämät tiedot kentistä "Seulalle Jäi (g)"
                foreach (Control c in kiv.seulaArvot.Children)         //Katsoo läpi kaikki objektit seulaArvot-canvasista
                {
                    if (c.GetType() == typeof(TextBox))                //jos objektin tyyppi on TextBox
                    {
                        if (((TextBox)c).Tag.ToString() != null)       //tarkistetaan ettei tag ole null. vaatii että kaikilla textbokseilla on jokin tagi
                        {
                            if (((TextBox)c).Tag.ToString() == "arvo") //tarkistaa onko tagi "arvo"
                            {
                                if (((TextBox)c).Text != String.Empty)
                                {
                                    SyotetytArvot s     = new SyotetytArvot();
                                    double        g     = Convert.ToDouble(((TextBox)c).Text);
                                    string        n     = ((TextBox)c).Name;                              //otetaan objektin nimi talteen
                                    int           index = Convert.ToInt32(Regex.Match(n, @"\d+$").Value); //otetaan objektin järjestysnumero nimestä
                                    s.syote = g;
                                    s.index = index;
                                    syotteet.Add(s);
                                }
                            }
                        }
                    }
                }

                //Otetaan talteen käyttäjän valitsemat seulat "Seula"-combobokseista
                foreach (Control c in kiv.seulaArvot.Children)
                {
                    if (c.GetType() == typeof(ComboBox))
                    {
                        if (((ComboBox)c).Tag.ToString() != null)
                        {
                            if (((ComboBox)c).Tag.ToString() == "seula")
                            {
                                if (((ComboBox)c).Text != String.Empty)
                                {
                                    SeulaTallennus s  = new SeulaTallennus();
                                    double         se = Convert.ToDouble(((ComboBox)c).Text);
                                    string         n  = ((ComboBox)c).Name;                             //otetaan objektin nimi talteen
                                    int            si = Convert.ToInt32(Regex.Match(n, @"\d+$").Value); //otetaan objektin järjestysnumero nimestä
                                    s.seularvo       = se;                                              //Tallennetaan mikä seula on valittuna
                                    s.sijainti       = si;                                              //tallennetaan valitun comboboksin sijainti/järjestysluku
                                    s.seulansijainti = ((ComboBox)c).SelectedIndex;                     //Tallennetaan mones seula valittu seula on seulalistasta
                                    seulacombot.Add(s);
                                }
                            }
                        }
                    }
                }

                //Onko valittuna kuiva- vai pesuseulonta
                if (kiv.rbPesuseulonta.IsChecked == true)
                {
                    pesuseulValinta = true;
                }
                else
                {
                    pesuseulValinta = false;
                }

                double?jakokerroin  = null;
                int    jakoseula    = kiv.JakoSeula.SelectedIndex;
                string jakoseularvo = kiv.JakoSeula.Text;
                if (kiv.tbJakoKerroin.Text != String.Empty && Double.TryParse(kiv.tbJakoKerroin.Text, out double r) == true)
                {
                    jakokerroin = Convert.ToDouble(kiv.tbJakoKerroin.Text);
                }
                jako.jakokerroin  = jakokerroin;
                jako.jakoseula    = jakoseula;
                jako.jakoseularvo = jakoseularvo;

                //Otetaan talteen tekstitiedot ohjelman yläosasta
                foreach (Control c in kiv.tietoarvot.Children)
                {
                    if (c.GetType() == typeof(TextBox))
                    {
                        TekstiTiedot t = new TekstiTiedot();
                        t.otsikko = ((TextBox)c).Name;
                        if (((TextBox)c).Text != String.Empty)
                        {
                            t.tieto = ((TextBox)c).Text;
                        }
                        else
                        {
                            t.tieto = null;
                        }
                        tekstitiedot.Add(t);
                    }
                }
                foreach (Control c in kiv.osoitearvot.Children)
                {
                    if (c.GetType() == typeof(TextBox))
                    {
                        TekstiTiedot t = new TekstiTiedot();
                        t.otsikko = ((TextBox)c).Name;
                        if (((TextBox)c).Text != String.Empty)
                        {
                            t.tieto = ((TextBox)c).Text;
                        }
                        else
                        {
                            t.tieto = null;
                        }
                        tekstitiedot.Add(t);
                    }
                }

                //Otetaan talteen ohjealueet
                for (int i = 0; i < 4; i++)//Otetaan ohjealueet talteen yksi kolumni kerrallaan
                {
                    switch (i)
                    {
                    case 0:
                        int j = 17;
                        foreach (Control c in kiv.ohjeArvot.Children)
                        {
                            if (c.GetType() == typeof(TextBox))
                            {
                                if (((TextBox)c).Tag.ToString() != null)
                                {
                                    if (((TextBox)c).Tag.ToString() == "sisAla")
                                    {
                                        if (((TextBox)c).Text != String.Empty)
                                        {
                                            string seulatxt = ((TextBox)c).Text;
                                            seulatxt = seulatxt.Replace(".", ",");
                                            SeulaLapPros ohj = new SeulaLapPros
                                            {
                                                index = j,
                                                tulos = Convert.ToDouble(seulatxt)
                                            };
                                            sisOhjeAla.Add(ohj);
                                        }
                                        j--;
                                    }
                                }
                            }
                        }
                        break;

                    case 1:
                        int k = 17;
                        foreach (Control c in kiv.ohjeArvot.Children)
                        {
                            if (c.GetType() == typeof(TextBox))
                            {
                                if (((TextBox)c).Tag.ToString() != null)
                                {
                                    if (((TextBox)c).Tag.ToString() == "sisYla")
                                    {
                                        if (((TextBox)c).Text != String.Empty)
                                        {
                                            string seulatxt = ((TextBox)c).Text;
                                            seulatxt = seulatxt.Replace(".", ",");
                                            SeulaLapPros ohj = new SeulaLapPros
                                            {
                                                index = k,
                                                tulos = Convert.ToDouble(seulatxt)
                                            };
                                            sisOhjeYla.Add(ohj);
                                        }
                                        k--;
                                    }
                                }
                            }
                        }
                        break;

                    case 2:
                        int l = 17;
                        foreach (Control c in kiv.ohjeArvot.Children)
                        {
                            if (c.GetType() == typeof(TextBox))
                            {
                                if (((TextBox)c).Tag.ToString() != null)
                                {
                                    if (((TextBox)c).Tag.ToString() == "uloAla")
                                    {
                                        if (((TextBox)c).Text != String.Empty)
                                        {
                                            string seulatxt = ((TextBox)c).Text;
                                            seulatxt = seulatxt.Replace(".", ",");
                                            SeulaLapPros ohj = new SeulaLapPros
                                            {
                                                index = l,
                                                tulos = Convert.ToDouble(seulatxt)
                                            };
                                            uloOhjeAla.Add(ohj);
                                        }
                                        l--;
                                    }
                                }
                            }
                        }
                        break;

                    case 3:
                        int m = 17;
                        foreach (Control c in kiv.ohjeArvot.Children)
                        {
                            if (c.GetType() == typeof(TextBox))
                            {
                                if (((TextBox)c).Tag.ToString() != null)
                                {
                                    if (((TextBox)c).Tag.ToString() == "uloYla")
                                    {
                                        if (((TextBox)c).Text != String.Empty)
                                        {
                                            string seulatxt = ((TextBox)c).Text;
                                            seulatxt = seulatxt.Replace(".", ",");
                                            SeulaLapPros ohj = new SeulaLapPros
                                            {
                                                index = m,
                                                tulos = Convert.ToDouble(seulatxt)
                                            };
                                            uloOhjeYla.Add(ohj);
                                        }
                                        m--;
                                    }
                                }
                            }
                        }
                        break;

                    default:
                        break;
                    }
                }
                var kaikkilistat = new { nimi = "Actual", data = new List <object>() };
                //HUOMIOI TÄMÄ! tässä näkyy se järjestys mistä nämä listat löytyy tiedostosta
                kaikkilistat.data.Add(seulalista);
                kaikkilistat.data.Add(syotteet);
                kaikkilistat.data.Add(seulacombot);
                kaikkilistat.data.Add(pesuseulValinta);
                kaikkilistat.data.Add(tekstitiedot);
                kaikkilistat.data.Add(sisOhjeAla);
                kaikkilistat.data.Add(sisOhjeYla);
                kaikkilistat.data.Add(uloOhjeAla);
                kaikkilistat.data.Add(uloOhjeYla);

                json = JsonConvert.SerializeObject(kaikkilistat);
            }
            return(json);
        }