Esempio n. 1
0
        public void ObrisiStavkaArtikal(StavkaArtikal stavkaArtikal, Radnik radnik)
        {
            try
            {
                LavDataClassesDataContext _baza = new LavDataClassesDataContext(konekcioniString);

                //ovo mora zato sto se ponuda ne moze dodati u ovaj DataContext zato sto pripada nekom drugom
                DB.StavkaArtikal _stavkaArtikal = new DB.StavkaArtikal
                {
                    StavkaArtikalID = stavkaArtikal.StavkaArtikalID,
                    StavkaUslugaID = stavkaArtikal.StavkaUslugaID,
                    PoslovniPartnerID = stavkaArtikal.PoslovniPartnerID,
                    KorisnikProgramaID=stavkaArtikal.KorisnikProgramaID,                    
                    ArtikalKolicina = stavkaArtikal.ArtikalKolicina,
                    ArtikalCenaBezPoreza = stavkaArtikal.ArtikalCenaBezPoreza,
                    ArtikalPoreskaStopaID = stavkaArtikal.ArtikalPoreskaStopaID,
                    ArtikalNaziv = stavkaArtikal.ArtikalNaziv,
                    ArtikalBrojProizvodjaca = stavkaArtikal.ArtikalBrojProizvodjaca,
                    ArtikalProizvodjacID = stavkaArtikal.ArtikalProizvodjacID,
                    ArtikalProizvodjacNaziv = stavkaArtikal.ArtikalProizvodjacNaziv,
                    NosilacGrupeID = stavkaArtikal.NosilacGrupeID,
                    Status = 'D', //ponuda.Status,
                    VremePromene = DateTime.Now, //ponuda.VremePromene,
                    KorisnickiNalog = radnik.Nadimak,//ponuda.KorisnickiNalog,
                };

                _baza.StavkaArtikals.Attach(_stavkaArtikal, stavkaArtikal);
                _baza.SubmitChanges();

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public bool Sacuvaj()
        {
            try
            {
                //za proveru tipa podataka
                Int32 _kolicina;
                decimal _cenaBezPoreza;

                if (textBoxArtikal.Text.Trim() == "")
                {
                    Dijalog _dialog = new Dijalog("Obavezan podatak", "Odaberi artikal.");
                    //_dialog.WindowStyle = WindowStyle.ToolWindow;
                    _dialog.Owner = Window.GetWindow(this);
                    _dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    _dialog.ShowDialog();
                    return false;
                }
                else if (textBoxKolicina.Text.Trim() == "")
                {
                    Dijalog _dialog = new Dijalog("Obavezan podatak", "Unesi vrednost u polje Količina.");
                    //_dialog.WindowStyle = WindowStyle.ToolWindow;
                    _dialog.Owner = Window.GetWindow(this);
                    _dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    _dialog.ShowDialog();
                    return false;
                }
                else if (!Int32.TryParse(textBoxKolicina.Text, out _kolicina))
                {
                    Dijalog _dialog = new Dijalog("Pogrešan format", "Unesi broj za polje Količina.");
                    //_dialog.WindowStyle = WindowStyle.ToolWindow;
                    _dialog.Owner = Window.GetWindow(this);
                    _dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    _dialog.ShowDialog();
                    return false;
                }
                else if (textBoxCenaBezPoreza.Text.Trim() == "")
                {
                    Dijalog _dialog = new Dijalog("Obavezan podatak", "Unesi vrednost u polje Cena bez poreza.");
                    //_dialog.WindowStyle = WindowStyle.ToolWindow;
                    _dialog.Owner = Window.GetWindow(this);
                    _dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    _dialog.ShowDialog();
                    return false;
                }
                else if (!Decimal.TryParse(textBoxCenaBezPoreza.Text, out _cenaBezPoreza))
                {
                    Dijalog _dialog = new Dijalog("Pogrešan format", "Unesi broj za polje polje Cena bez poreza.");
                    //_dialog.WindowStyle = WindowStyle.ToolWindow;
                    _dialog.Owner = Window.GetWindow(this);
                    _dialog.WindowStartupLocation = WindowStartupLocation.CenterOwner;
                    _dialog.ShowDialog();
                    return false;
                }
                else
                {
                    if (comboBoxNosilacGrupe.SelectedItem == null)
                    {
                        DB.NosilacGrupe _nosilacGrupe = null;

                        if (ponudaDetaljno != null)
                        {
                            _nosilacGrupe = ((DB.StavkaUsluga)ponudaDetaljno.listViewStavkaUsluga.SelectedItem).Usluga.NosilacGrupe;
                        }
                        else if (radniNalogDetaljno != null)
                        {
                            _nosilacGrupe = ((DB.StavkaUsluga)radniNalogDetaljno.listViewStavkaUsluga.SelectedItem).Usluga.NosilacGrupe;
                        }


                        foreach (DB.NosilacGrupe item in comboBoxNosilacGrupe.Items)
                        {
                            if (item.NosilacGrupeID == _nosilacGrupe.NosilacGrupeID)
                            {
                                comboBoxNosilacGrupe.SelectedItem = item;
                                break;
                            }
                        }
                    }

                    string[] _nizArtikal = textBoxArtikal.Tag.ToString().Split("$".ToCharArray());
                    string _brojProizvodjaca = _nizArtikal[0].ToString();
                    string _proizvodjacNaziv = _nizArtikal[1].ToString();
                    Int16 _proizvodjacID = Convert.ToInt16(_nizArtikal[2]);
                    string _artikalNaziv = _nizArtikal[3].ToString();

                    string[] _nizDobavljac = textBoxDobavljac.Tag.ToString().Split("$".ToCharArray());
                    //jedan je -1
                    int _poslovniPartnerID = Convert.ToInt32(_nizDobavljac[0]);
                    int _korisnikProgramaID = Convert.ToInt32(_nizDobavljac[1]);

                    if (stanje == App.Stanje.Unos)
                    {
                        DB.StavkaArtikal _stavkaArtikal = new DB.StavkaArtikal
                        {
                            ArtikalKolicina = Convert.ToInt32(textBoxKolicina.Text.Trim()),
                            ArtikalCenaBezPoreza = Convert.ToDecimal(textBoxCenaBezPoreza.Text.Trim(), App.cultureInfo),
                            ArtikalPoreskaStopaID = Convert.ToInt32(textBoxPoreskaStopa.Tag.ToString(), App.cultureInfo),
                            ArtikalNaziv = _artikalNaziv,
                            ArtikalBrojProizvodjaca = _brojProizvodjaca,
                            ArtikalProizvodjacNaziv = _proizvodjacNaziv,
                            ArtikalProizvodjacID = _proizvodjacID,
                            Status = 'I',
                            VremePromene = DateTime.Now,
                            KorisnickiNalog = App.Radnik.Nadimak
                        };
                        if (ponudaDetaljno != null)
                        {
                            _stavkaArtikal.StavkaUslugaID = ((DB.StavkaUsluga)ponudaDetaljno.listViewStavkaUsluga.SelectedItem).StavkaUslugaID;
                        }
                        else if (radniNalogDetaljno != null)
                        {
                            _stavkaArtikal.StavkaUslugaID = ((DB.StavkaUsluga)radniNalogDetaljno.listViewStavkaUsluga.SelectedItem).StavkaUslugaID;
                        }

                        if (comboBoxNosilacGrupe.SelectedItem == null)
                        {
                            _stavkaArtikal.NosilacGrupeID = ((DB.StavkaUsluga)ponudaDetaljno.listViewStavkaUsluga.SelectedItem).Usluga.NosilacGrupeID;
                        }
                        else
                        {
                            _stavkaArtikal.NosilacGrupeID = ((DB.NosilacGrupe)comboBoxNosilacGrupe.SelectedItem).NosilacGrupeID;
                        }

                        if (_poslovniPartnerID != -1)
                        {
                            _stavkaArtikal.PoslovniPartnerID = _poslovniPartnerID;
                        }
                        if (_korisnikProgramaID != -1)
                        {
                            _stavkaArtikal .KorisnikProgramaID= _korisnikProgramaID;
                        }

                        dBProksi.UnesiStavkaArtikal(_stavkaArtikal);

                        if (ponudaDetaljno != null)
                        {
                            DB.StavkaUsluga _stavkaUsluga = (DB.StavkaUsluga)ponudaDetaljno.listViewStavkaUsluga.SelectedItem;
                            _stavkaUsluga.StavkaArtikals.Add(_stavkaArtikal);
                            ponudaDetaljno.listViewStavkaArtikal.SelectedItem = _stavkaArtikal;
                        }
                        else if (radniNalogDetaljno != null)
                        {
                            DB.StavkaUsluga _stavkaUsluga = (DB.StavkaUsluga)radniNalogDetaljno.listViewStavkaUsluga.SelectedItem;
                            _stavkaUsluga.StavkaArtikals.Add(_stavkaArtikal);
                            radniNalogDetaljno.listViewStavkaArtikal.SelectedItem = _stavkaArtikal;
                        }

                        textBoxID.Text = _stavkaArtikal.StavkaArtikalID.ToString();

                        stanje = App.Stanje.Izmena;
                    }
                    else //if (stanje == App.Stanje.Izmena)
                    {
                        DB.StavkaArtikal _stavkaArtikal = new DB.StavkaArtikal
                        {
                            StavkaArtikalID = Convert.ToInt32(textBoxID.Text),
                            ArtikalKolicina = Convert.ToInt32(textBoxKolicina.Text.Trim()),
                            ArtikalCenaBezPoreza = Convert.ToDecimal(textBoxCenaBezPoreza.Text.Trim(), App.cultureInfo),
                            ArtikalPoreskaStopaID = Convert.ToInt32(textBoxPoreskaStopa.Tag.ToString()),
                            ArtikalNaziv = _artikalNaziv,
                            ArtikalBrojProizvodjaca = _brojProizvodjaca,
                            ArtikalProizvodjacNaziv = _proizvodjacNaziv,
                            ArtikalProizvodjacID = _proizvodjacID,
                            Status = 'U',
                            VremePromene = DateTime.Now,
                            KorisnickiNalog = App.Radnik.Nadimak
                        };
                        if (ponudaDetaljno != null)
                        {
                            _stavkaArtikal.StavkaUslugaID = ((DB.StavkaUsluga)ponudaDetaljno.listViewStavkaUsluga.SelectedItem).StavkaUslugaID;
                        }
                        else if (radniNalogDetaljno != null)
                        {
                            _stavkaArtikal.StavkaUslugaID = ((DB.StavkaUsluga)radniNalogDetaljno.listViewStavkaUsluga.SelectedItem).StavkaUslugaID;
                        }

                        if (comboBoxNosilacGrupe.SelectedItem == null)
                        {
                            _stavkaArtikal.NosilacGrupeID = ((DB.StavkaUsluga)ponudaDetaljno.listViewStavkaUsluga.SelectedItem).Usluga.NosilacGrupeID;
                        }
                        else
                        {
                            _stavkaArtikal.NosilacGrupeID = ((DB.NosilacGrupe)comboBoxNosilacGrupe.SelectedItem).NosilacGrupeID;
                        }

                        if (_poslovniPartnerID != -1)
                        {
                            _stavkaArtikal.PoslovniPartnerID = _poslovniPartnerID;
                        }
                        if (_korisnikProgramaID != -1)
                        {
                            _stavkaArtikal.KorisnikProgramaID = _korisnikProgramaID;
                        }

                        if (ponudaDetaljno != null)
                        {
                            dBProksi.IzmeniStavkaArtikal(_stavkaArtikal, (DB.StavkaArtikal)ponudaDetaljno.listViewStavkaArtikal.SelectedItem);
                        }
                        else if (radniNalogDetaljno != null)
                        {
                            dBProksi.IzmeniStavkaArtikal(_stavkaArtikal, (DB.StavkaArtikal)radniNalogDetaljno.listViewStavkaArtikal.SelectedItem);
                        }
                    }
                }

                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }