public bool UpdateMasa(int _id, bool ocupat = false, int locuri = 0, string locatie = "", string update_total_plata = "", bool eliberare_masa = false)
        {
            bool        verificare = false;
            List <Masa> _masa      = new List <Masa>();

            if (_id == 1 && locuri != 0 && locatie != "") // daca fisierul este gol, din form primesc _id = 1
            {
                Masa m = new Masa();
                m.id          = _id;
                m.locuri      = locuri;
                m.locatie     = locatie;
                m.ocupat      = false;
                m.total_plata = 0;
                _masa.Add(m);
            }
            else
            {
                using (StreamReader sr = new StreamReader(NumeFisier))
                {
                    string line;

                    //citeste cate o linie si creaza un obiect de tip Masa pe baza datelor din linia citita
                    while ((line = sr.ReadLine()) != null)
                    {
                        Masa masaDinFisier = new Masa(line);

                        if (masaDinFisier.id == _id)
                        {
                            if (eliberare_masa == false)
                            {
                                if (ocupat == true && locuri == 0 && update_total_plata == "")  // schimbare status masa la rezervarea unui client
                                {
                                    masaDinFisier.ocupat = true;
                                }

                                if (ocupat == true && locuri == 0 && update_total_plata != "") // update pret total in meniu
                                {
                                    masaDinFisier.total_plata = Validari.Validare_ConvertToFloat_Pret_Meniu(update_total_plata);
                                    masaDinFisier.ocupat      = true;
                                }
                            }
                            else
                            {
                                masaDinFisier.ocupat      = false;
                                masaDinFisier.cod_unic    = masaDinFisier.GenerareCodUnic();
                                masaDinFisier.total_plata = 0;
                            }
                        }
                        _masa.Add(masaDinFisier);

                        verificare = true;
                    }
                }
            }
            Masa add_to_list_masa = new Masa();

            if (ocupat == false && locuri != 0 && locatie != "" && update_total_plata == "") // adauga masa
            {
                add_to_list_masa.id          = _id;
                add_to_list_masa.ocupat      = false;
                add_to_list_masa.locuri      = locuri;
                add_to_list_masa.cod_unic    = add_to_list_masa.GenerareCodUnic();
                add_to_list_masa.locatie     = locatie;
                add_to_list_masa.total_plata = 0;

                _masa.Add(add_to_list_masa);
                verificare = true;
            }

            if (verificare == true)
            {
                int contor = 1;
                File.Delete(NumeFisier);
                IStocareMasa stocare_info_masa = new Administrare_masa();

                // sortare list
                List <Masa> list_copy = new List <Masa>();
                foreach (Masa m in _masa)
                {
                    if (m.locatie == "Interior")
                    {
                        Masa copy = new Masa();
                        copy.id          = contor;
                        copy.locuri      = m.locuri;
                        copy.locatie     = "Interior";
                        copy.cod_unic    = m.cod_unic;
                        copy.total_plata = m.total_plata;
                        copy.ocupat      = m.ocupat;
                        contor++;

                        list_copy.Add(copy);
                    }
                }
                foreach (Masa m in _masa)
                {
                    if (m.locatie == "Separeu")
                    {
                        Masa copy = new Masa();
                        copy.id          = contor;
                        copy.locuri      = m.locuri;
                        copy.locatie     = "Separeu";
                        copy.cod_unic    = m.cod_unic;
                        copy.total_plata = m.total_plata;
                        copy.ocupat      = m.ocupat;

                        contor++;

                        list_copy.Add(copy);
                    }
                }
                foreach (Masa m in _masa)
                {
                    if (m.locatie == "Terasa")
                    {
                        Masa copy = new Masa();
                        copy.id          = contor;
                        copy.locuri      = m.locuri;
                        copy.locatie     = "Terasa";
                        copy.cod_unic    = m.cod_unic;
                        copy.total_plata = m.total_plata;
                        copy.ocupat      = m.ocupat;

                        contor++;

                        list_copy.Add(copy);
                    }
                }

                for (int i = 0; i < list_copy.Count; i++)
                {
                    stocare_info_masa.AddMasa(list_copy[i]);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #2
0
        private void btnAdminAdauga_Modifica_Click(object sender, EventArgs e)// Buton de modificare meniu pentru rolul de administrator
        {
            validare = true;
            if (btn_pentru_mese == false) // am selectat in admin optiunea de adaugare meniu
            {
                lblTextCamp1.ForeColor = Color.Black;
                lblTextCamp2.ForeColor = Color.Black;
                lblTextCamp3.ForeColor = Color.Black;


                if (rdbAdmin_rdb1.Checked == false && rdbAdmin_rdb2.Checked == false && rdbAdmin_rdb3.Checked == false)
                {
                    lblEroareCamp1.Text      = "Selectati locatia mesei";
                    lblEroareCamp1.ForeColor = Color.Green;
                    lblEroareCamp1.Visible   = true;
                    validare = false;
                }

                if (txtAdminCamp2.Text == "")
                {
                    lblEroareCamp2.Text      = "Introduceti denumirea produsului";
                    lblEroareCamp2.ForeColor = Color.Green;
                    lblEroareCamp2.Visible   = true;
                    validare = false;
                }
                if (txtAdminCamp3.Text == "")
                {
                    lblEroareCamp3.Text      = "Introduceti pretul produsului";
                    lblEroareCamp3.ForeColor = Color.Green;
                    lblEroareCamp3.Visible   = true;
                    validare = false;
                }


                if (validare == true)
                {
                    IStocareMeniu stocare_info_meniu = new Administrare_meniu();
                    List <Meniu>  list_meniu         = stocare_info_meniu.GetInfo();

                    Meniu add_meniu = new Meniu();
                    if (rdbAdmin_rdb1.Checked == true)
                    {
                        add_meniu.tip_aliment = rdbAdmin_rdb1.Text;
                    }
                    else
                    if (rdbAdmin_rdb2.Checked == true)
                    {
                        add_meniu.tip_aliment = rdbAdmin_rdb2.Text;
                    }
                    else
                    if (rdbAdmin_rdb3.Checked == true)
                    {
                        add_meniu.tip_aliment = rdbAdmin_rdb3.Text;
                    }

                    add_meniu.denumire = txtAdminCamp2.Text;
                    string pret_nou = "";
                    string pret     = txtAdminCamp3.Text;
                    for (int i = 0; i < pret.Length; i++)
                    {
                        if (pret[i] == '.')
                        {
                            pret_nou += '.';
                        }
                        else
                        if (pret[i] == ',')
                        {
                            pret_nou += '.';
                        }
                        else
                        if (char.IsDigit(pret[i]))
                        {
                            pret_nou += pret[i];
                        }
                    }

                    add_meniu.pret = float.Parse(pret_nou, System.Globalization.CultureInfo.InvariantCulture);

                    if (list_meniu.Count != 0)
                    {
                        add_meniu.id = Meniu.last_id;
                        stocare_info_meniu.UpdateMeniu(add_meniu);
                    }
                    else
                    {
                        add_meniu.id = 1;
                        stocare_info_meniu.UpdateMeniu(add_meniu, true);
                    }



                    MessageBox.Show("Produsul a fost adăugat!");
                    rdbAdmin_rdb1.Checked = false;
                    rdbAdmin_rdb2.Checked = false;
                    rdbAdmin_rdb3.Checked = false;
                    admin_reset_controale_meniu();
                    btnAfiseazaInfo_Click(sender, e);
                }
            }
            // adaugare mese
            else
            {
                if (rdbAdmin_rdb1.Checked == false && rdbAdmin_rdb2.Checked == false && rdbAdmin_rdb3.Checked == false)
                {
                    lblEroareCamp1.Text      = "Selectati locatia mesei";
                    lblEroareCamp1.ForeColor = Color.Green;
                    lblEroareCamp1.Visible   = true;
                    validare = false;
                }
                if (rdb2locuri.Checked == false && rdb3locuri.Checked == false && rdb5locuri.Checked == false && rdb7locuri.Checked == false && rdb9locuri.Checked == false)
                {
                    lblEroareCamp3.Text      = "Selectati numarul de locuri";
                    lblEroareCamp3.ForeColor = Color.Green;
                    lblEroareCamp3.Visible   = true;
                    validare = false;
                }

                if (validare == true)
                {
                    lblEroareCamp1.Text      = "";
                    lblEroareCamp2.Text      = "";
                    lblEroareCamp3.Text      = "";
                    lblEroareCamp1.ForeColor = Color.Transparent;
                    lblEroareCamp2.ForeColor = Color.Transparent;
                    lblEroareCamp3.ForeColor = Color.Transparent;


                    string _locatie = "";
                    int    _locuri  = 0;

                    if (rdbAdmin_rdb1.Checked == true)
                    {
                        _locatie = rdbAdmin_rdb1.Text;
                    }
                    else
                    if (rdbAdmin_rdb2.Checked == true)
                    {
                        _locatie = rdbAdmin_rdb2.Text;
                    }
                    else
                    if (rdbAdmin_rdb3.Checked == true)
                    {
                        _locatie = rdbAdmin_rdb3.Text;
                    }

                    if (rdb2locuri.Checked)
                    {
                        _locuri = Convert.ToInt32(rdb2locuri.Text);
                    }
                    if (rdb3locuri.Checked)
                    {
                        _locuri = Convert.ToInt32(rdb3locuri.Text);
                    }
                    if (rdb5locuri.Checked)
                    {
                        _locuri = Convert.ToInt32(rdb5locuri.Text);
                    }
                    if (rdb7locuri.Checked)
                    {
                        _locuri = Convert.ToInt32(rdb7locuri.Text);
                    }
                    if (rdb9locuri.Checked)
                    {
                        _locuri = Convert.ToInt32(rdb9locuri.Text);
                    }



                    Masa b = new Masa();
                    b.locuri = b.GenerareCodUnic();
                    IStocareMasa stocare_info_masa = new Administrare_masa();
                    List <Masa>  list_masa         = stocare_info_masa.GetInfo();

                    if (list_masa.Count != 0)
                    {
                        // Verificare numar mese
                        int nr1 = 0;
                        foreach (Masa m in list_masa)
                        {
                            if (m.locatie == _locatie)
                            {
                                nr1++;
                            }
                        }

                        if (nr1 < 4)
                        {
                            stocare_info_masa.UpdateMasa(Masa.last_id, false, _locuri, _locatie);
                        }

                        if (nr1 == 4)
                        {
                            MessageBox.Show($"Nu se mai pot adauga mese in {_locatie}!\nNumar maxim de mese: 4");
                        }
                    }
                    else
                    {
                        stocare_info_masa.UpdateMasa(1, false, _locuri, _locatie);
                    }

                    MessageBox.Show("Masa a fost adăugată!");
                    rdbAdmin_rdb1.Checked = false;
                    rdbAdmin_rdb2.Checked = false;
                    rdbAdmin_rdb3.Checked = false;
                    rdb2locuri.Checked    = false;
                    rdb3locuri.Checked    = false;
                    rdb5locuri.Checked    = false;
                    rdb7locuri.Checked    = false;
                    rdb9locuri.Checked    = false;
                    txtAdminCamp1.Text    = "";
                    txtAdminCamp2.Text    = "";
                    txtAdminCamp3.Text    = "";
                }
            }
        }