private void btnCOMANDA_Click(object sender, EventArgs e) // buton comanda din meniu. Efectuare calcul pret total -> memorare in fisier { if (lblGetPret.Text != "") { float pret_total; if (lblPretTotal.Text == "") { pret_total = 0; } else { pret_total = Validari.Validare_ConvertToFloat_Pret_Meniu(lblPretTotal.Text); } float pret_item_meniu = Validari.Validare_ConvertToFloat_Pret_Meniu(lblGetPret.Text); lblPretTotal.Text = (pret_total + pret_item_meniu).ToString(); lblPretTotal.ForeColor = Color.Transparent; lblTotalPlata_Bon.Text = $"Total plată:\n{lblPretTotal.Text} RON"; IStocareMasa stocare_info_masa = new Administrare_masa(); List <Masa> l_mese = stocare_info_masa.GetInfo(); stocare_info_masa.UpdateMasa(l_mese[id_masa_pentru_actualizare_pret_total_comanda - 1].id, true, 0, "", lblPretTotal.Text); stocare_info_masa.GetInfo(); lstAfisareInfo.ClearSelected(); } }
public void AddMasa(Masa b) { b.cod_unic = Validari.Validare_Cod_Unic(b, NumeFisier); using (StreamWriter swFisierText = new StreamWriter(NumeFisier, true)) { swFisierText.WriteLine(b.ConversieLaSir_PentruScriereInFisier()); } }
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 btnCodGata_Click(object sender, EventArgs e) // buton Gata ce apare dupa ce este introdus codul unic { IStocareMasa stocare_info_masa = new Administrare_masa(); List <Masa> l_mese = stocare_info_masa.GetInfo(); bool test = false; for (int i = 0; i < l_mese.Count; i++) { if (l_mese[i].cod_unic == Convert.ToInt32(txtCodUnic.Text)) { id_masa_pentru_actualizare_pret_total_comanda = l_mese[i].id; if (l_mese[i].ocupat == false) { MessageBox.Show("Masa cu acest cod nu a fost rezervata de dumneavoastra!"); txtCodUnic.Text = ""; btnCodGata.Visible = false; grAfiseazaInfo.Visible = false; lblOPTMASA.Visible = false; } else { lblOPTMASA.Visible = true; if (l_mese[i].locatie == "Interior") { lblOPTMASA.Text = $"MASA {id_masa_pentru_actualizare_pret_total_comanda} - {l_mese[i].locatie}"; } if (l_mese[i].locatie == "Separeu") { lblOPTMASA.Text = $"MASA {id_masa_pentru_actualizare_pret_total_comanda - 4} - {l_mese[i].locatie}"; } if (l_mese[i].locatie == "Terasa") { lblOPTMASA.Text = $"MASA {id_masa_pentru_actualizare_pret_total_comanda - 8} - {l_mese[i].locatie}"; } lblPretTotal.Text = (Validari.Validare_ConvertToFloat_Pret_Meniu(l_mese[i].total_plata.ToString())).ToString(); // primeste 0 din fisier sau valoarea adunata a preturilor // 4 comenzi necesare pentru revenirea de la admin la client grAfiseazaInfo.Visible = true; grAfiseazaInfo.Text = "Meniu"; lblTotalPlata_Bon.Visible = true; btnCOMANDA.Visible = true; lblPretTotal.ForeColor = Color.Transparent; lblTotalPlata_Bon.Text = $"Total plata\n{lblPretTotal.Text} RON"; lblGetPret.Text = ""; lstAfisareInfo.Items.Clear(); } test = true; break; } } if (test == false) { txtCodUnic.Text = ""; btnCodGata.Visible = false; MessageBox.Show("Codul mesei nu corespunde cu una dintre mesele rezervate!"); grAfiseazaInfo.Visible = false; lblOPTMASA.Visible = false; } }
private void btnREZERVA_Click(object sender, EventArgs e) // BUTON DE REZERVARE ---- ADAUGARE CLIENT IN FISIER { if (!Validari.Validare_Date_Rezervare(lblNUME.Text, lblPRENUME.Text, lblCNP.Text)) { lblNUME.ForeColor = Color.Red; lblPRENUME.ForeColor = Color.Red; lblCNP.ForeColor = Color.Red; MessageBox.Show("Completarea campurilor este obligatorie!"); return; } if (validare == false) { MessageBox.Show("Date introduse gresit! Verificati din nou informatiile din campuri"); return; } grIntroducetiCodulMesei.Visible = false; grAfiseazaInfo.Visible = false; grRezervareClient.Visible = false; IStocareClient stocare_info_client = new Administrare_client(); List <Client> al_client; if (stocare_info_client != null) { al_client = stocare_info_client.GetInfo(); last_id = al_client.Count + 1; } else { last_id = 0; } string cl = last_id.ToString() + ";" + txtNUME.Text + ";" + txtPRENUME.Text + ";" + txtCNP.Text + ";" + index_rezervare_dupa_selectie_masa.ToString(); Client client = new Client(cl); stocare_info_client.AddClient(client); IStocareMasa stocare_info_masa = new Administrare_masa(); List <Masa> l_mese = stocare_info_masa.GetInfo(); int cod_unic = 0; for (int i = 0; i < l_mese.Count; i++) { if (l_mese[i].id == index_rezervare_dupa_selectie_masa) { stocare_info_masa.UpdateMasa(l_mese[i].id, true); cod_unic = l_mese[i].cod_unic; break; } } stocare_info_masa.GetInfo(); Afisare_Mese(index_rezervare + 1); reset_controale_client(); DialogResult raspuns; raspuns = MessageBox.Show($"Codul mesei este: [ {cod_unic} ]", "COD UNIC", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (raspuns == System.Windows.Forms.DialogResult.Cancel) { MessageBox.Show($"Este necesara cunoasterea codului unic al mesei pentru a putea efectua comenzi.\n\nCodul este: [ {cod_unic} ]", "ATENTIE", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } grIntroducetiCodulMesei.Visible = true; rdbANULEAZA.Checked = false; // just in case rdbANULEAZA.Visible = false; // nu permit anularea actiunii daca s-a efectuat actiunea de rezervare }