Exemple #1
0
        private void TekuciRacuniForm_Load(object sender, EventArgs e)
        {
            if (TekuciId == null)
            {
                // novi TR
                FirmeTR noviTR = new FirmeTR()
                {
                    FirmePodaciId = KupacId
                };

                TekuciRacun = noviTR;

                Mapiraj_ModelNaKontrole(TekuciRacun);
            }
            else
            {
                // izmena TR
                using (FaktureModel db = new FaktureModel())
                {
                    var postojeciTR = db.FirmeTR
                                      .Where(x => x.ID == TekuciId)
                                      .SingleOrDefault();
                    if (postojeciTR == null)
                    {
                        MessageBox.Show("Tekući račun ne postoji u evidenciji", "Greška");
                        Close();
                        return;
                    }
                    TekuciRacun = postojeciTR;
                }
                Mapiraj_ModelNaKontrole(TekuciRacun);
            }
        }
Exemple #2
0
        // TEKUĆI RAČUNI
        private void GetListaTekucihRacuna(int?kupacId)
        {
            using (FaktureModel db = new FaktureModel())
            {
                List <ListaZaPrikazTR> listaTRPrikaz = new List <ListaZaPrikazTR>();

                var listaTR = db.FirmeTR
                              .Where(x => x.FirmePodaciId == kupacId)
                              .ToList();

                foreach (var item in listaTR)
                {
                    ListaZaPrikazTR trItem = new ListaZaPrikazTR()
                    {
                        ID             = item.ID,
                        BrojNazivBanke = item.BrojTR + "  " + item.NazivBanke
                    };
                    listaTRPrikaz.Add(trItem);
                }

                listBoxTekucRacuni.DataSource    = listaTRPrikaz;
                listBoxTekucRacuni.DisplayMember = "BrojNazivBanke";
                listBoxTekucRacuni.ValueMember   = "ID";

                // kontekstni meni
                contextListaTR.Enabled = true;
            }
        }
Exemple #3
0
        private void FilterListeFaktura(DateTime pocetniDatum, DateTime krajnjiDatum, int?kupacId)
        {
            using (FaktureModel db = new FaktureModel())
            {
                switch (kupacId)
                {
                case null:
                    ListaFaktura = db.ListaFakturaView
                                   .Where(x => x.DatumIzdavanjaRN >= pocetniDatum && x.DatumIzdavanjaRN <= krajnjiDatum)
                                   .ToList();
                    break;

                default:
                    ListaFaktura = db.ListaFakturaView
                                   .Where(
                        x => x.DatumIzdavanjaRN >= pocetniDatum &&
                        x.DatumIzdavanjaRN <= krajnjiDatum &&
                        x.KupacId == kupacId
                        )
                                   .ToList();
                    break;
                }
            }

            PrikaziListuFaktura();
            linkPonistiFilter.Visible = true;
        }
Exemple #4
0
        private int ObrisiVrstuStavkeFakture(int _vrstaStavkeId)
        {
            Model.VrsteStavkiRacuna vrstaStavkeZaBrisanje;

            int result = 0; // broj zapisa nad kojima je izvršena operacija


            using (FaktureModel db = new FaktureModel())
            {
                vrstaStavkeZaBrisanje = db.VrsteStavkiRacuna
                                        .Where(x => x.ID == _vrstaStavkeId)
                                        .SingleOrDefault();

                if (vrstaStavkeZaBrisanje != null)
                {
                    DialogResult dr =
                        MessageBox.Show("Odabrana vrsta stavke će biti obrisana!\r\nDa li želite da nastavite sa brisanjem?",
                                        "Brisanje podataka", MessageBoxButtons.YesNo);

                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            db.Entry(vrstaStavkeZaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                            result = db.SaveChanges();

                            if (result > 0)
                            {
                                MessageBox.Show("Podaci su uspešno obrisani.", "Brisanje podataka");
                                return(result);
                            }
                            else
                            {
                                return(result);
                            }
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Greška prilikom brisanja podataka.", "Brisanje podataka");
                            return(result);
                        }
                    }
                    else
                    {
                        return(result);
                    }
                }
                else
                {
                    MessageBox.Show("Greška prilikom brisanja podataka.", "Brisanje podataka");
                    return(result);
                }
            }
        }
Exemple #5
0
        private void PuniComboBoxove(int _selectedIndex = -1)
        {
            using (FaktureModel db = new FaktureModel())
            {
                ListaVrstaStavkiRacuna = db.VrsteStavkiRacuna.ToList();
            }

            comboNazivStavke.DataSource    = ListaVrstaStavkiRacuna;
            comboNazivStavke.DisplayMember = "NazivVrsteStavke";
            comboNazivStavke.ValueMember   = "ID";
            comboNazivStavke.SelectedIndex = _selectedIndex; // default, ništa nije selektovano
        }
Exemple #6
0
        /* K U P C I */

        public void UcitajListuKupaca()
        {
            using (FaktureModel db = new FaktureModel())
            {
                ListaKupaca = db.ListaKupacaView
                              .ToList();
            }
            var bindingListaKupacaView = new BindingList <ListaKupacaView>(ListaKupaca);
            var dataGridSource         = new BindingSource(bindingListaKupacaView, null);

            dgvListaKupaca.DataSource = dataGridSource;
            dgvListaKupaca.AutoResizeColumns();
        }
Exemple #7
0
        private int ObrisiIzabranuFakturu(int _fakturaId)
        {
            Model.Fakture fakturaZaBrisanje;

            int result = 0;

            using (FaktureModel db = new FaktureModel())
            {
                fakturaZaBrisanje = db.Fakture
                                    .Where(x => x.ID == _fakturaId)
                                    .SingleOrDefault();

                if (fakturaZaBrisanje != null)
                {
                    DialogResult dr =
                        MessageBox.Show("Odabrani račun će biti obrisan!\r\nDa li želite da nastavite sa brisanjem?", "Brisanje računa", MessageBoxButtons.YesNo);

                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            db.Entry(fakturaZaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                            result = db.SaveChanges();

                            if (result > 0)
                            {
                                MessageBox.Show("Podaci su uspešno obrisani.", "Brisanje podataka");
                                return(result);
                            }
                            return(result);
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Greška prilikom brisanja podataka.", "Brisanje podataka");
                            return(result);
                        }
                    }
                    if (dr == DialogResult.No)
                    {
                        return(result);
                    }
                    return(result);
                }
                else
                {
                    MessageBox.Show("Podatak ne postoji u bazi.", "Greška");
                    return(result);
                }
            }
        }
Exemple #8
0
        private void UcitajListuKupacaZaCombobox(int _selectedItem = 0)
        {
            using (FaktureModel db = new FaktureModel())
            {
                ListaKupaca = db.FirmePodaci
                              .Where(x => x.Kategorija == "K")
                              .ToList();
            }

            comboKupac.DataSource    = ListaKupaca;
            comboKupac.DisplayMember = "NazivPrviRed";
            comboKupac.ValueMember   = "Id";
            comboKupac.SelectedItem  = _selectedItem;
        }
Exemple #9
0
        private string IspisiNaslovnuLiniju()
        {
            string naslovnaLinija = string.Empty;

            using (FaktureModel db = new FaktureModel())
            {
                naslovnaLinija = db.FirmePodaci
                                 .Where(x => x.Kategorija == "P")
                                 .Select(v => v.NazivPrviRed + " " + v.NazivDrugiRed)
                                 .SingleOrDefault()
                                 .ToString();
            }

            return(naslovnaLinija);
        }
Exemple #10
0
        private void FakturaForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            int brojStavkiFakture = dgvStavkeRacuna.RowCount;


            if (FakturaZaglavlje.ID > 0 && brojStavkiFakture == 0)
            {
                // služi za brisanje snimljenog zaglavlja ukoliko se odustane od daljeg unosa
                // i ako nema stavku fakture, obaveštava se korisnik

                using (FaktureModel db = new FaktureModel())
                {
                    FakturaZaglavlje = db.Fakture
                                       .Where(x => x.ID == FakturaZaglavlje.ID)
                                       .SingleOrDefault();

                    if (FakturaZaglavlje != null)
                    {
                        DialogResult dr =
                            MessageBox.Show("Stavke računa nisu dodate, a račun neće biti snimljen u evidenciju.\r\n \r\nDa li želite da nastavite sa zatvaranjem?", "Račun", MessageBoxButtons.YesNo);


                        if (dr == DialogResult.Yes)
                        {
                            try
                            {
                                db.Entry(FakturaZaglavlje).State = System.Data.Entity.EntityState.Deleted;
                                db.SaveChanges();
                            }
                            catch (Exception)
                            {
                                MessageBox.Show("Greška!", "Račun");
                                return;
                            }
                        }
                        if (dr == DialogResult.No)
                        {
                            e.Cancel = true;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Podatak ne postoji u bazi!", "Brisanje zaglavlja računa.");
                        return;
                    }
                }
            }
        }
Exemple #11
0
        private string GenerisiNoviBrojRacuna()
        {
            List <string> listaBrojevaIzdatihRacuna = null;

            using (FaktureModel db = new FaktureModel())
            {
                // lista brojeva RN za tekuću godinu
                listaBrojevaIzdatihRacuna = new List <string>(db.Fakture
                                                              .Where(x => x.DatumIzdavanjaRN.Year == DateTime.Now.Year)
                                                              .Select(r => r.BrojRN)
                                                              .ToList());
            }

            int        sufiksBrojaRN;
            List <int> listaSufiksaBrojevaRacuna = new List <int>();

            foreach (string brojRacuna in listaBrojevaIzdatihRacuna)
            {
                string poslednjaDvaBrojaRacuna = brojRacuna.Substring(brojRacuna.Length - 3);

                if (int.TryParse(poslednjaDvaBrojaRacuna, out sufiksBrojaRN))
                {
                    listaSufiksaBrojevaRacuna.Add(sufiksBrojaRN);
                }

                else
                {
                    continue;
                }
            }

            int    pocetniBrojRN      = 1;
            string zadnjeCifreBrojaRN = string.Empty;

            if (listaSufiksaBrojevaRacuna.Count > 0)
            {
                zadnjeCifreBrojaRN = (listaSufiksaBrojevaRacuna.Max() + 1).ToString("000");
            }

            else
            {
                zadnjeCifreBrojaRN = pocetniBrojRN.ToString("000");
            }

            string noviBrojRacuna = "RN-" + DateTime.Now.Year + "-" + zadnjeCifreBrojaRN;

            return(noviBrojRacuna);
        }
Exemple #12
0
        private void UcitajPodatkeFakture(int fakturaId)
        {
            using (FaktureModel db = new FaktureModel())
            {
                ZaglavljeFakture = db.ListaFakturaView
                                   .Where(x => x.ID == fakturaId)
                                   .SingleOrDefault();

                ListaStavkiFakture = db.ListaStavkiFaktureView
                                     .Where(x => x.FakturaId == fakturaId)
                                     .ToList();

                IzdavaocFakture = db.FirmePodaci
                                  .Where(x => x.Kategorija == "P")
                                  .SingleOrDefault();
            }
        }
Exemple #13
0
        private void podaciOFirmiToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // PRODAVAC - kategorija 'P'

            int izdavaocFaktureId;

            using (FaktureModel db = new FaktureModel())
            {
                izdavaocFaktureId = db.FirmePodaci
                                    .Where(x => x.Kategorija == "P")
                                    .Select(x => x.Id)
                                    .First();
            }

            PodaciZaFakturuForm podaciIzdavaocaFakture = new PodaciZaFakturuForm(izdavaocFaktureId);

            podaciIzdavaocaFakture.ShowDialog();
        }
Exemple #14
0
 private void PuniComboTekicihRacuna()
 {
     using (FaktureModel db = new FaktureModel())
     {
         // Lista tekućih računa prodavca
         List <FirmeTR> listaTRProdavaca = new List <FirmeTR>();
         var            prodavacId       = db.FirmePodaci
                                           .Where(x => x.Kategorija == "P")
                                           .Select(k => k.Id)
                                           .First();
         listaTRProdavaca = db.FirmeTR
                            .Where(p => p.FirmePodaciId == prodavacId)
                            .ToList();
         comboTR.DataSource    = listaTRProdavaca;
         comboTR.DisplayMember = "BrojTR";
         comboTR.ValueMember   = "ID";
     }
 }
Exemple #15
0
        private void BrisanjeStavkeFakture(int?_stavkaFaktureId)
        {
            FaktureStavke stavkaFaktureZaBrisanje;

            using (FaktureModel db = new FaktureModel())
            {
                stavkaFaktureZaBrisanje = db.FaktureStavke
                                          .Where(x => x.ID == _stavkaFaktureId)
                                          .SingleOrDefault();

                if (stavkaFaktureZaBrisanje != null)
                {
                    DialogResult dr =
                        MessageBox.Show("Stavka računa će biti obrisana!\r\nDa li želite da nastavite?", "Brisanje stavke računa", MessageBoxButtons.YesNo);

                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            db.Entry(stavkaFaktureZaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                            db.SaveChanges();

                            MessageBox.Show("Podaci su uspešno obrisani.", "Brisanje podataka");
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Greška prilikom brisanja podataka.", "Brisanje podataka");
                            return;
                        }
                    }
                    if (dr == DialogResult.No)
                    {
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Podatak ne postoji u bazi.", "Greška");
                }
            }

            PopuniListuStavkiFakture();
        }
Exemple #16
0
        private void BrisanjeTR(int?_tekuciRacunId)
        {
            FirmeTR tekuciRacunZaBrisanje;

            using (FaktureModel db = new FaktureModel())
            {
                tekuciRacunZaBrisanje = db.FirmeTR
                                        .Where(x => x.ID == _tekuciRacunId)
                                        .First();

                if (tekuciRacunZaBrisanje != null)
                {
                    DialogResult dr =
                        MessageBox.Show("Odabrani tekući račun će biti obrisan!\r\nDa li želite da nastavite?", "Brisanje TR", MessageBoxButtons.YesNo);

                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            db.Entry(tekuciRacunZaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                            db.SaveChanges();

                            MessageBox.Show("Podaci su uspešno obrisani.", "Brisanje podataka");
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Greška prilikom brisanja podataka.", "Brisanje podataka");
                            return;
                        }
                    }
                    if (dr == DialogResult.No)
                    {
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Podatak ne postoji u bazi.", "Greška");
                    return;
                }
            }
        }
Exemple #17
0
        private void CreateEditVrstaStavkeFakture()
        {
            // NOVA VRSTA STAVKE
            if (vrstaStavkeRacunaId == null)
            {
                Model.VrsteStavkiRacuna novaVrstaStavkeRacuna = new VrsteStavkiRacuna();

                labelNaslov.Text = "Nova vrsta stavke računa";

                VrstaStavkeRacunaDef = novaVrstaStavkeRacuna;

                Mapiraj_ModelNaKontrole(VrstaStavkeRacunaDef);
            }

            // POSTOJEĆA VRSTA STAVKE
            else
            {
                labelNaslov.Text = "Izmena vrste stavke računa";

                using (FaktureModel db = new FaktureModel())
                {
                    var postojecaVrstaStavkeRacuna = db.VrsteStavkiRacuna
                                                     .Where(x => x.ID == vrstaStavkeRacunaId)
                                                     .SingleOrDefault();

                    if (postojecaVrstaStavkeRacuna == null)
                    {
                        MessageBox.Show("Vrsta stavke ne postoji u evidenciji.", "Greška");
                        Close();
                        return;
                    }

                    VrstaStavkeRacunaDef = postojecaVrstaStavkeRacuna;

                    Mapiraj_ModelNaKontrole(VrstaStavkeRacunaDef);
                }
            }

            textNazivUsluge.Focus();
            textNazivUsluge.SelectAll();
        }
Exemple #18
0
        private void BrisanjePodatakaKupca(int kupacId)
        {
            FirmePodaci kupacZaBrisanje;

            using (FaktureModel db = new FaktureModel())
            {
                kupacZaBrisanje = db.FirmePodaci
                                  .Where(x => x.Id == kupacId)
                                  .SingleOrDefault();

                if (kupacZaBrisanje != null)
                {
                    DialogResult dr = MessageBox.Show("PAŽNJA !!!\r\n\r\nSvi podaci o kupcu će biti obrisani, uključujući i izdate račune!\r\nOperacija je bespovratna!\r\n\r\nDa li želite da nastavite sa brisanjem?", "Brisanje podataka", MessageBoxButtons.YesNo);

                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            db.Entry(kupacZaBrisanje).State = System.Data.Entity.EntityState.Deleted;
                            db.SaveChanges();

                            MessageBox.Show("Podaci su uspešno obrisani.", "Brisanje podataka");
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Greška prilikom brisanja podataka.", "Brisanje podataka");
                            return;
                        }
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    MessageBox.Show("Greška prilikom brisanja podataka.\r\nKupac ne postoji u bazi!", "Brisanje podataka");
                    return;
                }
            }
        }
Exemple #19
0
        public void UcitajListuFaktura(int godina)
        {
            using (FaktureModel db = new FaktureModel())
            {
                ListaFaktura = db.ListaFakturaView
                               .Where(x => x.DatumIzdavanjaRN.Year == godina)
                               .OrderByDescending(d => d.DatumIzdavanjaRN)
                               .ToList();

                if (ListaFaktura.Count == 0)
                {
                    NajmanjiDatumIzdateFakture = DateTime.Now.Date;
                }
                else
                {
                    // koristi se kao početni datum za filtriranje podataka
                    var najmanjiDatumIzdateFakture = db.ListaFakturaView
                                                     .Min(x => x.DatumIzdavanjaRN);

                    NajmanjiDatumIzdateFakture = najmanjiDatumIzdateFakture;
                }
            }
        }
Exemple #20
0
        private void StavkaFakture_Load(object sender, EventArgs e)
        {
            /*
             * - Na osnovu stavkaFaktureId kreira se novi ili traži postojeći zapis.
             * - StavkaFakture sadrži podatak o postojećoj ili novoj stavki
             * - Mapiraj_ModelNaKontrole ispisuje podatke na formi o novom/postojećem zapisu.
             * - Mapiraj_KontroleNaModel kao argument dobija novi/postojeći zapis
             * i update-uje ga podacima iz kontrola na formi.
             * - SnimanjePodataka na osnovu StavkaFakture vrši upis novog ili update zapisa
             */


            // povezivanje radio btn sa textbox enable/disable text box
            //textCenaBezPDV.DataBindings.Add("Enabled", radioBEZPDV, "Checked");
            //textCenaSaPDV.DataBindings.Add("Enabled", radioSAPDV, "Checked");

            PuniComboBoxove();

            /* NOVA STAVKA */
            if (stavkaFaktureId == null)
            {
                FaktureStavke novaStavkaFakture = new FaktureStavke()
                {
                    FakturaId           = fakturaId,
                    CheckBoxCenaSaPDV   = false,
                    CenaBezPDV          = decimal.Zero,
                    Kolicina            = decimal.Zero,
                    Rabat               = decimal.Zero,
                    StopaPDV            = 0,
                    VrstaStavkeRacunaId = comboNazivStavke.SelectedIndex
                };

                labelNaslov.Text = "Nova stavka računa";
                comboNazivStavke.SelectedIndex = -1;

                StavkaFakture     = novaStavkaFakture;
                CenaSaPDVomTemp   = decimal.Zero;
                koefStopePDV      = decimal.Zero;
                VrstaStavkeRacuna = null;

                Mapiraj_ModelNakontrole(StavkaFakture);
            }
            /* POSTOJEĆA STAVKA */
            else
            {
                // setovanje kontrola za unos, aktivne su nakon izbora stavke fakture
                textDodatniOpis.Enabled   = true;
                textKolicina.Enabled      = true;
                textCenaBezPDV.Enabled    = true;
                textRabat.Enabled         = true;
                checkBoxCenaSaPDV.Enabled = true;

                labelNaslov.Text              = "Izmena stavke računa";
                linkIzmeniStavku.Enabled      = true;
                linkObrisiVrstuStavke.Enabled = true;

                using (FaktureModel db = new FaktureModel())
                {
                    var _stavkaFakture = db.FaktureStavke
                                         .Where(x => x.ID == stavkaFaktureId)
                                         .SingleOrDefault();

                    if (_stavkaFakture == null)
                    {
                        MessageBox.Show("Stavka ne postoji u evidenciji.", "Greška");
                        Close();
                        return;
                    }

                    // sadrži stopu pdv i JM za izabranu stavku fakture
                    VrstaStavkeRacuna = db.VrsteStavkiRacuna
                                        .Where(x => x.ID == _stavkaFakture.VrstaStavkeRacunaId)
                                        .SingleOrDefault();

                    StavkaFakture = _stavkaFakture;

                    ///* kalkulacija koef stope pdv-a  */
                    //decimal _stopaPDV = Convert.ToDecimal(VrstaStavkeRacuna.StopaPDV);
                    //decimal _koefStopePDV = 1 + (_stopaPDV / 100);
                    //koefStopePDV = Convert.ToDecimal(_koefStopePDV);

                    KalkulacijaKoefStopePDVa();

                    CenaSaPDVomTemp = StavkaFakture.CenaBezPDV * koefStopePDV;



                    Mapiraj_ModelNakontrole(StavkaFakture);

                    NapraviPoreskuRekapitulaciju();
                }
            }
        }
Exemple #21
0
        private void CreateEditZaglavljeFakture()
        {
            /*
             * - Na osnovu fakturaZaglavljeId kreira se novi ili traži postojeći zapis.
             * - FakturaZaglavlje sadrže podatak o postojećem ili novom kupcu
             * - Mapiraj_ModelNaKontrole ispisuje podatke na formi o novom/postojećem zapisu.
             * - Mapiraj_KontroleNaModel kao argument dobija novi/postojeći zapis
             * i update-uje ga podacima iz kontrola na formi.
             * - SnimanjePodataka na osnovu FakturaZaglavlje vrši upis novog ili update zapisa
             */


            /* NOVA FAKTURA */
            if (fakturaZaglavljeId == null)
            {
                // default TR prodavca MORA
                comboTR.SelectedIndex = 0;

                Model.Fakture novaFakturaZaglavlje = new Model.Fakture()
                {
                    BrojRN           = GenerisiNoviBrojRacuna(), // max 20 chars
                    DatumIzdavanjaRN = DateTime.Now.Date,
                    DatumPrometa     = DateTime.Now.Date,
                    DatumPrometaDO   = DateTime.Now.Date,
                    TRProdavcaId     = (int)comboTR.SelectedValue,
                    NacinPlacanja    = "Virmanski",
                    RokPlacanja      = 1,
                    KupacId          = comboKupac.SelectedIndex
                };

                labelNASLOV.Text = "Novi račun";

                btnStavkaFakture.Visible         = false;
                buttonStampa.Visible             = false;
                contextMenuStavkeFakture.Enabled = false;

                // ispis poreske rekapitulacije
                labelVrednostBezPDV.Text  = string.Empty;
                labelIznosRabata.Text     = string.Empty;
                labelPoreskaOsnovica.Text = string.Empty;
                labelIznosPDV.Text        = string.Empty;
                labelVrednostSaPDV.Text   = string.Empty;

                FakturaZaglavlje = novaFakturaZaglavlje;

                IspisiNazivKupca(FakturaZaglavlje.ID);

                Mapiraj_ModelNaKontrole(FakturaZaglavlje);
            }

            else
            {
                /* POSTOJEĆA FAKTURA  */
                labelNASLOV.Text         = "Izmena računa";
                btnStavkaFakture.Visible = true;
                buttonStampa.Visible     = true;
                linkIzmeniKupca.Enabled  = true;

                using (FaktureModel db = new FaktureModel())
                {
                    var postojecaFaktura = db.Fakture
                                           .Where(x => x.ID == fakturaZaglavljeId)
                                           .SingleOrDefault();

                    if (postojecaFaktura == null)
                    {
                        MessageBox.Show("Faktura ne postoji u evidenciji.", "Greška");
                        Close();
                        return;
                    }

                    FakturaZaglavlje = postojecaFaktura;

                    Mapiraj_ModelNaKontrole(FakturaZaglavlje);
                    PopuniListuStavkiFakture();
                    IspisiNazivKupca(FakturaZaglavlje.KupacId);
                }
            }
        }
Exemple #22
0
        private void SnimanjeZaglavljaFakture()
        {
            // NOVA FAKTURA
            if (FakturaZaglavlje.ID == 0)
            {
                using (FaktureModel db = new FaktureModel())
                {
                    // postojeće podatke o kupcu iz propertija PodaciOKupcu update-ujem podacima iz kontrola
                    FakturaZaglavlje = Mapiraj_KontroleNaModel(FakturaZaglavlje);

                    try
                    {
                        db.Fakture.Add(FakturaZaglavlje);
                        int result = db.SaveChanges();

                        if (result > 0)
                        {
                            // nakon snimanja novi id se dodeljuje FaktureZaglavlje i fakturaZaglavljeId
                            int noviFaktiraZaglavljeId = FakturaZaglavlje.ID;
                            FakturaZaglavlje.ID = noviFaktiraZaglavljeId;
                            fakturaZaglavljeId  = FakturaZaglavlje.ID;

                            // ovde se učitava tek snimljeni zapis sa novim ID kako bi se mogao ažurirati - update
                            CreateEditZaglavljeFakture();

                            MessageBox.Show("Novi račun je snimljen u evidenciju.\r\nMožete dodati stavke.", "Snimanje podataka");
                            btnStavkaFakture.Visible = true;
                            buttonStampa.Visible     = true;
                            return;
                        }
                    }
                    catch (Exception xcp)
                    {
                        //MessageBox.Show(xcp.ToString());
                        MessageBox.Show("Greška prilikom snimanja podataka!\r\n" + xcp.ToString(), "Greška");
                        return;
                    }
                }
            }


            // POSTOJEĆA FAKTURA
            if (FakturaZaglavlje.ID > 0)
            {
                // 1. korak
                using (FaktureModel db = new FaktureModel())
                {
                    FakturaZaglavlje = db.Fakture
                                       .Where(x => x.ID == FakturaZaglavlje.ID)
                                       .SingleOrDefault();
                }

                // 2. korak
                if (FakturaZaglavlje != null)
                {
                    // postojeće podatke o fakturi iz propertija FakturaZaglavlje update-ujem podacima iz kontrola
                    FakturaZaglavlje = Mapiraj_KontroleNaModel(FakturaZaglavlje);
                }
                else
                {
                    MessageBox.Show("Račun ne postoji u bazi.", "Greška");
                    return;
                }

                // 3. korak
                using (FaktureModel db = new FaktureModel())
                {
                    try
                    {
                        db.Entry(FakturaZaglavlje).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();

                        MessageBox.Show("Izmene su snimljene.", "Snimanje podataka");
                        return;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }
        }
Exemple #23
0
        private void PopuniListuStavkiFakture()
        {
            using (FaktureModel db = new FaktureModel())
            {
                var _listaStavkiFakture = db.ListaStavkiFaktureView
                                          .Where(x => x.FakturaId == FakturaZaglavlje.ID)
                                          .ToList();

                ListaStavkiFakture = _listaStavkiFakture;
            }
            // enable kontekstni meni
            contextMenuStavkeFakture.Enabled = true;

            // enable print button
            if (ListaStavkiFakture.Count > 0)
            {
                groupBoxStavkeRN.Text = "Stavke računa - UKUPNO " + ListaStavkiFakture.Count;
                buttonStampa.Enabled  = true;
            }

            var bindingListaStavkiFakture = new BindingList <ListaStavkiFaktureView>(ListaStavkiFakture);
            var dgStavkeFaktureSource     = new BindingSource(bindingListaStavkiFakture, null);

            dgvStavkeRacuna.DataSource = dgStavkeFaktureSource;

            dgvStavkeRacuna.Columns["ID"].Visible = false;

            dgvStavkeRacuna.Columns["FakturaId"].Visible = false;

            dgvStavkeRacuna.Columns["NazivVrsteStavke"].Visible    = true;
            dgvStavkeRacuna.Columns["NazivVrsteStavke"].HeaderText = "Naziv stavke";
            dgvStavkeRacuna.Columns["NazivVrsteStavke"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleLeft;


            dgvStavkeRacuna.Columns["VrstaStavkeDodOpis"].Visible    = true;
            dgvStavkeRacuna.Columns["VrstaStavkeDodOpis"].HeaderText = "Opis stavke";
            dgvStavkeRacuna.Columns["VrstaStavkeDodOpis"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleLeft;

            dgvStavkeRacuna.Columns["JedinicaMere"].Visible    = true;
            dgvStavkeRacuna.Columns["JedinicaMere"].HeaderText = "Jed. mere";
            dgvStavkeRacuna.Columns["JedinicaMere"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleCenter;

            dgvStavkeRacuna.Columns["Kolicina"].Visible    = true;
            dgvStavkeRacuna.Columns["Kolicina"].HeaderText = "Količina";
            dgvStavkeRacuna.Columns["Kolicina"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["CenaBezPDV"].Visible    = true;
            dgvStavkeRacuna.Columns["CenaBezPDV"].HeaderText = "Cena bez PDV";
            dgvStavkeRacuna.Columns["CenaBezPDV"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["VrednostBezPDV"].Visible    = true;
            dgvStavkeRacuna.Columns["VrednostBezPDV"].HeaderText = "Vrednost bez PDV";
            dgvStavkeRacuna.Columns["VrednostBezPDV"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["Rabat"].Visible    = true;
            dgvStavkeRacuna.Columns["Rabat"].HeaderText = "Rabat %";
            dgvStavkeRacuna.Columns["Rabat"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["IznosRabata"].Visible    = true;
            dgvStavkeRacuna.Columns["IznosRabata"].HeaderText = "Iznos rabata";
            dgvStavkeRacuna.Columns["IznosRabata"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["OsnovicaPDV"].Visible    = true;
            dgvStavkeRacuna.Columns["OsnovicaPDV"].HeaderText = "Poreska osnovica";
            dgvStavkeRacuna.Columns["OsnovicaPDV"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["StopaPDV"].Visible    = true;
            dgvStavkeRacuna.Columns["StopaPDV"].HeaderText = "Stopa PDV %";
            dgvStavkeRacuna.Columns["OsnovicaPDV"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["IznosPDV"].Visible    = true;
            dgvStavkeRacuna.Columns["IznosPDV"].HeaderText = "Iznos PDV";
            dgvStavkeRacuna.Columns["IznosPDV"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;

            dgvStavkeRacuna.Columns["VrednostSaPDV"].Visible    = true;
            dgvStavkeRacuna.Columns["VrednostSaPDV"].HeaderText = "Vrednost sa PDV";
            dgvStavkeRacuna.Columns["VrednostSaPDV"].DefaultCellStyle.Alignment =
                DataGridViewContentAlignment.MiddleRight;


            dgvStavkeRacuna.AutoResizeColumns();

            NapraviPoreskuRekapitulaciju(ListaStavkiFakture);
        }
Exemple #24
0
        private int SnimanjeVrsteStavkeFakture()
        {
            int rezultatSnimanja = 0;

            // NOVA VRSTA STAVKE
            if (VrstaStavkeRacunaDef.ID == 0)
            {
                using (FaktureModel db = new FaktureModel())
                {
                    VrstaStavkeRacunaDef = Mapiraj_KontroleNaModel(VrstaStavkeRacunaDef);

                    try
                    {
                        db.VrsteStavkiRacuna.Add(VrstaStavkeRacunaDef);
                        rezultatSnimanja = db.SaveChanges();

                        if (rezultatSnimanja > 0)
                        {
                            MessageBox.Show("Nova vrsta stavke je snimljena.", "Vrsta stavke računa");
                            novaVrstaStavkeRacunaId = VrstaStavkeRacunaDef.ID;
                            //_dirtyTracker.MarkAsClean();
                            Close();
                            return(rezultatSnimanja);
                        }
                        else
                        {
                            return(rezultatSnimanja);
                        }
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return(rezultatSnimanja);
                    }
                }
            }


            // POSTOJEĆA VRSTA STAVKE - update postojećeg
            if (VrstaStavkeRacunaDef.ID > 0)
            {
                // 1. korak
                using (FaktureModel db = new FaktureModel())
                {
                    VrstaStavkeRacunaDef = db.VrsteStavkiRacuna
                                           .Where(x => x.ID == VrstaStavkeRacunaDef.ID)
                                           .SingleOrDefault();
                }

                // 2. korak
                if (VrstaStavkeRacunaDef != null)
                {
                    VrstaStavkeRacunaDef = Mapiraj_KontroleNaModel(VrstaStavkeRacunaDef);
                }
                else
                {
                    return(rezultatSnimanja);
                }


                // 3. korak
                using (FaktureModel db = new FaktureModel())
                {
                    try
                    {
                        db.Entry(VrstaStavkeRacunaDef).State = System.Data.Entity.EntityState.Modified;
                        rezultatSnimanja = db.SaveChanges();

                        if (rezultatSnimanja > 0)
                        {
                            MessageBox.Show("Izmene su snimljene.", "Snimanje podataka");
                            Close();
                            return(rezultatSnimanja);
                        }
                        else
                        {
                            return(rezultatSnimanja);
                        }
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return(rezultatSnimanja);
                    }
                }
            }
            else
            {
                return(rezultatSnimanja);
            }
        }
Exemple #25
0
        private void SnimanjePodataka()
        {
            // NOVI KUPAC - snimanje novog
            if (PodaciOKupcu.Id == 0)
            {
                using (FaktureModel db = new FaktureModel())
                {
                    // postojeće podatke o kupcu iz propertija PodaciOKupcu update-ujem podacima iz kontrola
                    PodaciOKupcu = Mapiraj_KontroleNaModel(PodaciOKupcu);

                    try
                    {
                        db.FirmePodaci.Add(PodaciOKupcu);
                        db.SaveChanges();

                        MessageBox.Show("Novi kupac je snimljen u evidenciju.", "Snimanje podataka");
                        linkDodajTR.Enabled   = true;
                        KupacId_ZaOstaleForme = PodaciOKupcu.Id;

                        return;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }

            // POSTOJEĆI KUPAC - update postojećeg
            if (PodaciOKupcu.Id > 0)
            {
                //MessageBox.Show("id > 0  " + PodaciOKupcu.Id);

                // 1. korak
                using (FaktureModel db = new FaktureModel())
                {
                    PodaciOKupcu = db.FirmePodaci
                                   .Where(x => x.Id == PodaciOKupcu.Id)
                                   .SingleOrDefault();
                }

                // 2. korak
                if (PodaciOKupcu != null)
                {
                    // postojeće podatke o kupcu iz propertija PodaciOKupcu update-ujem podacima iz kontrola
                    PodaciOKupcu = Mapiraj_KontroleNaModel(PodaciOKupcu);
                }
                else
                {
                    MessageBox.Show("Kupac ne postoji u bazi.", "Greška");
                    return;
                }

                // 3. korak
                using (FaktureModel db = new FaktureModel())
                {
                    try
                    {
                        db.Entry(PodaciOKupcu).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();

                        KupacId_ZaOstaleForme = PodaciOKupcu.Id;
                        MessageBox.Show("Izmene su snimljene.", "Snimanje podataka");
                        return;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }
        }
Exemple #26
0
        private void PodaciZaFakturuForm_Load(object sender, EventArgs e)
        {
            /*
             * - Na osnovu kupacId kreira se novi ili traži postojeći zapis.
             * - PodaciOKupcu sadrže podatak o postojećem ili novom kupcu
             * - Mapiraj_ModelNaKontrole ispisuje podatke na formi o novom/postojećem zapisu.
             * - Mapiraj_KontroleNaModel kao argument dobija novi/postojeći zapis
             * i update-uje ga podacima iz kontrola na formi.
             * - SnimanjePodataka na osnovu PodaciOKupcu vrši upis novog ili update zapisa
             */

            if (kupacId == null)
            {
                FirmePodaci noviKupac = new FirmePodaci()
                {
                    Kategorija = "K"
                };                                                              // K - kupac
                Text                     = "Podaci o kupcu";
                labelNaslov.Text         = "Unos podataka";
                checObveznikPdv.Visible  = false;
                labelPDVNapomena.Visible = false;
                linkDodajTR.Enabled      = false;
                contextListaTR.Enabled   = false;

                PodaciOKupcu = noviKupac;

                Mapiraj_ModelNaKontrole(PodaciOKupcu);
            }
            else
            {
                Text                     = "Podaci o kupcu";
                labelNaslov.Text         = "Izmena podataka";
                checObveznikPdv.Visible  = false;
                labelPDVNapomena.Visible = false;

                using (FaktureModel db = new FaktureModel())
                {
                    var postojeciKupac = db.FirmePodaci
                                         .Where(x => x.Id == kupacId)
                                         .SingleOrDefault();

                    if (postojeciKupac == null)
                    {
                        MessageBox.Show("Kupac ne postoji u evidenciji.", "Greška");
                        Close();
                        return;
                    }

                    if (postojeciKupac.Kategorija == "P") // P - prodavac
                    {
                        Text                     = "Izdavaoc fakture";
                        labelNaslov.Text         = "Podaci o izdavaocu fakture";
                        checObveznikPdv.Visible  = true;
                        labelPDVNapomena.Visible = true;
                        groupTR.Visible          = true;
                    }

                    PodaciOKupcu = postojeciKupac;

                    Mapiraj_ModelNaKontrole(PodaciOKupcu);
                }
            }

            GetListaTekucihRacuna(PodaciOKupcu.Id);

            textNazivPrviRed.Focus();
            textNazivPrviRed.SelectAll();
        }
Exemple #27
0
        private void SnimanjePodatakaTR()
        {
            // NOVI TR - dodavanj novog
            if (TekuciRacun.ID == 0)
            {
                using (FaktureModel db = new FaktureModel())
                {
                    // postojeće podatke o kupcu iz propertija TekuciRacun update-ujem podacima iz kontrola
                    TekuciRacun = Mapiraj_KontroleNaModel(TekuciRacun);

                    try
                    {
                        db.FirmeTR.Add(TekuciRacun);
                        db.SaveChanges();
                        MessageBox.Show("Podaci o tekućem računu su snimljeni.", "Tekući račun");
                        Close();
                        return;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }


            // POSTOJEĆI TR - update postojećeg
            if (TekuciRacun.ID > 0)
            {
                // 1. korak
                using (FaktureModel db = new FaktureModel())
                {
                    TekuciRacun = db.FirmeTR
                                  .Where(x => x.ID == TekuciRacun.ID)
                                  .SingleOrDefault();
                }

                // 2.korak
                if (TekuciRacun != null)
                {
                    // postojeće podatke o kupcu iz propertija TekuciRacun update-ujem podacima iz kontrola
                    TekuciRacun = Mapiraj_KontroleNaModel(TekuciRacun);
                }

                //3.korak
                using (FaktureModel db = new FaktureModel())
                {
                    try
                    {
                        db.Entry(TekuciRacun).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();

                        MessageBox.Show("Izmene su snimljene.", "Snimanje podataka");
                        Close();
                        return;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }
        }
Exemple #28
0
        private void SnimanjeStavkeFakture()
        {
            // NOVA STAVKA
            if (StavkaFakture.ID == 0)
            {
                using (FaktureModel db = new FaktureModel())
                {
                    StavkaFakture = Mapiraj_KontroleNaModel(StavkaFakture);

                    try
                    {
                        db.FaktureStavke.Add(StavkaFakture);
                        db.SaveChanges();

                        //MessageBox.Show("Stavka računa je snimljena.", "Snimanje podataka");
                        return;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }

            // POSTOJEĆA STAVKA
            if (StavkaFakture.ID > 0)
            {
                // 1. korak
                using (FaktureModel db = new FaktureModel())
                {
                    StavkaFakture = db.FaktureStavke
                                    .Where(x => x.ID == StavkaFakture.ID)
                                    .SingleOrDefault();
                }

                // 2. korak
                if (StavkaFakture != null)
                {
                    StavkaFakture = Mapiraj_KontroleNaModel(StavkaFakture);
                }
                else
                {
                    MessageBox.Show("Stavka ne postoji u bazi.", "Greška");
                    return;
                }

                // 3. korak
                using (FaktureModel db = new FaktureModel())
                {
                    try
                    {
                        db.Entry(StavkaFakture).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();

                        //MessageBox.Show("Izmene su snimljene.", "Snimanje podataka");
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Greška prilikom snimanja podataka!", "Greška");
                        return;
                    }
                }
            }
        }