Esempio n. 1
0
        public Form1()
        {
            try
            {
                Logolas.Ment("The program has been opened.");

                Csatlakozas();
                BejelentkezoForm dialogus = new BejelentkezoForm();

                if (dialogus.ShowDialog() != DialogResult.OK)
                {
                    Logolas.Ment("The program has been closed." + Environment.NewLine + "----------------------------");
                    Close();
                }
                else
                {
                    InitializeComponent();
                    Inits.Init();
                    VezerlokLetrehozasa();
                    AddButtonClick();

                    FormRefresh();
                    EtrendFeltetelMentes();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 2
0
 private void Button1_Click(object sender, EventArgs e)
 {
     try
     {
         Felhasznalo f = new Felhasznalo(Titkositasok.SHAHash(textBox1.Text.Trim() + Konstans.salt), Titkositasok.SHAHash(textBox2.Text + Konstans.salt), "");
         if (!ABKezelo.SikeresBelepes(f))
         {
             throw new WarningException("Unsuccessful login!");
         }
         ABKezelo.setCurrentUser(f);
         Logolas.Ment("Successful login, name: " + textBox1.Text.Trim());
     }
     catch (Exception ex)
     {
         if (ex is WarningException)
         {
             MessageBox.Show(ex.Message, "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         DialogResult = DialogResult.None;
     }
 }
Esempio n. 3
0
        private void Button4_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex != -1)
            {
                if (MessageBox.Show("Really want to delete the nutrient?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    try
                    {
                        Tapanyag t = (Tapanyag)listBox1.SelectedItem;

                        //élelmiszerek dictinoray-ből is törölni kell a tápanyagot
                        foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer))
                        {
                            item.TapanyagTartalom.Remove(t);
                            ABKezelo.Modositas(item);
                        }

                        string nev = t.Megnevezes;
                        ABKezelo.Torol(t);
                        Logolas.Ment("Nutrient deleted, name: " + nev);

                        ListBoxRefresh();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                MessageBox.Show("To delete a nutrient choose one!", "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Esempio n. 4
0
        public RendezesForm(bool tipus)
        {
            Logolas.Ment("We are on the sort form");

            InitializeComponent();
            elelmiszerek = new List <Elelmiszer>();

            try
            {
                if (tipus)
                {
                    foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer).ToList())
                    {
                        elelmiszerek.Add(item);
                    }
                }
                else
                {
                    foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer && (x as Elelmiszer).Hasznalhato)
                             .ToList())
                    {
                        elelmiszerek.Add(item);
                    }
                }

                VezerlokLetrehozasa();
                AddButtonClick();
                Rendezes();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 5
0
        private void Button6_Click(object sender, EventArgs e)
        {
            try
            {
                if (listBox1.SelectedIndex != -1 || listBox2.SelectedIndex != -1)
                {
                    Elelmiszer el;
                    if (listBox1.SelectedIndex != -1)
                    {
                        el = (Elelmiszer)listBox1.SelectedItem;
                    }
                    else
                    {
                        el = (Elelmiszer)listBox2.SelectedItem;
                    }

                    bool torolheto = true;
                    foreach (Menu item in ABKezelo.Kiolvasas().Where(x => x is Menu))
                    {
                        if (item.Osszetevo.ContainsKey(el))
                        {
                            torolheto = false;
                            break;
                        }
                    }

                    if (!torolheto)
                    {
                        throw new WarningException("The food has been used by a menu, so it is not deletable! [delete all menu that is using it or only the food from the menu]");
                    }

                    if (MessageBox.Show("Really want to delete the food?", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        string nev = el.Megnevezes;
                        ABKezelo.Torol(el);
                        Logolas.Ment("Deleted food, name: " + nev);

                        listBoxRefresh();
                    }
                }
                else
                {
                    throw new WarningException("For deletion choose a food!");
                }
            }
            catch (Exception ex)
            {
                if (ex is WarningException)
                {
                    MessageBox.Show(ex.Message, "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Esempio n. 6
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (numericUpDown1.Value <= 0)
                {
                    throw new ArgumentException("The exchange rate should be positive!");
                }

                if (penznem == null)
                {
                    string fnevhash = ABKezelo.GetCurrentUser();
                    string nev      = textBox1.Text.Trim();
                    string kod      = textBox2.Text.Trim().ToUpper();

                    if (nev == "" || nev.Length > 30)
                    {
                        throw new ArgumentException("The name should be non-empty and at most 30 characters length!");
                    }

                    if (kod.Length != 3)
                    {
                        throw new ArgumentException("Currency code should have exactly 3 characters!");
                    }

                    if (ABKezelo.Kiolvasas().Where(x => x is Penznem && (x as Penznem).Megnevezes == nev).ToList().Count != 0)
                    {
                        throw new ArgumentException("We have already a currency with this name!");
                    }

                    penznem = new Penznem(fnevhash, nev, kod,
                                          (double)numericUpDown1.Value, (byte)numericUpDown2.Value, checkBox1.Checked, checkBox2.Checked);
                    ABKezelo.Beszuras(penznem);
                    Logolas.Ment("New currency added, name: " + penznem.Megnevezes);
                }
                else
                {
                    if (!checkBox1.Checked && ABKezelo.Kiolvasas().Where(x => (x is Elelmiszer) && (x as Elelmiszer).Penz.Megnevezes == penznem.Megnevezes).ToList().Count > 0)
                    {
                        throw new ArgumentException("The currency should be usable, because there is a food that is using it!");
                    }

                    penznem.Arfolyam       = (double)numericUpDown1.Value;
                    penznem.TizedesekSzama = (byte)numericUpDown2.Value;
                    penznem.Hasznalhato    = checkBox1.Checked;
                    ABKezelo.Modositas(penznem);
                    Logolas.Ment("Currency modification, name: " + penznem.Megnevezes);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.None;
            }
        }
Esempio n. 7
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (MessageBox.Show("Really want to exit?", "Question", MessageBoxButtons.YesNo,
                         MessageBoxIcon.Question) == DialogResult.No)
     {
         e.Cancel = true;
     }
     else
     {
         ABKezelo.KapcsolatBontas();
         Logolas.Ment("The program has been closed." + Environment.NewLine + "----------------------------");
     }
 }
Esempio n. 8
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (numericUpDown1.Value <= 0)
                {
                    throw new WarningException("The rate should be positive!");
                }

                if (mertekegyseg == null)
                {
                    string fnevhash = ABKezelo.GetCurrentUser();
                    string nev      = textBox1.Text.Trim();

                    if (nev == "" || nev.Length > 30)
                    {
                        throw new WarningException("The name should be non-empty and at most 30 characters!");
                    }

                    if (ABKezelo.Kiolvasas().Where(x => x is Mertekegyseg &&
                                                   (x as Mertekegyseg).Megnevezes == nev).ToList().Count != 0)
                    {
                        throw new WarningException("We have already a unit with that name!");
                    }

                    mertekegyseg = new Mertekegyseg(fnevhash, nev, (MertekegysegFajta)comboBox1.SelectedIndex, (double)numericUpDown1.Value, checkBox1.Checked,
                                                    checkBox2.Checked);
                    ABKezelo.Beszuras(mertekegyseg);
                    Logolas.Ment("New unit added, name: " + mertekegyseg.Megnevezes);
                }
                else
                {
                    mertekegyseg.Hasznalhato = checkBox1.Checked;
                    ABKezelo.Modositas(mertekegyseg);
                    Logolas.Ment("Unit modification, name: " + mertekegyseg.Megnevezes);
                }
            }
            catch (Exception ex)
            {
                if (ex is WarningException)
                {
                    MessageBox.Show(ex.Message, "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                DialogResult = DialogResult.None;
            }
        }
Esempio n. 9
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                string       fnevhash = ABKezelo.GetCurrentUser();
                string       mnev     = comboBox1.SelectedItem.ToString();
                Mertekegyseg m        = (Mertekegyseg)ABKezelo.Kiolvasas()
                                        .Where(x => (x is Mertekegyseg) && (x as Mertekegyseg).Megnevezes == mnev).First();

                if (checkBox1.Checked && numericUpDown1.Value > numericUpDown2.Value)
                {
                    throw new ArgumentException("The daily minimum intake should not be less than the maximumu!");
                }

                if (tapanyag == null)
                {
                    string nev = textBox1.Text.Trim();

                    if (nev == "" || nev.Length > 30)
                    {
                        throw new ArgumentException("The name should be non-empty and at most 30 characters length!");
                    }

                    if (ABKezelo.Kiolvasas().Where(x => x is Tapanyag && (x as Tapanyag).Megnevezes == nev).ToList().Count > 0)
                    {
                        throw new ArgumentException("We have already a nutrient with this name!");
                    }

                    tapanyag = new Tapanyag(fnevhash, nev, m, (double)numericUpDown1.Value, (double)numericUpDown2.Value, checkBox1.Checked, checkBox2.Checked);
                    ABKezelo.Beszuras(tapanyag);
                    Logolas.Ment("New nutrient added, name: " + tapanyag.Megnevezes);
                    ABKezelo.BeszurTapanyagElelmiszerekbe(tapanyag);
                }
                else
                {
                    tapanyag.NapiMinBevitel = (double)numericUpDown1.Value;
                    tapanyag.NapiMaxBevitel = (double)numericUpDown2.Value;
                    tapanyag.NapiMax        = checkBox1.Checked;
                    tapanyag.Hasznalhato    = checkBox2.Checked;
                    ABKezelo.Modositas(tapanyag);
                    Logolas.Ment("Nutrient modification, name: " + tapanyag.Megnevezes);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.None;
            }
        }
Esempio n. 10
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                string fnev = ABKezelo.GetCurrentUser();
                int    i, j, k;
                int    p = 0, q = 0;
                for (i = 0; i < 2; i++)
                {
                    for (j = 0; j < 4; j++)
                    {
                        for (k = 0; k < 2; k++)
                        {
                            EtkezesFeltetel etk = new EtkezesFeltetel(fnev, (ElelmiszerTipus2)i, (EtkezesTipus2)j,
                                                                      (Szamlalo)k, (double)numericUpDowns[p].Value, checkBoxs[q].Checked,
                                                                      (double)numericUpDowns[p + 1].Value);
                            p += 2;
                            q++;
                            ABKezelo.Torol(etk);
                            ABKezelo.Beszuras(etk);
                        }
                    }
                }

                EtrendIdopont et = new EtrendIdopont(fnev, new List <DateTime>(3));
                for (i = 0; i < 3; i++)
                {
                    et.Datum.Add(new DateTime(2018, 1, 1, (int)numericUpDowns2[2 * i].Value,
                                              (int)numericUpDowns2[2 * i + 1].Value, 0));
                }

                if (ABKezelo.Kiolvasas().Where(x => x is EtrendIdopont).ToList().Count > 0)
                {
                    ABKezelo.Modositas(et);
                }
                else
                {
                    ABKezelo.Beszuras(et);
                }
                Logolas.Ment("Saved diet conditions.");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 11
0
        private void Button1_Click(object sender, EventArgs e)
        {
            int l1 = textBox1.Text.Trim().Length;
            int l2 = textBox2.Text.Length;

            if (l1 < 4 || l1 > 24)
            {
                MessageBox.Show("User name's length should be between 4 and 24 !", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.None;
            }
            else if (textBox2.Text != textBox3.Text)
            {
                MessageBox.Show("The two passwords should be the same!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.None;
            }
            else if (l2 < 4 || l2 > 24)
            {
                MessageBox.Show("Password length should be between 4 and 24 !", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.None;
            }
            else if (textBox4.Text.Length > 30)
            {
                MessageBox.Show("Password remainder should be at most 30 !", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DialogResult = DialogResult.None;
            }
            else
            {
                Titkositasok t = new Titkositasok();
                string       felhasznaloNevHash = Titkositasok.SHAHash(textBox1.Text.Trim() + Konstans.salt);

                if (ABKezelo.CountUsers(felhasznaloNevHash) > 0)
                {
                    MessageBox.Show("This username is already registered, choose another one!", "Error!", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                    DialogResult = DialogResult.None;
                }
                else
                {
                    string      jelszoHash = Titkositasok.SHAHash(textBox2.Text + Konstans.salt);
                    Felhasznalo f          = new Felhasznalo(felhasznaloNevHash, jelszoHash,
                                                             t.f0(felhasznaloNevHash, textBox4.Text, KodolasIranya.Kódol));
                    ABKezelo.Beszuras(f);
                    Logolas.Ment("Register a new user, the name: " + textBox1.Text.Trim());
                }
            }
        }
Esempio n. 12
0
        internal KeresesForm(bool tipus, object e = null)
        {
            // tipus=true, ha az összes élelmiszer között keresünk
            //  tipus=false, ha csak a használtak között

            if (e == null)
            {
                b = false;
            }
            t = tipus;

            InitializeComponent();

            elelmiszerek = new List <Elelmiszer>();

            try
            {
                Logolas.Ment("We are on search form");
                VezerlokLetrehozasa();
                AddButtonClick();

                if (e == null)
                {
                    if (tipus)
                    {
                        foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer))
                        {
                            elelmiszerek.Add(item);
                        }
                    }
                    else
                    {
                        foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer && (x as Elelmiszer).Hasznalhato))
                        {
                            elelmiszerek.Add(item);
                        }
                    }
                }
                else
                {
                    double ar = (e as Elelmiszer).Ar * (e as Elelmiszer).Penz.Arfolyam;
                    if (tipus)
                    {
                        foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x =>
                                                                               x is Elelmiszer && (x as Elelmiszer).Ar * (x as Elelmiszer).Penz.Arfolyam >= ar)
                                 .ToList())
                        {
                            elelmiszerek.Add(item);
                        }
                    }
                    else
                    {
                        foreach (Elelmiszer item in ABKezelo.Kiolvasas()
                                 .Where(x => x is Elelmiszer &&
                                        (x as Elelmiszer).Ar * (x as Elelmiszer).Penz.Arfolyam <= ar &&
                                        (x as Elelmiszer).Hasznalhato).ToList())
                        {
                            elelmiszerek.Add(item);
                        }
                    }
                }

                listBox1.DataSource = null;
                listBox1.DataSource = elelmiszerek;
                ComboBox1_SelectedIndexChanged(new object(), new EventArgs());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 13
0
        private void Button4_Click(object sender, EventArgs e)
        {
            try
            {
                if (listBox1.SelectedIndex != -1)
                {
                    string str       = (listBox1.SelectedItem as Mertekegyseg).Megnevezes;
                    bool   torolheto = true;
                    foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer))
                    {
                        if (item is Ital && (item as Ital).Urmertek.Megnevezes == str)
                        {
                            torolheto = false;
                            break;
                        }

                        if (item is Etel && (item as Etel).TomegMertek.Megnevezes == str)
                        {
                            torolheto = false;
                            break;
                        }
                    }

                    if (!torolheto)
                    {
                        throw new WarningException(
                                  "This unit is not deletable, beaucse there is a food using it!");
                    }

                    if (ABKezelo.Kiolvasas().Where(x => x is Tapanyag && (x as Tapanyag).Mertek.Megnevezes == str).ToList().Count > 0)
                    {
                        throw new WarningException(
                                  "This unit is not deletable, because there is a nutrient using it!");
                    }

                    if (ABKezelo.Kiolvasas().Where(x => x is Etel && (x as Etel).TomegMertek.Megnevezes == str).ToList().Count > 0)
                    {
                        throw new WarningException(
                                  "This unit is not deletable, because there is a meal using it!");
                    }

                    if (ABKezelo.Kiolvasas().Where(x => x is Ital && (x as Ital).Urmertek.Megnevezes == str).ToList().Count > 0)
                    {
                        throw new WarningException(
                                  "This unit is not deletable, because there is a drink using it!");
                    }

                    if (((Mertekegyseg)listBox1.SelectedItem).Torolheto)
                    {
                        if (MessageBox.Show("Really want to delete the unit?", "Question", MessageBoxButtons.YesNo,
                                            MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            string nev = ((Mertekegyseg)listBox1.SelectedItem).Megnevezes;
                            ABKezelo.Torol((Mertekegyseg)listBox1.SelectedItem);
                            Logolas.Ment("Unit deleted, name: " + nev);
                            ListBoxRefresh();
                        }
                    }
                    else
                    {
                        throw new WarningException("This unit is not deletable!");
                    }
                }
                else
                {
                    throw new WarningException("To delete a unit choose one!");
                }
            }
            catch (Exception ex)
            {
                if (ex is WarningException)
                {
                    MessageBox.Show(ex.Message, "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Esempio n. 14
0
        private void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                string fnevhash = ABKezelo.GetCurrentUser();

                if (comboBox1.SelectedIndex != (int)ElelmiszerTipus.menu && checkBox2.Checked &&
                    numericUpDown5.Value > numericUpDown6.Value)
                {
                    throw new WarningException("The maximal consumption should not be less than the minimal!");
                }

                if (elelmiszer == null)
                {
                    string nev = textBox1.Text.Trim();

                    if (nev == "" || nev.Length > 30)
                    {
                        throw new WarningException("The name should be non-empty and at most 30 characters!");
                    }
                    if (elelmiszerek.Where(x => x.Megnevezes == nev).ToList().Count > 0)
                    {
                        throw new WarningException("You already have a food with this name!");
                    }
                    int         i;
                    List <bool> fogyaszthato = new List <bool> {
                        checkBox3.Checked, checkBox4.Checked, checkBox5.Checked
                    };

                    double ar = (double)numericUpDown2.Value;

                    Penznem penz = penznemek.Where(p => p.Megnevezes == comboBox2.SelectedItem.ToString()).First();

                    Mertekegyseg mertek1    = mertekegysegek.Where(m => m.Megnevezes == comboBox3.SelectedItem.ToString()).First();
                    double       mennyiseg1 = (double)numericUpDown3.Value;

                    Mertekegyseg mertek2    = mertekegysegek.Where(m => m.Megnevezes == comboBox4.SelectedItem.ToString()).First();
                    double       mennyiseg2 = (double)numericUpDown4.Value;

                    //étel
                    Elelmiszer el = null;
                    switch ((ElelmiszerTipus)comboBox1.SelectedIndex)
                    {
                    case ElelmiszerTipus.meal:
                    {
                        el = new Etel(fnevhash, textBox1.Text.Trim(),
                                      (byte)numericUpDown1.Value,
                                      penz,
                                      ar,
                                      checkBox1.Checked,
                                      fogyaszthato,
                                      checkBox6.Checked,
                                      checkBox7.Checked,
                                      new Dictionary <Tapanyag, double>(),
                                      mennyiseg1,
                                      (double)numericUpDown5.Value,
                                      (double)numericUpDown6.Value,
                                      checkBox2.Checked,
                                      mertek1);
                        break;
                    }

                    //ital
                    case ElelmiszerTipus.drink:
                    {
                        el = new Ital(fnevhash, textBox1.Text.Trim(),
                                      (byte)numericUpDown1.Value,
                                      penz,
                                      ar,
                                      checkBox1.Checked,
                                      fogyaszthato,
                                      checkBox6.Checked,
                                      checkBox7.Checked,
                                      new Dictionary <Tapanyag, double>(),
                                      mennyiseg2,
                                      (double)numericUpDown5.Value,
                                      (double)numericUpDown6.Value,
                                      checkBox2.Checked,
                                      mertek2);
                        break;
                    }

                    //menü
                    case ElelmiszerTipus.menu:
                    {
                        el = new Menu(fnevhash, textBox1.Text.Trim(),
                                      (byte)numericUpDown1.Value,
                                      penz,
                                      ar,
                                      checkBox1.Checked,
                                      fogyaszthato,
                                      checkBox6.Checked,
                                      checkBox7.Checked,
                                      new Dictionary <Tapanyag, double>(),
                                      (byte)numericUpDown7.Value,
                                      1,
                                      mertek1,
                                      1,
                                      mertek2,
                                      new Dictionary <Elelmiszer, double>(),
                                      checkBox8.Checked);
                        break;
                    }
                    }

                    foreach (Tapanyag item in ABKezelo.Kiolvasas().Where(x => x is Tapanyag).ToList())
                    {
                        el.TapanyagTartalom.Add(item, 0);
                    }

                    for (i = 0; i < labelek.Count(); i++)
                    {
                        string   str = labelek[i].Text.Remove(labelek[i].Text.Length - 1);
                        double   m   = (double)szamlalok[i].Value;
                        Tapanyag t   = tapanyagok.Where(x => x.Megnevezes == str).First();
                        el.TapanyagTartalom[t] = m;
                    }

                    if (el is Menu)
                    {
                        bool van = false;
                        for (i = 0; i < labelek3.Count; i++)
                        {
                            string str = labelek3[i].Text.Remove(labelek3[i].Text.Length - 1);
                            double m   = (double)szamlalok3[i].Value;
                            if (m > 0)
                            {
                                van = true;
                            }
                            Elelmiszer el2 = elelmiszerek.Where(x => x.Megnevezes == str).First();
                            (el as Menu).Osszetevo.Add(el2, m);
                        }

                        if (!van)
                        {
                            throw new WarningException("There is no meal/drink with positive mass/volume!");
                        }
                    }
                    ABKezelo.Beszuras(el);
                    Logolas.Ment("New food added, name: " + el.Megnevezes);
                }
                else
                {
                    elelmiszer.Orom = (byte)numericUpDown1.Value;
                    elelmiszer.Ar   = (double)numericUpDown2.Value;
                    string pnev = comboBox2.SelectedItem.ToString();
                    elelmiszer.Penz = penznemek.Where(x => x.Megnevezes == pnev).First();
                    elelmiszer.EgysegTobbszorose = checkBox1.Checked;
                    elelmiszer.Fogyaszthato      = new List <bool>()
                    {
                        checkBox3.Checked,
                        checkBox4.Checked,
                        checkBox5.Checked
                    };
                    elelmiszer.Valtozatossag = checkBox6.Checked;
                    elelmiszer.Hasznalhato   = checkBox7.Checked;

                    int i;
                    for (i = 0; i < labelek.Count; i++)
                    {
                        string   tnev = labelek[i].Text.Remove(labelek[i].Text.Length - 1);
                        Tapanyag t    = tapanyagok.Where(x => x.Megnevezes == tnev).First();
                        elelmiszer.TapanyagTartalom[t] = (double)szamlalok[i].Value;
                    }

                    if (elelmiszer is Etel)
                    {
                        (elelmiszer as Etel).TomegMertek.Megnevezes = comboBox3.SelectedItem.ToString();
                        (elelmiszer as Etel).EgysegTomegMennyiseg   = (double)numericUpDown3.Value;
                        (elelmiszer as Etel).MinTomeg  = (double)numericUpDown5.Value;
                        (elelmiszer as Etel).MaxTomeg  = (double)numericUpDown6.Value;
                        (elelmiszer as Etel).MaxTomegE = checkBox2.Checked;
                    }
                    else if (elelmiszer is Ital)
                    {
                        (elelmiszer as Ital).Urmertek.Megnevezes       = comboBox4.SelectedItem.ToString();
                        (elelmiszer as Ital).EgysegUrTartalomMennyiseg = (double)numericUpDown4.Value;
                        (elelmiszer as Ital).MinUrTartalom             = (double)numericUpDown5.Value;
                        (elelmiszer as Ital).MaxUrTartalom             = (double)numericUpDown6.Value;
                        (elelmiszer as Ital).MaxUrTartalomE            = checkBox2.Checked;
                    }
                    else if (elelmiszer is Menu)
                    {
                        (elelmiszer as Menu).TomegMertek.Megnevezes    = comboBox3.SelectedItem.ToString();
                        (elelmiszer as Menu).EgysegTomegMennyiseg      = (double)numericUpDown3.Value;
                        (elelmiszer as Menu).Urmertek.Megnevezes       = comboBox4.SelectedItem.ToString();
                        (elelmiszer as Menu).EgysegUrTartalomMennyiseg = (double)numericUpDown4.Value;
                        (elelmiszer as Menu).MaxDarab = (byte)numericUpDown7.Value;

                        (elelmiszer as Menu).Osszetevo = new Dictionary <Elelmiszer, double>();

                        double total = 0;
                        for (i = 0; i < labelek3.Count; i++)
                        {
                            string     str = labelek3[i].Text.Remove(labelek3[i].Text.Length - 1);
                            Elelmiszer el2 = elelmiszerek.Where(x => x.Megnevezes == str).First();
                            double     m   = (double)szamlalok3[i].Value;
                            if (m > 0)
                            {
                                (elelmiszer as Menu).Osszetevo.Add(el2, m);
                                total += m;
                            }
                        }

                        if (total == 0)
                        {
                            throw new WarningException("The unit should be positive");
                        }
                    }
                    ABKezelo.Modositas(elelmiszer);
                    Logolas.Ment("Food modification, name: " + elelmiszer.Megnevezes);
                }
            }
            catch (Exception ex)
            {
                if (ex is WarningException)
                {
                    MessageBox.Show(ex.Message, "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                DialogResult = DialogResult.None;
            }
        }
Esempio n. 15
0
        private void Button4_Click(object sender, EventArgs e)
        {
            try
            {
                if (listBox1.SelectedIndex != -1)
                {
                    Penznem p         = (Penznem)listBox1.SelectedItem;
                    bool    torolheto = true;

                    foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer))
                    {
                        if (item.Penz.Megnevezes == p.Megnevezes)
                        {
                            torolheto = false;
                            break;
                        }
                    }

                    if (!torolheto)
                    {
                        throw new WarningException("This currency is not deletable, because there is a food using it!");
                    }

                    EtrendFeltetel et = (EtrendFeltetel)ABKezelo.Kiolvasas().Where(x => x is EtrendFeltetel).ToList().First();

                    if (et.Penz.Megnevezes == p.Megnevezes)
                    {
                        throw new WarningException("This currency is not deletable, bceause Form1 is using it!");
                    }

                    if (((Penznem)listBox1.SelectedItem).Torolheto)
                    {
                        if (MessageBox.Show("Really want to delete the currency?", "Question", MessageBoxButtons.YesNo,
                                            MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            string nev = ((Penznem)listBox1.SelectedItem).Megnevezes;
                            ABKezelo.Torol((Penznem)listBox1.SelectedItem);
                            Logolas.Ment("Currency deleted, name: " + nev);
                            ListBoxRefresh();
                        }
                    }
                    else
                    {
                        throw new WarningException("This currency is not deletable!");
                    }
                }
                else
                {
                    throw new WarningException("To delete a currency choose one!");
                }
            }
            catch (Exception ex)
            {
                if (ex is WarningException)
                {
                    MessageBox.Show(ex.Message, "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Esempio n. 16
0
        public static void NaptarbaRak()
        {
            try
            {
                UserCredential credential;

                using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
                {
                    string credPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                    credPath = Path.Combine(credPath, ".credentials/calendar-dotnet-quickstart.json");

                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                        GoogleClientSecrets.Load(stream).Secrets,
                        Scopes,
                        "user",
                        CancellationToken.None,
                        new FileDataStore(credPath, true)).Result;
                }

                var service = new CalendarService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = ApplicationName,
                });

                Event evnt = new Event();

                EtrendFeltetel e = (EtrendFeltetel)ABKezelo.Kiolvasas().Where(x => x is EtrendFeltetel).First();

                var l = ABKezelo.Kiolvasas().Where(x => x is EtrendElelmiszer).ToList();

                DateTime e1 = e.Datum1;
                DateTime e2 = e.Datum2;
                e1 = new DateTime(e1.Year, e1.Month, e1.Day, 0, 0, 0);
                e2 = new DateTime(e2.Year, e2.Month, e2.Day, 0, 0, 0);
                DateTime d = e1;

                int[] ido = new int[3];

                var v = ABKezelo.Kiolvasas().Where(x => x is EtrendIdopont).ToList();
                if (v.Count > 0)
                {
                    EtrendIdopont et = (EtrendIdopont)v.First();
                    for (int i = 0; i < 3; i++)
                    {
                        ido[i] = 60 * et.Datum[i].Hour + et.Datum[i].Minute;
                    }
                }
                else
                {
                    for (int i = 0; i < 3; i++)
                    {
                        ido[i] = 60 * (7 + 6 * i) + 30;
                    }
                }

                int num = 0;
                while (d <= e2)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        if (d == e1 && i < (int)e.Etkezes1)
                        {
                            continue;
                        }
                        if (d == e2 && i > (int)e.Etkezes2)
                        {
                            continue;
                        }

                        var l2 = l.Where(x =>
                                         (x as EtrendElelmiszer).Datum == d && (int)(x as EtrendElelmiszer).Etkezes == i).ToList();

                        string str = ((EtkezesTipus)i).ToString() + ":";
                        foreach (EtrendElelmiszer item in l2)
                        {
                            Elelmiszer elelmiszer = item.Elelmiszer;
                            if (elelmiszer is Etel)
                            {
                                str += String.Format("{0:0.0} {1} {2};", item.Tomeg, item.Tomegmertekegyseg.Megnevezes,
                                                     elelmiszer.Megnevezes);
                            }
                            else if (elelmiszer is Ital)
                            {
                                str += String.Format("{0:0.0} {1} {2};", item.Urmertek, item.Urmertekegyseg.Megnevezes,
                                                     elelmiszer.Megnevezes);
                            }
                            else
                            {
                                str += String.Format("{0:0.0} {1} [{2:0.0} {3}, {4:0.0} {5}];", item.Val,
                                                     elelmiszer.Megnevezes, item.Tomeg,
                                                     item.Tomegmertekegyseg.Megnevezes, item.Urmertek, item.Urmertekegyseg.Megnevezes);
                            }
                        }

                        evnt.Summary     = str;
                        evnt.Description = ((EtkezesTipus)i).ToString();

                        DateTime d1 = d + TimeSpan.FromMinutes(ido[i]);
                        DateTime d2 = d1 + TimeSpan.FromMinutes(30); //30 perc hosszú étkezés

                        // időpontok beállitása
                        evnt.Start = new EventDateTime()
                        {
                            DateTime = d1
                        };
                        evnt.End = new EventDateTime()
                        {
                            DateTime = d2
                        };

                        String calendarId = "primary";
                        service.Events.Insert(evnt, calendarId).Execute();
                    }

                    d = d.AddDays(1);
                }
                Logolas.Ment("Successful save to calendar");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 17
0
        public static void XMLRead(string filename, bool check = false, string hash = null, bool msg = true)
        {
            try
            {
                if (File.Exists(filename))
                {
                    List <ABHiba> hibak = new List <ABHiba>();
                    XDocument     xml   = XDocument.Load(filename);

                    List <Penznem> penznemek =
                        (from p in xml.Root.Elements("Penznem")
                         select new Penznem(p)).ToList();

                    List <EtrendAdat> e = new List <EtrendAdat>();
                    foreach (Penznem item in penznemek)
                    {
                        if (check && item.FelhasznaloNevHash != hash)
                        {
                            throw new ArgumentException("Other user saved this, you have no right to use it!");
                        }

                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));

                    e = new List <EtrendAdat>();
                    List <Mertekegyseg> mertekegysegek =
                        (from m in xml.Root.Elements("Mertekegyseg")
                         select new Mertekegyseg(m)).ToList();
                    foreach (Mertekegyseg item in mertekegysegek)
                    {
                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));


                    e = new List <EtrendAdat>();
                    List <Tapanyag> tapanyagok =
                        (from t in xml.Root.Elements("Tapanyag") select new Tapanyag(t, mertekegysegek)).ToList();
                    foreach (Tapanyag item in tapanyagok)
                    {
                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));


                    e = new List <EtrendAdat>();
                    List <Etel> etelek = (from etel in xml.Root.Elements("Etel") select new Etel(etel, penznemek, mertekegysegek)).ToList();
                    foreach (Etel item in etelek)
                    {
                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));

                    e = new List <EtrendAdat>();
                    List <Ital> italok = (from ital in xml.Root.Elements("Ital") select new Ital(ital, penznemek, mertekegysegek)).ToList();
                    foreach (Ital item in italok)
                    {
                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));

                    e = new List <EtrendAdat>();
                    List <Menu> menuk = (from menu in xml.Root.Elements("Menu") select new Menu(menu, penznemek, mertekegysegek)).ToList();
                    foreach (Menu item in menuk)
                    {
                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));


                    e = new List <EtrendAdat>();
                    List <ElelmiszerTapanyag> elelmiszertapanyag =
                        (from et in xml.Root.Elements("ElelmiszerTapanyag") select new ElelmiszerTapanyag(et, tapanyagok)).ToList();


                    List <Elelmiszer> elelmiszerek = new List <Elelmiszer>();
                    foreach (Etel item in etelek)
                    {
                        elelmiszerek.Add(item);
                    }
                    foreach (Ital item in italok)
                    {
                        elelmiszerek.Add(item);
                    }
                    foreach (Tapanyag t in tapanyagok)
                    {
                        ABKezelo.BeszurTapanyagElelmiszerekbe((Tapanyag)Csere(t, hash), elelmiszerek);
                    }


                    foreach (Elelmiszer item in ABKezelo.Kiolvasas().Where(x => x is Elelmiszer).ToList())
                    {
                        foreach (ElelmiszerTapanyag item2 in elelmiszertapanyag.Where(x => x.ElelmiszerMegnevezes == item.Megnevezes).ToList())
                        {
                            item.TapanyagTartalom[item2.Tapanyag] = item2.Ertek;
                        }
                        ABKezelo.Modositas(item);
                    }

                    elelmiszerek = new List <Elelmiszer>();
                    foreach (Etel item in etelek)
                    {
                        elelmiszerek.Add(item);
                    }
                    foreach (Ital item in italok)
                    {
                        elelmiszerek.Add(item);
                    }

                    e = new List <EtrendAdat>();
                    List <ElelmiszerElelmiszer> elelmiszerelelmiszer =
                        (from et in xml.Root.Elements("ElelmiszerElelmiszer") select new ElelmiszerElelmiszer(et, elelmiszerek)).ToList();

                    foreach (Menu item in menuk)
                    {
                        ABKezelo.BeszurElelmiszerElelmiszerekbe((Elelmiszer)Csere(item, hash));
                    }

                    foreach (Menu item in ABKezelo.Kiolvasas().Where(x => x is Menu).ToList())
                    {
                        foreach (ElelmiszerElelmiszer item2 in elelmiszerelelmiszer.Where(x => x.ElelmiszerMegnevezes == item.Megnevezes).ToList())
                        {
                            item.Osszetevo[item2.Elelmiszer] = item2.Ertek;
                        }
                        ABKezelo.Modositas(item);
                    }

                    EtrendFeltetel etrendfeltetel = (from x in xml.Root.Elements("EtrendFeltetel") select new EtrendFeltetel(x)).ToList().First();
                    ABKezelo.Beszuras(Csere(etrendfeltetel, hash));

                    e = new List <EtrendAdat>();
                    List <EtkezesFeltetel> etkezesfeltetel = (from x in xml.Root.Elements("EtkezesFeltetel") select new EtkezesFeltetel(x)).ToList();
                    foreach (EtkezesFeltetel item in etkezesfeltetel)
                    {
                        e.Add(item);
                    }
                    hibak.AddRange(ABKezelo.Csoportosbeszuras(Csere(e, hash)));

                    var etrendidopont = (from x in xml.Root.Elements("EtrendIdopont") select new EtrendIdopont(x)).ToList();
                    if (etrendidopont.Count > 0)
                    {
                        ABKezelo.Beszuras(Csere(etrendidopont.First(), hash));
                    }

                    if (hibak.Count > 0)
                    {
                        string szoveg = "";
                        foreach (ABHiba item in hibak)
                        {
                            szoveg += item + " " + item.Hibas + Environment.NewLine;
                        }

                        throw new Exception(szoveg);
                    }

                    if (msg)
                    {
                        MessageBox.Show("Successful import!", "Info!", MessageBoxButtons.OK,
                                        MessageBoxIcon.Information);
                        Logolas.Ment("Successful XML import!");
                    }
                }
                else
                {
                    throw new FileNotFoundException("Not existing file!");
                }
            }
            catch (Exception ex)
            {
                if (msg)
                {
                    Logolas.Ment("Unsuccessful XML import!");
                }
                throw ex;
            }
        }
Esempio n. 18
0
        public static void XMLSave(string filename, bool msg = true)
        {
            try
            {
                XDocument xml = new XDocument(new XElement("Gyoker"));


                foreach (Penznem item in ABKezelo.Kiolvasas().Where(x => x is Penznem).ToList())
                {
                    xml.Root.Add(item.ToXML());
                }

                foreach (Mertekegyseg item in ABKezelo.Kiolvasas().Where(x => x is Mertekegyseg).ToList())
                {
                    xml.Root.Add(item.ToXML());
                }

                foreach (Tapanyag item in ABKezelo.Kiolvasas().Where(x => x is Tapanyag).ToList())
                {
                    xml.Root.Add(item.ToXML());
                }

                foreach (Etel item in ABKezelo.Kiolvasas().Where(x => x is Etel).ToList())
                {
                    xml.Root.Add(item.ToXML());
                    foreach (KeyValuePair <Tapanyag, double> item2 in item.TapanyagTartalom)
                    {
                        ElelmiszerTapanyag item3 = new ElelmiszerTapanyag(item.FelhasznaloNevHash, item.Megnevezes, item2.Key, item2.Value);
                        xml.Root.Add(item3.ToXML());
                    }
                }

                foreach (Ital item in ABKezelo.Kiolvasas().Where(x => x is Ital).ToList())
                {
                    xml.Root.Add(item.ToXML());
                    foreach (KeyValuePair <Tapanyag, double> item2 in item.TapanyagTartalom)
                    {
                        ElelmiszerTapanyag item3 = new ElelmiszerTapanyag(item.FelhasznaloNevHash, item.Megnevezes, item2.Key, item2.Value);
                        xml.Root.Add(item3.ToXML());
                    }
                }

                foreach (Menu item in ABKezelo.Kiolvasas().Where(x => x is Menu).ToList())
                {
                    xml.Root.Add(item.ToXML());
                    foreach (KeyValuePair <Tapanyag, double> item2 in item.TapanyagTartalom)
                    {
                        ElelmiszerTapanyag item3 =
                            new ElelmiszerTapanyag(item.FelhasznaloNevHash, item.Megnevezes, item2.Key, item2.Value);
                        xml.Root.Add(item3.ToXML());
                    }

                    foreach (KeyValuePair <Elelmiszer, double> item4 in item.Osszetevo)
                    {
                        ElelmiszerElelmiszer item5 = new ElelmiszerElelmiszer(item.FelhasznaloNevHash, item.Megnevezes, item4.Key, item4.Value);
                        xml.Root.Add(item5.ToXML());
                    }
                }

                xml.Root.Add(ABKezelo.Kiolvasas().Where(x => x is EtrendFeltetel).ToList().First().ToXML());

                foreach (EtkezesFeltetel item in ABKezelo.Kiolvasas().Where(x => x is EtkezesFeltetel).ToList())
                {
                    xml.Root.Add(item.ToXML());
                }

                var e = ABKezelo.Kiolvasas().Where(x => x is EtrendIdopont).ToList();
                if (e.Count > 0)
                {
                    xml.Root.Add(e.First().ToXML());
                }

                try
                {
                    xml.Save(filename);
                    if (msg)
                    {
                        Logolas.Ment("Successful XML export!");
                    }
                }
                catch (Exception)
                {
                    if (msg)
                    {
                        Logolas.Ment("Unsuccessful XML export!");
                    }
                    throw new FileNotFoundException("Unsuccessful file export!");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 19
0
        private void Button6_Click(object sender, EventArgs eventargs)
        {
            try
            {
                if (numericUpDown3.Value <= 0 || numericUpDown3.Value > Konstans.maxValaszthatoFutasiIdo)
                {
                    throw new ArgumentException("Running time is positive and at most " + Konstans.maxValaszthatoFutasiIdo + " !");
                }

                Logolas.Ment("Diet making/running with the Glpk program.");
                EtrendMegold e0 = new EtrendMegold();

                List <object> ans = e0.Megoldas();

                if ((bool)ans[0])
                {
                    EtrendFeltetel e = (EtrendFeltetel)ABKezelo.Kiolvasas().Where(x => x is EtrendFeltetel).First();

                    var l = ABKezelo.Kiolvasas().Where(x => x is EtrendElelmiszer).ToList();

                    DateTime e1 = e.Datum1;
                    DateTime e2 = e.Datum2;
                    e1 = new DateTime(e1.Year, e1.Month, e1.Day, 0, 0, 0);
                    e2 = new DateTime(e2.Year, e2.Month, e2.Day, 0, 0, 0);
                    DateTime d = e1;

                    string str = "";

                    if (checkBox1.Checked)
                    {
                        str += String.Format("Minimum cost: {0} {1}", ans[1], (ans[2] as Penznem).Megnevezes) + Environment.NewLine;
                    }
                    else if (checkBox2.Checked)
                    {
                        str += String.Format("Maximum joy: {0}", ans[1]) + Environment.NewLine;
                    }

                    while (d <= e2)
                    {
                        str += String.Format("{0:yyyy.MM.dd.}", d) + Environment.NewLine;
                        for (int i = 0; i < 3; i++)
                        {
                            if (d == e1 && i < (int)e.Etkezes1)
                            {
                                continue;
                            }
                            if (d == e2 && i > (int)e.Etkezes2)
                            {
                                continue;
                            }

                            var l2 = l.Where(x => (x as EtrendElelmiszer).Datum == d && (int)(x as EtrendElelmiszer).Etkezes == i).ToList();

                            str += "   " + (EtkezesTipus)i + ":" + Environment.NewLine;
                            foreach (EtrendElelmiszer item in l2)
                            {
                                Elelmiszer elelmiszer = item.Elelmiszer;
                                if (elelmiszer is Etel)
                                {
                                    str += String.Format("      {0:0.00} {1} {2}", item.Tomeg, item.Tomegmertekegyseg.Megnevezes, elelmiszer.Megnevezes);
                                }
                                else if (elelmiszer is Ital)
                                {
                                    str += String.Format("      {0:0.00} {1} {2}", item.Urmertek, item.Urmertekegyseg.Megnevezes, elelmiszer.Megnevezes);
                                }
                                else
                                {
                                    str += String.Format("      {0:0.00} {1} [{2:0.00} {3}, {4:0.00} {5}]", item.Val, elelmiszer.Megnevezes, item.Tomeg,
                                                         item.Tomegmertekegyseg.Megnevezes, item.Urmertek, item.Urmertekegyseg.Megnevezes);
                                }
                                str += Environment.NewLine;
                            }
                        }
                        d = d.AddDays(1);
                    }

                    textBox1.Text = str;

                    File.AppendAllText("diets.txt", "Solution:" + Environment.NewLine + str + Environment.NewLine);

                    if (checkBox5.Checked)
                    {
                        Naptar.NaptarbaRak(); // google calendar-ba mentés, ha checkbox be van jelölve
                    }
                }
                else
                {
                    MessageBox.Show("The linear program has no solution!", "Attention!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    textBox1.Text = "No solution!";
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            Logolas.Ment("Glpk's run has finished.");
        }