public Racun CreateRezervacija(int idStranka,int hotelId, List<RezervacijaSobe> rezervacijeSobe, PosebneRezervacije posebneRezervacije)
        {
            if (idStranka == 0) return null;
            Stranka s = new Stranka();
            s.Id = idStranka;

            Random rnd = new Random();
            int stev = rnd.Next(1000, 98989);

            if (rezervacijeSobe == null)
                rezervacijeSobe = new List<RezervacijaSobe>();

            if (rezervacijeSobe.Count() == 0 && posebneRezervacije == null) return null;

            double cena = 0.0;
            for(int i = 0; i < rezervacijeSobe.Count; i++) {
                cena += rezervacijeSobe.ElementAt(i).Soba.Cena;
            }

            if (posebneRezervacije != null)
            {
                if (posebneRezervacije.RezervacijeDvorane != null && posebneRezervacije.RezervacijeDvorane.Count != 0)
                {
                    foreach (RezervacijaDvorane rd in posebneRezervacije.RezervacijeDvorane)
                    {
                        cena += Double.Parse(rd.Cena.ToString());
                    }
                }
                if (posebneRezervacije.RezervacijeParkirisca != null && posebneRezervacije.RezervacijeParkirisca.Count != 0)
                {
                    foreach (RezervacijaParkirisca rp in posebneRezervacije.RezervacijeParkirisca)
                    {
                        cena += Double.Parse(rp.Cena.ToString());
                    }
                }
            }
            else
            {
                posebneRezervacije.RezervacijeParkirisca = new List<RezervacijaParkirisca>();
                posebneRezervacije.RezervacijeDvorane = new List<RezervacijaDvorane>();
            }

            Racun rac = new Racun() { DatumRacuna = DateTime.Now, Placano = false, StevilkaRacuna = stev, Stranka = s, RezervacijeSob = rezervacijeSobe, RezervacijeDvorane = posebneRezervacije.RezervacijeDvorane, RezervacijeParkirisca = posebneRezervacije.RezervacijeParkirisca, SkupnaCena = (decimal) cena, Valuta="EUR", HotelId = hotelId};
            bool ok = racdao.Create(rac);
            if (!ok)
            {
                rac = null;
            }
            return rac;
        }
Exemple #2
0
 public void NoviRacun(Racun racun)
 {
     racun.Datum = DateTime.Now;
     _unit.RacunRepository.Stvori(racun);
     CloseUnitOfWork();
 }
        public IActionResult PraviRacun(int NarudzbaID, bool ZeliDostavu, decimal UkupanIznos)
        {
            Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext);

            Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id);

            ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina);

            Narudzba odabranaNarudzba = db.Narudzbe.Include(s => s.Dostava)
                                        .Where(s => s.id == NarudzbaID).SingleOrDefault();

            odabranaNarudzba.ZeliDostavu = ZeliDostavu;

            Racun noviRacun = new Racun();

            noviRacun.NarudzbaID     = NarudzbaID;
            noviRacun.DatumIzdavanja = DateTime.Now;
            noviRacun.KlijentId      = klijent.id;
            noviRacun.UkupanIznos    = UkupanIznos;

            if (ZeliDostavu)
            {
                Dostava novaDostava = new Dostava {
                    Adresa = db.Gradovi.Where(s => s.id == klijent.GradID)
                             .Select(s => s.Naziv).SingleOrDefault(),
                    Cijena = 10
                };
                db.Dostava.Add(novaDostava);
                noviRacun.DostavaId        = novaDostava.id;
                odabranaNarudzba.DostavaID = novaDostava.id;

                if (UkupanIznos < 100)
                {
                    noviRacun.UkupanIznos += 10;
                }
            }

            db.Racun.Add(noviRacun);

            List <NarudzbaStavke> sviArtikli = db.NarudzbaStavke
                                               .Include(s => s.Artikal)
                                               .Where(s => s.NarudzbaID == NarudzbaID)
                                               .ToList();

            foreach (var x in sviArtikli)
            {
                RacunStavke RS = new RacunStavke {
                    Kolicina  = x.Kolicina,
                    ArtikalId = x.ArtikalID,
                    RacunId   = noviRacun.id
                };
                Artikal artikal = db.Artikli.Where(s => s.id == x.ArtikalID).SingleOrDefault();
                artikal.Kolicina -= x.Kolicina;
                db.RacunStavke.Add(RS);
            }
            odabranaNarudzba.KlijentID = null;
            db.SaveChanges();

            RacunPraviRacunVM model = new RacunPraviRacunVM {
                Dostava = ZeliDostavu
            };

            return(PartialView(model));
        }
Exemple #4
0
        public async Task <IActionResult> AzurirajRacun([FromBody] Racun r)
        {
            await racunService.AzurirajRacun(r);

            return(Ok());
        }
Exemple #5
0
        private static void KreirajRacun(IGatewayConnection gatewayProxy)
        {
            Console.WriteLine();
            Console.WriteLine(">Dodaj racun:");
            Console.WriteLine("Korisnicko ime vlasnika racuna: ");
            string username      = Console.ReadLine();
            string userSifrovano = BitConverter.ToString(Sifrovanje.sifrujCBC(username, Konstante.ENCRYPTION_KEY));



            Console.WriteLine("Broj racuna: ");
            string brojRacuna          = Console.ReadLine();
            string brojRacunaSifrovano = BitConverter.ToString(Sifrovanje.sifrujCBC(brojRacuna, Konstante.ENCRYPTION_KEY));

            string tipRacuna;

            do
            {
                Console.WriteLine("Tip racuna (fizicki ili pravni):");
                tipRacuna = Console.ReadLine();
            }while (tipRacuna != "fizicki" && tipRacuna != "pravni");

            string tipRacunaSifrovano = BitConverter.ToString(Sifrovanje.sifrujCBC(tipRacuna, Konstante.ENCRYPTION_KEY));



            string operater          = "null";
            string operaterSifrovano = "null";

            if (tipRacuna == "fizicki")
            {
                Console.WriteLine("Korisnicko ime naloga operatera: ");
                operater = Console.ReadLine();
            }
            operaterSifrovano = BitConverter.ToString(Sifrovanje.sifrujCBC(operater, Konstante.ENCRYPTION_KEY));

            Console.WriteLine("Inicijalno stanje(broj):");
            string stanje          = Console.ReadLine();
            string stanjeSifrovano = BitConverter.ToString(Sifrovanje.sifrujCBC(stanje, Konstante.ENCRYPTION_KEY));



            Racun noviRacun = new Racun(userSifrovano, brojRacunaSifrovano, stanjeSifrovano, tipRacunaSifrovano, operaterSifrovano);

            var uspesnoKreiran = gatewayProxy.ClientToBankKreirajRacun(noviRacun);

            if (uspesnoKreiran == null)
            {
                Console.WriteLine("Neuspesno kreiran racun, proverite da li ovaj broj racuna vec postoji, ili da korisnik na koga se dodaje ne postoji");
            }
            else
            {
                Console.WriteLine("Uspesno kreiran racun na banci!");
            }


            if (tipRacuna == "fizicki")
            {
                User operaterZaProsledjivanje           = gatewayProxy.ClientToBankGetOperator(operaterSifrovano);
                User desifrovanOperaterZaProsledjivanje = Sifrovanje.desifrujUsera(operaterZaProsledjivanje);
                if (gatewayProxy.ClientToOperatorAddRacun(noviRacun, desifrovanOperaterZaProsledjivanje.IpAddress, desifrovanOperaterZaProsledjivanje.Port))
                {
                    Console.WriteLine("Uspesno kreiran racun na operateru");
                }
                else
                {
                    Console.WriteLine("Neuspesno kreiran racun na operateru");
                }
            }
        }
Exemple #6
0
        private void plbParking_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (plbParking.SelectedIndex >= 0)
            {
                if (((ParkingMjesto)(plbParking.SelectedItem)).tbZauzeto.Text == "Slobodno")
                {
                    SatnicaWindow satnica = new SatnicaWindow();

                    if (satnica.ShowDialog() == true)
                    {
                        konekcija.Open();

                        Random random = new Random();
                        string sifra  = random.Next(1000, 9999).ToString();

                        using (MySqlCommand komanda = new MySqlCommand("UPDATE parking SET zauzeto = 1, vrijemeDolaska = CURTIME(), datumDolaska = CURDATE(), sifra = " + sifra + " WHERE brojMjesta = " + (plbParking.SelectedIndex + 1) + ";", konekcija))
                        {
                            komanda.ExecuteNonQuery();

                            ((ParkingMjesto)(plbParking.Items[plbParking.SelectedIndex])).tbVrijeme.Text = DateTime.Now.ToString("HH:mm:ss");
                            ((ParkingMjesto)(plbParking.Items[plbParking.SelectedIndex])).tbDatum.Text   = DateTime.Now.ToString("dd-MMM-yy");

                            RezervisiMjesto(plbParking.SelectedIndex);
                        }

                        konekcija.Close();

                        Rezervacija rezervacija = new Rezervacija(plbParking.SelectedIndex + 1, sifra, (ParkingMjesto)(plbParking.Items[plbParking.SelectedIndex]));

                        /*
                         * Glupo!!!!!!!!
                         * */
                        if (rezervacija.ShowDialog() == true)
                        {
                        }
                        else
                        {
                        }
                    }
                }
                else
                {
                    Racun racun = new Racun(plbParking.SelectedIndex);

                    if (racun.ShowDialog() == true)
                    {
                        /*
                         * Pitati profesora za konvertovanje datuma.
                         * */
                        DateTime datumDolaska = new DateTime();
                        datumDolaska = DateTime.ParseExact("14-May-27 " + ((ParkingMjesto)(plbParking.Items[plbParking.SelectedIndex])).tbVrijeme.Text, "yy-MMM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);

                        int index = plbParking.SelectedIndex;

                        string vrijeme = ((ParkingMjesto)(plbParking.Items[index])).tbVrijeme.Text;
                        string datum   = ((ParkingMjesto)(plbParking.Items[index])).tbDatum.Text;
                        plbParking.Items[plbParking.SelectedIndex] = new ParkingMjesto();
                        ((ParkingMjesto)(plbParking.Items[index])).tbBrojMjesta.Text = "" + (index + 1);
                        plbParking.UpdateLayout();

                        MessageBox.Show("Ukupna cijena koju morate da platite za rezervaciju \nod " + vrijeme + " " + datum + "\ndo " + DateTime.Now.ToString("HH:mm:ss dd-MMM-yy") + "\nje " + Math.Round((DateTime.Now - datumDolaska).TotalSeconds * (1 / 3600), 2).ToString() + " KM.\nNa izlazu će Vas sačekati račun.\nHvala Vam što koristite naš parking servis.", "Račun", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }

                plbParking.SelectedIndex = -1;
            }
        }
Exemple #7
0
 public async Task IzmeniRacun([FromBody] Racun racun)
 {
     Context.Update <Racun>(racun);
     await Context.SaveChangesAsync();
 }
Exemple #8
0
        private void origFilter(object sender, FilterEventArgs e)
        {
            Racun racun = e.Item as Racun;

            e.Accepted = racun.Obrisan == false;
        }
Exemple #9
0
        public void TestInicijalizacijeNovogRacuna()
        {
            Racun r1 = new Racun();

            Assert.IsNotNull(r1);
        }
Exemple #10
0
 public void AzurirajRacun(Racun racun)
 {
     repo = RepoFactory.GetRepo();
     repo.AzurirajRacun(racun);
 }
Exemple #11
0
 public void UbaciRacun(Racun racun)
 {
     repo = RepoFactory.GetRepo();
     repo.UbaciRacun(racun);
 }
Exemple #12
0
        public IActionResult SnimiBrojilo(BrojiloVM brojilo)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Prikazi", new { KlijentID = _context.Prikljucak.FirstOrDefault(x => x.Id == brojilo.PrikljucakID).KlijentID }));
            }
            Brojilo b = new Data.Models.Brojilo();

            if (_context.Brojilo.FirstOrDefault(x => x.Id == brojilo.BrojiloID) != null)
            {
                b = _context.Brojilo.FirstOrDefault(x => x.Id == brojilo.BrojiloID);
                b.StaroStanjeJeftina    = b.TrenutnoStanjeJeftina;
                b.StaroStanjeSkupa      = b.TrenutnoStanjeSkupa;
                b.TrenutnoStanjeJeftina = brojilo.TrenutnoStanjeJeftina;
                b.TrenutnoStanjeSkupa   = brojilo.TrenutnoStanjeSkupa;
                _context.Brojilo.Update(b);
                _context.SaveChanges();

                CijenaKwh cijena = _context.Cijena.FirstOrDefault();

                Racun racun = new Racun();
                racun.Potrosnja_jeftina = brojilo.TrenutnoStanjeJeftina - brojilo.StaroStanjeJeftina;
                racun.Potrosnja_Skupa   = brojilo.TrenutnoStanjeSkupa - brojilo.StatoStanjeSkupa;
                racun.BrojiloID         = brojilo.BrojiloID;
                racun.Ukupno            = racun.Potrosnja_jeftina * cijena.CijenaKwHJeftina + racun.Potrosnja_Skupa * cijena.CijenaKwhSkupa;
                racun.Mjesec            = DateTime.Now.Month.ToString();
                racun.CijenaId          = cijena.Id;
                if (_context.Dugovanja.FirstOrDefault(x => x.BrojiloID == brojilo.BrojiloID) != null)
                {
                    racun.Dug = _context.Dugovanja.FirstOrDefault(x => x.BrojiloID == brojilo.BrojiloID).Ukupno;

                    Dugovanja d = _context.Dugovanja.FirstOrDefault(x => x.BrojiloID == brojilo.BrojiloID);
                    d.RacuniUkupno = d.RacuniUkupno + racun.Ukupno;
                    d.Ukupno       = d.RacuniUkupno - d.Uplata;
                    _context.Dugovanja.Update(d);
                    _context.SaveChanges();
                }
                else
                {
                    Dugovanja dug = new Dugovanja();
                    dug.BrojiloID    = brojilo.BrojiloID;
                    dug.RacuniUkupno = _context.Racun.Where(x => x.BrojiloID == brojilo.BrojiloID).Select(x => x.Ukupno).Sum() + racun.Ukupno;
                    dug.Uplata       = 0;
                    dug.Ukupno       = dug.RacuniUkupno - dug.Uplata;

                    _context.Dugovanja.Add(dug);
                    _context.SaveChanges();

                    racun.Dug = _context.Racun.Where(x => x.BrojiloID == brojilo.BrojiloID).Select(x => x.Ukupno).Sum();
                }

                _context.Racun.Add(racun);
                _context.SaveChanges();

                return(RedirectToAction("Prikazi", new { KlijentID = _context.Prikljucak.FirstOrDefault(x => x.Id == brojilo.PrikljucakID).KlijentID }));
            }
            else
            {
                b.StaroStanjeJeftina    = brojilo.TrenutnoStanjeJeftina;
                b.StaroStanjeSkupa      = brojilo.TrenutnoStanjeSkupa;
                b.TrenutnoStanjeJeftina = brojilo.TrenutnoStanjeJeftina;
                b.TrenutnoStanjeSkupa   = brojilo.TrenutnoStanjeSkupa;
                b.PrikljucakID          = brojilo.PrikljucakID;
                b.Datum = brojilo.Datum;
                _context.Brojilo.Add(b);
                _context.SaveChanges();
                Brojilo bro = _context.Brojilo.FirstOrDefault(x => x.PrikljucakID == brojilo.PrikljucakID);


                CijenaKwh cijena = _context.Cijena.FirstOrDefault();

                Racun racun = new Racun();
                racun.Potrosnja_jeftina = brojilo.TrenutnoStanjeJeftina - brojilo.StaroStanjeJeftina;
                racun.Potrosnja_Skupa   = brojilo.TrenutnoStanjeSkupa - brojilo.StatoStanjeSkupa;
                racun.BrojiloID         = bro.Id;
                racun.Ukupno            = racun.Potrosnja_jeftina * cijena.CijenaKwHJeftina + racun.Potrosnja_Skupa * cijena.CijenaKwhSkupa;
                racun.Mjesec            = DateTime.Now.Month.ToString();
                racun.CijenaId          = cijena.Id;
                racun.Dug = 0;
                Dugovanja dug = new Dugovanja();
                dug.BrojiloID    = bro.Id;
                dug.RacuniUkupno = _context.Racun.Where(x => x.BrojiloID == brojilo.BrojiloID).Select(x => x.Ukupno).Sum() + racun.Ukupno;
                dug.Uplata       = 0;
                dug.Ukupno       = dug.RacuniUkupno - dug.Uplata;
                _context.Dugovanja.Add(dug);
                _context.SaveChanges();


                _context.Racun.Add(racun);
                _context.SaveChanges();
                return(RedirectToAction("Prikazi", new { KlijentID = _context.Prikljucak.FirstOrDefault(x => x.Id == brojilo.PrikljucakID).KlijentID }));
            }
        }
        private void Kupi_Click(object sender, RoutedEventArgs e)
        {
            var prozor = new Racun();

            prozor.ShowDialog();
        }
Exemple #14
0
 public void AzurirajRacun(Racun racun)
 {
     SqlHelper.ExecuteNonQuery(cs, "AzurirajRacun", racun.IDRacun, racun.DatumIzdavanja, racun.BrojRacuna, racun.KupacID, racun.KomercijalistID, racun.KreditnaKarticaID, racun.Komentar);
 }
Exemple #15
0
 public void promijeniStanje(Potrosac p, Racun r)
 {
     ePosta.Instanca.promijeniRacun(p, r);
 }
Exemple #16
0
        public Racun Insert(Racun obj)
        {
            var rezultat = _bankaKontekst.Racuni.Add(obj).Entity;

            return(rezultat);
        }
Exemple #17
0
        public IActionResult IncijalizacijaBaze(int?brojRacuna = null)
        {
            if (!db.Skladiste.Any())
            {
                Skladiste sirova2 = new Skladiste();
                sirova2.VrstaKafe   = "SIROVA KAFA";
                sirova2.KolicinaUKg = 0;
                db.Skladiste.Add(sirova2);
                db.SaveChanges();

                Skladiste przenaRefuza = new Skladiste();
                przenaRefuza.VrstaKafe   = "Pržena kafa REFUZA";
                przenaRefuza.KolicinaUKg = 0;
                db.Skladiste.Add(przenaRefuza);
                db.SaveChanges();

                Skladiste sirova = new Skladiste();
                sirova.VrstaKafe   = "Sirova kafa 1000g";
                sirova.KolicinaUKg = 0;
                db.Skladiste.Add(sirova);
                db.SaveChanges();

                Skladiste przena = new Skladiste();
                przena.VrstaKafe   = "Pržena kafa 500g";
                przena.KolicinaUKg = 0;
                db.Skladiste.Add(przena);
                db.SaveChanges();

                Skladiste mljevena500 = new Skladiste();
                mljevena500.VrstaKafe   = "Mljevena kafa 500g";
                mljevena500.KolicinaUKg = 0;
                db.Skladiste.Add(mljevena500);
                db.SaveChanges();

                Skladiste mljevena200 = new Skladiste();
                mljevena200.VrstaKafe   = "Mljevena kafa 200g";
                mljevena200.KolicinaUKg = 0;
                db.Skladiste.Add(mljevena200);
                db.SaveChanges();

                Skladiste mljevena100 = new Skladiste();
                mljevena100.VrstaKafe   = "Mljevena kafa 100g";
                mljevena100.KolicinaUKg = 0;
                db.Skladiste.Add(mljevena100);
                db.SaveChanges();


                //


                Proizvod SevdahSirova1000 = new Proizvod();
                SevdahSirova1000.BarKod       = "3871661000077";
                SevdahSirova1000.CijenaBezPDV = 7.9;
                SevdahSirova1000.Masa         = (float)1;
                SevdahSirova1000.SkladisteID  = sirova.SkladisteID;
                SevdahSirova1000.Naziv        = "Sirova kafa 1000gr";
                db.Proizvodi.Add(SevdahSirova1000);
                db.SaveChanges();

                Proizvod SevdahPrzena500 = new Proizvod();
                SevdahPrzena500.BarKod       = "3871661000060";
                SevdahPrzena500.CijenaBezPDV = 8.9;
                SevdahPrzena500.Masa         = (float)0.5;
                SevdahPrzena500.SkladisteID  = przena.SkladisteID;
                SevdahPrzena500.Naziv        = "Pržena kafa 500gr";
                db.Proizvodi.Add(SevdahPrzena500);
                db.SaveChanges();

                Proizvod SevdahMljevena500 = new Proizvod();
                SevdahMljevena500.BarKod       = "3871661000039";
                SevdahMljevena500.CijenaBezPDV = 8.9;
                SevdahMljevena500.Masa         = (float)0.5;
                SevdahMljevena500.SkladisteID  = mljevena500.SkladisteID;
                SevdahMljevena500.Naziv        = "Mljevena kafa 500gr";
                db.Proizvodi.Add(SevdahMljevena500);
                db.SaveChanges();

                Proizvod SevdahMljevena200 = new Proizvod();
                SevdahMljevena200.BarKod       = "3871661000022";
                SevdahMljevena200.CijenaBezPDV = 8.9;
                SevdahMljevena200.Masa         = (float)0.2;
                SevdahMljevena200.SkladisteID  = mljevena200.SkladisteID;
                SevdahMljevena200.Naziv        = "Mljevena kafa 200gr";
                db.Proizvodi.Add(SevdahMljevena200);
                db.SaveChanges();

                Proizvod SevdahMljevena100 = new Proizvod();
                SevdahMljevena100.BarKod       = "3871661000015";
                SevdahMljevena100.CijenaBezPDV = 8.9;
                SevdahMljevena100.Masa         = (float)0.5;
                SevdahMljevena100.SkladisteID  = mljevena100.SkladisteID;
                SevdahMljevena100.Naziv        = "Mljevena kafa 100gr";
                db.Proizvodi.Add(SevdahMljevena100);
                db.SaveChanges();

                Proizvod SevdahPrzenaRefuza = new Proizvod();
                SevdahPrzenaRefuza.BarKod       = "---";
                SevdahPrzenaRefuza.CijenaBezPDV = 8.9;
                SevdahPrzenaRefuza.Masa         = (float)1;
                SevdahPrzenaRefuza.SkladisteID  = przena.SkladisteID;
                SevdahPrzenaRefuza.Naziv        = "Pržena kafa REFUZA";
                db.Proizvodi.Add(SevdahPrzenaRefuza);
                db.SaveChanges();

                Proizvod SevdahSirova = new Proizvod();
                SevdahSirova.BarKod       = "---";
                SevdahSirova.CijenaBezPDV = 7.9;
                SevdahSirova.Masa         = (float)1;
                SevdahSirova.SkladisteID  = sirova2.SkladisteID;
                SevdahSirova.Naziv        = "SIROVA KAFA";
                db.Proizvodi.Add(SevdahSirova);
                db.SaveChanges();


                Grad grad = new Grad();
                grad.Naziv = "Mostar";
                db.Gradovi.Add(grad);
                db.SaveChanges();

                Grad grad2 = new Grad();
                grad2.Naziv = "Stolac";
                db.Gradovi.Add(grad2);
                db.SaveChanges();

                Grad grad3 = new Grad();
                grad3.Naziv = "Jablanica";
                db.Gradovi.Add(grad3);
                db.SaveChanges();


                Kupac kupac = new Kupac();
                kupac.GradID     = grad.GradID;
                kupac.ID_broj    = "00000000000000";
                kupac.PDV_broj   = "0000000000000";
                kupac.Kredit     = 0;
                kupac.Adresa     = "adresa";
                kupac.NazivKupca = "---";
                db.Kupci.Add(kupac);
                db.SaveChanges();

                Kupac kupac2 = new Kupac();
                kupac2.GradID     = grad.GradID;
                kupac2.ID_broj    = "00000000000000";
                kupac2.PDV_broj   = "0000000000000";
                kupac2.Kredit     = 0;
                kupac2.Adresa     = "adresa";
                kupac2.NazivKupca = "zTest";
                db.Kupci.Add(kupac2);
                db.SaveChanges();


                if (brojRacuna == null)
                {
                    // promijeniti 30 po potrebi !!!
                    for (int i = 0; i < 30; i++)
                    {
                        Racun racun = new Racun();
                        racun.BrojRacuna      = "inicijalni racuni (pocetak rada aplikacije)";
                        racun.Datum           = DateTime.Now.AddMonths(-2);
                        racun.DosadPlaceno    = 0;
                        racun.Placeno         = true;
                        racun.PDV             = 0;
                        racun.UkupnoBezPDV    = 0;
                        racun.UkupnoZaNaplatu = 0;
                        racun.KupacID         = kupac2.KupacID;
                        db.Racuni.Add(racun);
                        db.SaveChanges();
                    }
                }
                else
                {
                    for (int i = 0; i < brojRacuna; i++)
                    {
                        Racun racun = new Racun();
                        racun.BrojRacuna      = "inicijalni racuni (pocetak rada aplikacije)";
                        racun.Datum           = DateTime.Now.AddMonths(-2);
                        racun.DosadPlaceno    = 0;
                        racun.Placeno         = true;
                        racun.PDV             = 0;
                        racun.UkupnoBezPDV    = 0;
                        racun.UkupnoZaNaplatu = 0;
                        racun.KupacID         = kupac2.KupacID;
                        db.Racuni.Add(racun);
                        db.SaveChanges();
                    }
                }
            }

            return(RedirectToAction("Index"));
        }
        static void Main(string[] args)
        {
            Racun novi;

            //Logika za unos računa
            while (true)
            {
                while (true)
                {
                    //Dohvat Racuna
                    var stari = new Racun();

                    Console.WriteLine("Zelite li dohvatiti racun [n]");
                    string stavkaDN = Console.ReadLine();
                    if (stavkaDN.ToLower() == "n")
                    {
                        break;
                    }
                    Console.WriteLine("Upisite broj racuna koji zelite dohvatit");
                    int        brojRacuna = int.Parse(Console.ReadLine());
                    RacuniRepo repo2      = new RacuniRepo();
                    stari = repo2.Izvuci(brojRacuna);
                    if (stari == null)
                    {
                        Console.WriteLine("Racun ne postoji!");
                    }
                    else
                    {
                        Ispis(stari);
                    }
                }



                //Reset račun objekta
                novi = new Racun();
                Console.WriteLine("Naziv kupca:");
                novi.NazivKupca = Console.ReadLine();
                Console.WriteLine("Djelatnik:");
                novi.Djelatnik = Console.ReadLine();
                //Console.WriteLine("Datum:");
                novi.Datum = DateTime.Now;
                Console.WriteLine("Broj računa:");
                novi.BrojRacuna = Console.ReadLine();
                //TODO:Stavke
                while (true)
                {
                    Stavka st = new Stavka();
                    Console.WriteLine("Naziv proizvoda:");
                    st.NazivProizvoda = Console.ReadLine();
                    Console.WriteLine("Količina:");
                    st.Kolicina = decimal.Parse(Console.ReadLine());
                    Console.WriteLine("Cijena:");
                    st.Cijena = decimal.Parse(Console.ReadLine());

                    novi.DodajStavku(st);

                    Console.WriteLine("Želite li unositi još stavaka? [n]");
                    string stavkaDN = Console.ReadLine();
                    if (stavkaDN.ToLower() == "n")
                    {
                        break;
                    }
                }

                //Spremanje računa
                RacuniRepo repo = new RacuniRepo();
                repo.Spremi(novi);

                Console.WriteLine("Želite li ispisati račun? [d]");
                if (Console.ReadLine().ToLower() == "d")
                {
                    Ispis(novi);
                }

                Console.WriteLine("Želite li unositi još računa? [n] ");
                string racuniDN = Console.ReadLine();
                if (racuniDN.ToLower() == "n")
                {
                    break;
                }
            }


            Console.WriteLine("Doviđenja");
            Console.ReadKey();
        }
        public async Task <Racun> DajRacun(int?id)
        {
            Racun racun = await _context.Racun.Include("Klijent").Where(m => m.Id == id).FirstAsync();

            return(racun);
        }
 public override void SacuvajRacun(Racun racun)
 {
     fLocalDataContext.Racuni.Add(racun);
     fLocalDataContext.SaveChanges();
 }
 public async Task OtvoriRacun(Racun racun)
 {
     _context.Add(racun);
     await _context.SaveChangesAsync();
 }
Exemple #22
0
        public async Task <ModelRezultatKreiranjaRacuna> OduzmiSredstva(long id, decimal sumaNovca)
        {
            // Provera da li racun postoji
            var postojeciRacun = await _racuniRepozitorijum.DajPoIdRacuna(id);

            if (postojeciRacun == null)
            {
                return(new ModelRezultatKreiranjaRacuna
                {
                    Uspeh = false,
                    Greska = Greske.RACUN_NEPOSTOJECI_RACUN
                });
            }

            // Provera da li racun ima dovoljno sredstava za placanje
            if (postojeciRacun.Stanje < sumaNovca)
            {
                return(new ModelRezultatKreiranjaRacuna
                {
                    Uspeh = false,
                    Greska = Greske.RACUN_NEDOVOLJNO_SREDSTAVA
                });
            }

            // Skidanje Sredstava
            Racun racunZaIzmenu = new Racun
            {
                IdRacuna    = postojeciRacun.IdRacuna,
                IdKorisnika = postojeciRacun.IdKorisnika,
                IdValute    = postojeciRacun.IdValute,
                Stanje      = postojeciRacun.Stanje - sumaNovca
            };

            var rezultatIzmene = _racuniRepozitorijum.Izmeni(racunZaIzmenu);

            if (rezultatIzmene == null)
            {
                return(new ModelRezultatKreiranjaRacuna
                {
                    Uspeh = false,
                    Greska = Greske.RACUN_GRESKA_PRI_SKIDANJU_SREDSTAVA
                });
            }

            _racuniRepozitorijum.Sacuvaj();

            // Odgovaranje novim stanjem racuna
            RacunDomenskiModel rezultatIzmeneModel = new RacunDomenskiModel
            {
                IdRacuna    = rezultatIzmene.IdRacuna,
                IdKorisnika = rezultatIzmene.IdKorisnika,
                IdValute    = rezultatIzmene.IdValute,
                Stanje      = rezultatIzmene.Stanje
            };

            ModelRezultatKreiranjaRacuna rezultat = new ModelRezultatKreiranjaRacuna
            {
                Greska = null,
                Uspeh  = true,
                Racun  = rezultatIzmeneModel
            };

            return(rezultat);
        }
 public void DodajRacun(Racun racun)
 {
     racunRepository.Add(racun);
 }
Exemple #24
0
 public async Task <IActionResult> DodajRacun([FromBody] Racun r)
 {
     return(new JsonResult(await racunService.DodajRacun(r)));
 }
Exemple #25
0
        public IzvodiViewModel(string imeFirme)
        {
            Racun racun = DAO.GetRacunImeFirme(imeFirme);

            izvodi = DAO.GetIzvod(racun.BrojRacun);
        }
Exemple #26
0
        // Zavrsava narudzbu, tako sto dodaje svaku narudzbu na stavku racuna, ali trenutno ne radi
        // razmisliti o drugom pristupu ovom problemu
        public ActionResult ZakljuciNarudzbu(int?stolId, int?korisnikId)
        {
            if (UposlenikStolNarudzba.UposlenikKorpaViewModels != null)
            {
                List <UposlenikKorpaViewModel> korpa = UposlenikStolNarudzba.UposlenikKorpaViewModels.Where(x => x.Korpa.StolID == stolId.Value && x.Korpa.KorisnikId == korisnikId.Value).ToList();

                double ukupnaCijena = 0;
                for (int i = 0; i < korpa.Count; i++)
                {
                    ukupnaCijena += korpa[i].Korpa.UkupnaCijenaProizvoda;
                }

                Narudzba narudzbe = new Narudzba();

                Racun racun = new Racun();

                racun.DatumRacuna   = DateTime.Now.Date;
                racun.VrijemeRacuna = DateTime.Now;
                racun.Popust        = 0;
                racun.StolId        = stolId.Value;
                racun.Ukupno        = float.Parse(ukupnaCijena.ToString());


                narudzbe.KorisnikId      = korpa[1].Korpa.KorisnikId;
                narudzbe.IsDeleted       = false;
                narudzbe.OnlineNarudzba  = true;
                narudzbe.Prihvacena      = false;
                narudzbe.VrijemeNarudzbe = korpa[1].Korpa.VrijemeNarudzbe;
                narudzbe.DatumNarudzbe   = korpa[1].Korpa.DatumNarudzbe;
                narudzbe.RacunId         = racun.Id;

                ctx.Racuni.Add(racun);
                ctx.SaveChanges();

                narudzbe.RacunId = racun.Id;


                ctx.Narudzbe.Add(narudzbe);

                for (int i = 0; i < korpa.Count; i++)
                {
                    StavkaNarudzbe stavke = new StavkaNarudzbe();

                    stavke.IsDeleted  = false;
                    stavke.Kolicina   = korpa[i].Korpa.Kolicina;
                    stavke.ProizvodId = korpa[i].Korpa.ProizvodId;
                    stavke.NarudzbaId = narudzbe.Id;


                    ctx.StavkeNarudzbe.Add(stavke);
                    ctx.SaveChanges();
                }

                foreach (var x in korpa)
                {
                    UposlenikStolNarudzba.UposlenikKorpaViewModels.Remove(x);
                }
                ViewData["uspjesnaKupovina"] = "Uspjesno ste zavrsili kupovinu. Hvala Vam!";

                if (UposleniciZauzetiStolViewModel.stolId != null)
                {
                    while (UposleniciZauzetiStolViewModel.stolId.Contains("stolID-" + stolId.Value))
                    {
                        UposleniciZauzetiStolViewModel.stolId.Remove("stolID-" + stolId.Value);
                    }
                }
            }

            return(View("KorpaZavrsi"));
        }
Exemple #27
0
 public virtual void SacuvajRacun(Racun racun)
 {
     DataContext.Racuni.Add(racun);
     DataContext.SaveChanges();
 }
        public IActionResult Obrisi(int UplataID)
        {
            Uplata uplata = db.Uplate.Where(x => x.UplataID == UplataID).FirstOrDefault();

            int kupacID = uplata.KupacID;

            // regulisanje prema racunima

            Kupac kupac = db.Kupci.Where(x => x.KupacID == kupacID).FirstOrDefault();

            double IznosUplate = Math.Round(uplata.Iznos, 4);

            double?IznosKredita = kupac.Kredit;

            if (IznosUplate >= IznosKredita)
            {
                kupac.Kredit = 0;
                IznosUplate -= (double)IznosKredita;
                db.Kupci.Update(kupac);
                db.SaveChanges();
            }
            else
            {
                kupac.Kredit -= IznosUplate;
                IznosUplate   = 0;
                db.Kupci.Update(kupac);
                db.SaveChanges();
            }

            if (IznosUplate > 0)
            {
                Racun polovican = db.Racuni.Where(x => x.KupacID == kupacID && x.DosadPlaceno > 0 && x.Placeno == false).FirstOrDefault();

                if (polovican != null)
                {
                    double PolovicanDosadPlaceno = Math.Round(polovican.DosadPlaceno, 4);

                    if (IznosUplate >= PolovicanDosadPlaceno)
                    {
                        polovican.DosadPlaceno = 0;
                        IznosUplate           -= PolovicanDosadPlaceno;
                    }
                    else
                    {
                        polovican.DosadPlaceno -= IznosUplate;
                        IznosUplate             = 0;
                    }

                    db.Racuni.Update(polovican);

                    db.SaveChanges();
                }
            }
            if (IznosUplate > 0)
            {
                List <Racun> racuni = db.Racuni.Where(x => x.Placeno == true && x.KupacID == kupacID).OrderByDescending(p => p.Datum).ToList();

                foreach (var x in racuni)
                {
                    double UkupnoZaNaplatu = Math.Round(x.UkupnoBezPDV + (x.UkupnoBezPDV * x.PDV), 4);

                    if (IznosUplate > 0)
                    {
                        if (IznosUplate >= UkupnoZaNaplatu)
                        {
                            x.DosadPlaceno = 0;
                            x.Placeno      = false;
                            IznosUplate   -= UkupnoZaNaplatu;
                            db.Racuni.Update(x);
                            db.SaveChanges();
                        }
                        else
                        {
                            x.Placeno       = false;
                            x.DosadPlaceno -= IznosUplate;
                            IznosUplate     = 0;
                            db.Racuni.Update(x);
                            db.SaveChanges();
                        }

                        if (IznosUplate <= 0)
                        {
                            break;
                        }
                    }
                }
            }


            db.Uplate.Remove(uplata);
            db.SaveChanges();

            return(RedirectToAction(nameof(Index)));
        }
Exemple #29
0
        //ObservableCollection<DodatnaUsluga> naruceneUsluge = new ObservableCollection<DodatnaUsluga>();
        //ObservableCollection<Tuple<Namestaj, int>> naruceniNamestaj = new ObservableCollection<Tuple<Namestaj, int>>();
        public RacunIzmenaProzor(Racun racun, Stanje stanje = Stanje.DODAVANJE, Pristup pristup = Pristup.ADMINISTRATOR)
        {
            InitializeComponent();

            this.racun  = racun;
            this.stanje = stanje;

            cbProdavac.ItemsSource = Aplikacija.filtriraniKorisnici();
            cbProdavac.DataContext = racun;

            tbUkupna.DataContext       = racun;
            dpDatumProdaje.DataContext = racun;

            tbKupac.DataContext = racun;

            viewNamestaj = CollectionViewSource.GetDefaultView(Aplikacija.filtriranNamestaj());
            dgPostojaciNamestaj.ItemsSource = viewNamestaj;
            dgPostojaciNamestaj.IsSynchronizedWithCurrentItem = true;
            dgPostojaciNamestaj.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);

            viewDodatne = CollectionViewSource.GetDefaultView(Aplikacija.Instance.Usluge);
            dgPostojaceDodatne.ItemsSource = viewDodatne;
            dgPostojaceDodatne.IsSynchronizedWithCurrentItem = true;
            dgPostojaceDodatne.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);

            viewNamestajDodati             = CollectionViewSource.GetDefaultView(dodateStavke);
            dgNaruceniNamestaj.ItemsSource = viewNamestajDodati;
            dgNaruceniNamestaj.IsSynchronizedWithCurrentItem = true;
            dgNaruceniNamestaj.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);


            viewDodatneDodate             = CollectionViewSource.GetDefaultView(dodateUsluge);
            dgNaruceneDodatne.ItemsSource = viewDodatneDodate;
            dgNaruceneDodatne.IsSynchronizedWithCurrentItem = true;
            dgNaruceneDodatne.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);

            if (stanje == Stanje.IZMENA)
            {
                viewNamestajDodati             = CollectionViewSource.GetDefaultView(racun.Stavke);
                dgNaruceniNamestaj.ItemsSource = viewNamestajDodati;
                dgNaruceniNamestaj.IsSynchronizedWithCurrentItem = true;
                dgNaruceniNamestaj.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);


                viewDodatneDodate             = CollectionViewSource.GetDefaultView(racun.Usluge);
                dgNaruceneDodatne.ItemsSource = viewDodatneDodate;
                dgNaruceneDodatne.IsSynchronizedWithCurrentItem = true;
                dgNaruceneDodatne.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);


                tbUkupna.DataContext         = racun;
                cbProdavac.IsEnabled         = false;
                tbKupac.IsEnabled            = false;
                dpDatumProdaje.IsEnabled     = false;
                cbKolicina.Visibility        = Visibility.Hidden;
                lbKolicina.Visibility        = Visibility.Hidden;
                btnDodajNamestaj.Visibility  = Visibility.Hidden;
                btnIzbaciNamestaj.Visibility = Visibility.Hidden;
                btnDodajUslugu.Visibility    = Visibility.Hidden;
                btnIzbaciUslugu.Visibility   = Visibility.Hidden;
                btnSacuvaj.Visibility        = Visibility.Hidden;
                dgPostojaciNamestaj.Margin   = new Thickness(300, 72, 0, 0);
                dgNaruceniNamestaj.Margin    = new Thickness(-160, 72, 0, 0);
                dgPostojaceDodatne.Margin    = new Thickness(290, 47, 0, 0);
                dgNaruceneDodatne.Margin     = new Thickness(-150, 47, 0, 0);
            }


            for (int i = 1; i < 11; i++)
            {
                cbKolicina.Items.Add(i);
            }
            cbKolicina.SelectedItem = 1;


            if (pristup == Pristup.PRODAVAC)
            {
                cbProdavac.Visibility     = Visibility.Hidden;
                dpDatumProdaje.Visibility = Visibility.Hidden;
            }
        }
 public FaktureViewModel(string imeFirme)
 {
     this.imeFirme = imeFirme;
     UcitajFakture();
     racun = DAO.GetRacunImeFirme(imeFirme);
 }
Exemple #31
0
        public void NaplatiViseOdPostojeceg()
        {
            Racun r1 = new Racun("4024007195736334", 0);

            r1.naplati(50);
        }