示例#1
0
 private void RefreshCantitateDisponibila()
 {
     if (SelectedProdus == null)
     {
         return;
     }
     cantitateDisponibilaTbox.Text = SelectedProdus.CantitateDisponibila().ToString("0.00");
     pretUnitarTbox.Text           = produs.Pret.ToString("0.00");
 }
示例#2
0
        private void addBtn_Click(object sender, EventArgs e)
        {
            if (SelectedProdus == null)
            {
                return;
            }
            if (SelectedProdus.CantitateDisponibila() == 0)
            {
                MessageBox.Show("Produsul '" + produs.Nume + "' nu este disponibil!");
                return;
            }
            decimal cantitate = 0m;

            decimal.TryParse(cantitateTbox.Text, out cantitate);
            if (cantitate <= 0)
            {
                MessageBox.Show("Introduceti o cantitate!");
                return;
            }
            if (cantitate > produs.CantitateDisponibila())
            {
                MessageBox.Show("Ati ales o cantitate mai mare decat cantitatea disponibila!");
                return;
            }
            decimal pretUnitar = 0;

            decimal.TryParse(pretUnitarTbox.Text, out pretUnitar);
            bool   verifiedErrorsFlag = false;
            string cantitateString    = cantitate.ToString("0.00");
            List <PozitieFacturaIesire> pozitiiNoiList = new List <PozitieFacturaIesire>();

            while (cantitate > 0)
            {
                var pozitieIesireNoua = new PozitieFacturaIesire();
                pozitieIesireNoua.IdFacturaIesire = 2;// pt a evita avertismentele
                pozitieIesireNoua.PretUnitar      = pretUnitar;
                var stocDisponibil = Stoc.GetAll().Where(p => p.Cantitate > 0 && p.IdProdus == produs.ID).First();
                pozitieIesireNoua.IdStoc    = stocDisponibil.ID;
                pozitieIesireNoua.Cantitate = stocDisponibil.Cantitate;
                if (!verifiedErrorsFlag)
                {
                    verifiedErrorsFlag = true;
                    var errors = pozitieIesireNoua.GetErrorString();
                    if (errors.Trim() != string.Empty)
                    {
                        MessageBox.Show(errors);
                        return;
                    }
                }
                if (stocDisponibil.Cantitate >= cantitate)
                {
                    stocDisponibil.Cantitate   -= cantitate;
                    pozitieIesireNoua.Cantitate = cantitate;
                    cantitate = 0;
                }
                else
                {
                    cantitate -= stocDisponibil.Cantitate;
                    stocDisponibil.Cantitate = 0;
                }
                pozitiiNoiList.Add(pozitieIesireNoua);
                pozitiiOut.Add(pozitieIesireNoua);
            }
            DataGridViewRow row = new DataGridViewRow();

            row.CreateCells(dataGrid, produs.Nume, cantitateString, pretUnitar.ToString("0.00"));
            row.Tag = pozitiiNoiList;
            dataGrid.Rows.Add(row);
            RefreshCantitateDisponibila();
        }