Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
 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());
     }
 }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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;
            }
        }
Exemplo n.º 5
0
        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
        }