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); } }
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 = ""; } } }