Пример #1
0
        public EditujOtpremnicuViewModel(PocetnaOtpremnicaViewModel o, ObservableCollection <PocetnaOtpremnicaViewModel> AllZaglavlja, ObservableCollection <double> GetSumVerdnostiDokumenata)
        {
            GridSelectedItemThis      = o;
            allZaglavlja              = AllZaglavlja;
            getSumVerdnostiDokumenata = GetSumVerdnostiDokumenata;
            _brojOtpremnice           = GridSelectedItemThis.CurrentOtpremnicaZaglavlje.BrojOtpremnice;
            _partneri            = new ObservableCollection <SifarnikPartner>(service.SifarnikPartnerList());
            PartnerSelectedValue = service.SifarnikPartnerListById(o.CurrentOtpremnicaZaglavlje.SifarnikPartnerId);

            _roba       = new ObservableCollection <SifarnikRobe>(service.SifarnikRobeList());
            FilterDatum = DateTime.Parse(o.DatumOtpremnice);

            var listaRobe = service.listaRobePordukata(o.CurrentOtpremnicaZaglavlje.Id);
            ObservableCollection <RobaProsireno> tempListExpando = new ObservableCollection <RobaProsireno>();

            ListaRobaProsireno = new List <RobaProsireno>();
            foreach (var lista in listaRobe)
            {
                SifarnikRobe var = service.SifarnikRobeListById(lista.SifarnikRobeId);

                RobaProsireno rp = new RobaProsireno();
                rp.ListaRobe    = lista;
                rp.NazivRobe    = var.NazivRobe;
                rp.JedinicaMere = var.JedinicaMere;
                tempListExpando.Add(rp);

                ListaRobaProsireno.Add(rp);
            }

            GetKreiraneStavkeProsireno = new ObservableCollection <RobaProsireno>(tempListExpando);
            IzracunajUkupnuVrednostSvihStavki();
        }
Пример #2
0
        private void dataGridDadavanjeRobeOtpremnice_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewComboBoxCell cb = (DataGridViewComboBoxCell)dataGridDadavanjeRobeOtpremnice.Rows[e.RowIndex].Cells[0];

            if (cb.Value != null && e.ColumnIndex == 0)
            {
                var  roba       = service.SifarnikRobeListById((int)dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[0].Value);
                bool exist      = false;
                int  brojKolona = dataGridDadavanjeRobeOtpremnice.Rows.Count - 1;
                for (int i = 0; i < brojKolona; i++)
                {
                    if (dataGridDadavanjeRobeOtpremnice.Rows[i].Cells[0].FormattedValue.ToString() != "")
                    {
                        if ((int)dataGridDadavanjeRobeOtpremnice.Rows[i].Cells[0].Value == roba.Id && i != dataGridDadavanjeRobeOtpremnice.CurrentRow.Index)
                        {
                            MessageBox.Show("Otpremnica vec sadrzi ovu robu! Nemogu biti 2 iste robe!");
                            cb.Value = null;

                            dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[2].Value = "";
                            dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = "";
                            brojKolona--;
                            exist = true;
                        }
                    }
                }
                if (!exist)
                {
                    UplatnicaWCFtoDb.SifarnikRobe zaCenuRobe = service.SifarnikRobeListById(roba.Id);
                    dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[2].Value = zaCenuRobe.JedinicnaCena.ToString();
                    if (e.RowIndex == dataGridDadavanjeRobeOtpremnice.Rows.Count - 1)
                    {
                        dataGridDadavanjeRobeOtpremnice.Rows.Add();
                    }
                }
            }
            if (e.ColumnIndex == 1 || e.ColumnIndex == 2)//&& dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[1].FormattedValue.ToString()!="")
            {
                double kolicina = 0;
                double.TryParse(dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[1].FormattedValue.ToString(), out kolicina);

                if (kolicina != 0)
                {
                    double novaCena = 0;
                    double.TryParse(dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[2].FormattedValue.ToString(), out novaCena);
                    if (novaCena > 0)
                    {
                        dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = kolicina * novaCena;
                    }
                    else
                    {
                        dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = "";
                    }
                }
                else
                {
                    dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = "";
                }
            }
        }
Пример #3
0
        public void DodajStavku()
        {
            SifarnikRobe roba = service.SifarnikRobeListById(this.RobaSelectedValue.Id);

            ListaRobe lr = new ListaRobe();

            lr.SifarnikRobeId = this.RobaSelectedValue.Id;
            lr.KolicinaRobe   = (double)this.Kolicina;
            lr.NovaCenaRobe   = (double)this.RobaSelectedValue.JedinicnaCena;
            lr.UkupnaCenaRobe = (double)this.Kolicina * (double)this.RobaSelectedValue.JedinicnaCena;

            var os2 = new RobaProsireno();

            os2.ListaRobe    = lr;
            os2.NazivRobe    = roba.NazivRobe;
            os2.JedinicaMere = roba.JedinicaMere;



            //2. provera da li roba vec postoji medju unetim stavkama
            if (ListaRobaProsireno.Select(i => i.ListaRobe.SifarnikRobeId).Contains(lr.SifarnikRobeId))
            {
                //2.1. ako postoji izmeni vrednosti za: kolicinu i vrednost stavke
                MessageBox.Show("Odabrana roba već postoji u stavkama!");
                var obj = ListaRobaProsireno.FirstOrDefault(x => x.ListaRobe.SifarnikRobeId == lr.SifarnikRobeId);
                if (obj != null)
                {
                    obj.ListaRobe.KolicinaRobe  += lr.KolicinaRobe;
                    obj.ListaRobe.UkupnaCenaRobe = obj.ListaRobe.KolicinaRobe * obj.ListaRobe.NovaCenaRobe;
                }
                else
                {
                    MessageBox.Show("Greska: Objekat nije nadjen");
                    return;
                }
            }
            else
            {
                //2.2. ako ne postoji, dodaj stavku u listu kreiranih stavke.
                ListaRobaProsireno.Add(os2);
            }

            GetKreiraneStavkeProsireno = new ObservableCollection <RobaProsireno>(ListaRobaProsireno);
            IzracunajUkupnuVrednostSvihStavki();
        }