public async Task <IActionResult> Create([Bind("Id,SaRacuna,NaRacun,Vrijeme,Iznos,VrstaTransakcije,NacinTransakcije")] Transakcija transakcija)
        {
            korisnik = await LoginUtils.Authenticate(Request, Context, this);

            if (korisnik == null)
            {
                return(RedirectToAction("Logout", "Login", new { area = "" }));
            }

            _transakcije.Pristupi(korisnik);
            _racuni.Pristupi(korisnik);

            transakcija.SaRacuna = await _racuni.DajRacun(transakcija.SaRacuna.Id);

            if (transakcija.NacinTransakcije == NacinTransakcije.Interna)
            {
                transakcija.NaRacun = await _racuni.DajRacun(transakcija.NaRacun.Id);
            }
            else
            {
                transakcija.NaRacun = await _racuni.DajRacun(4);
            }

            if (transakcija.SaRacuna.StanjeRacuna < transakcija.Iznos)
            {
                return(RedirectToAction(nameof(Create), new { area = "nemaSredstava" }));
            }

            await _transakcije.Uplati(transakcija);

            return(RedirectToAction("Index", "KlijentHome", new { area = "" }));
        }
示例#2
0
        public void BrzaKupovina(NamirnicaPodruznica namirnicaPodruznica, int brojNamirnica, Kupac kupac)
        {
            Transakcija t = new Transakcija
            {
                DatumIniciranjaTransakcije = DateTime.Now,
                DostavaUspjesna            = false,
                Kupac                       = kupac,
                KupacOstavioDojam           = false,
                NarudzbaPrihvacenaOdRadnika = false,
                RadnikOstavioDojam          = false,
                TipTransakcije              = _context.TipTransakcije.Find(1),
                PodruznicaId                = namirnicaPodruznica.PodruznicaId
            };

            _context.Transakcija.Add(t);
            _context.KupljeneNamirnice.Add(new KupljeneNamirnice
            {
                Kolicina    = brojNamirnica,
                NamirnicaId = namirnicaPodruznica.NamirnicaId,
                Transakcija = t,
                Cijena      = Math.Round(namirnicaPodruznica.CijenaSaPopustom, 2)
            });
            namirnicaPodruznica.KolicinaNaStanju -= brojNamirnica;
            _context.SaveChanges();

            ObavjestiRadnike(namirnicaPodruznica.PodruznicaId);
        }
        public async Task<IActionResult> Edit(int id, [Bind("TransakcijaId,Tip,Detalji,Iznos,Vrijeme,KorisnikId")] Transakcija transakcija)
        {
            if (id != transakcija.TransakcijaId)
            {
                return NotFound();
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(transakcija);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TransakcijaExists(transakcija.TransakcijaId))
                    {
                        return NotFound();
                    }
                    else
                    {
                        throw;
                    }
                }
                return RedirectToAction(nameof(Index));
            }
            return View(transakcija);
        }
        public async Task <IActionResult> Edit(int id, [Bind("TransakcijaId,KorisnikId,ukupnoZaUplatu,NacinPlacanjaId")] Transakcija transakcija)
        {
            if (id != transakcija.TransakcijaId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(transakcija);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TransakcijaExists(transakcija.TransakcijaId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["KorisnikId"]      = new SelectList(_context.Korisnik, "KorisnikId", "KorisnikId", transakcija.KorisnikId);
            ViewData["NacinPlacanjaId"] = new SelectList(_context.NacinPlacanja, "NacinPlacanjaId", "NacinPlacanjaId", transakcija.NacinPlacanjaId);
            return(View(transakcija));
        }
示例#5
0
        void BtnUplati_Click(object sender, EventArgs e)
        {
            int dodaj;

            if (int.TryParse(TbIznos.Text, out dodaj))
            {
                int trenutnoStanje = int.Parse(trenutniNalog.stanje);

                trenutnoStanje += dodaj;

                trenutniNalog.stanje = trenutnoStanje.ToString();

                var db = Database.Database.Instance.GetDatabase("banka");

                var collection = db.GetCollection <Nalog>("racuni");

                var collectionTransakcije = db.GetCollection <Transakcija>("transakcije");

                Transakcija transakcija = new Transakcija {
                    primalac = trenutniNalog.brojRacuna, posaljilac = "uplata", iznos = dodaj.ToString(), valuta = "RSD"
                };

                collectionTransakcije.InsertOne(transakcija);

                var filter = Builders <Nalog> .Filter.Eq(s => s._id, trenutniNalog._id);

                collection.ReplaceOne(filter, trenutniNalog);
            }
            else
            {
                MessageBox.Show("Nepravilan iznos!");
                return;
            }
        }
示例#6
0
 public TransakcijaFormular(Aktivnost ak, Transakcija tr, bool edit)
 {
     InitializeComponent();
     transakcija = new Transakcija();
     aktivnost   = ak;
     this.edit   = edit;
     if (edit)
     {
         transakcija  = tr;
         opisTBX.Text = tr.Opis;
         if (tr.PrihodRashod == true)
         {
             prihodRBT.Checked = true;
             rashodRBT.Checked = false;
         }
         else
         {
             prihodRBT.Checked = false;
             rashodRBT.Checked = true;
         }
         iznosTBX.Text             = Convert.ToDecimal(tr.Iznos).ToString();
         datumTransakcijeDTP.Value = tr.DatumVrijeme.Value;
     }
     else
     {
     }
 }
        public async Task <IHttpActionResult> PutTransakcija(int id, Transakcija transakcija)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != transakcija.ID)
            {
                return(BadRequest());
            }

            db.Entry(transakcija).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TransakcijaExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#8
0
        protected override bool Izvrsi(IDomenskiObjekat objekat, string kriterijum, string sifraJakog)
        {
            Transakcija transakcija = objekat as Transakcija;

            Rezultat = Broker.DajInstancu().VratiSveAgregiranebjekteSaKriterijumom(transakcija, kriterijum, sifraJakog);
            return(true);
        }
示例#9
0
        public IActionResult UspjesnaKupovina(TransakcijaIndexVM ti)
        {
            var      user     = _signInManager.UserManager.GetUserAsync(User);
            Korisnik korisnik = ctx.Korisnik.Where(x => x.UserId.Equals(user.Result.Id)).FirstOrDefault();

            if (ModelState.IsValid)
            {
                var narudzba = ctx.Narudzba.Where(x => x.KorisnikId == korisnik.Id && x.Aktivna == true).Include(x => x.Korisnik).FirstOrDefault();

                TransakcijaUspjesnoVM tu = new TransakcijaUspjesnoVM
                {
                    ImePrezime = narudzba.Korisnik.Ime + " " + narudzba.Korisnik.Prezime
                };

                narudzba.Zavrsena = true;
                narudzba.Aktivna  = false;

                Transakcija t = new Transakcija
                {
                    NacinPlacanja = "Kartica",
                    Datum         = DateTime.Now.ToString("dd/MM/yyyy"),
                    NarudzbaId    = narudzba.Id,
                    Iznos         = ti.Ukupno
                };

                ctx.Transakcija.Add(t);
                ctx.SaveChanges();

                return(View(tu));
            }
            else
            {
                return(RedirectToAction("Index", ti.Ukupno));
            }
        }
        protected override bool Izvrsi(IDomenskiObjekat objekat, string kriterijum = "", string sifraJakog = "")
        {
            Transakcija transakcija = (Transakcija)objekat;
            String      uslov1      = " '" + kriterijum + "', '" + transakcija.Posiljalac.ID + "', '" + sifraJakog + "', '" + transakcija.Primalac.ID + "' ";
            String      uslov2      = " '" + sifraJakog + "', '" + transakcija.Primalac.ID + "', '" + kriterijum + "', '" + transakcija.Posiljalac.ID + "' ";

            return(Broker.DajInstancu().PamtiSlog(objekat, uslov1) && Broker.DajInstancu().PamtiSlog(objekat, uslov2));
        }
 public Task Uplati(Transakcija transakcija)
 {
     if (nivoPristupa != 3)
     {
         throw new AuthenticationException();
     }
     return(transakcije.Uplati(transakcija));
 }
示例#12
0
        public ActionResult DeleteConfirmed(int id)
        {
            Transakcija transakcija = db.Transakcija.Find(id);

            db.Transakcija.Remove(transakcija);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 /// <summary>
 /// Metoda koja u odabranu transakciju zapisuje ID druge transakcije, za potebe internog prijenosa. (veza 1-1)
 /// Prima 2 transakcije, prva je transakcija u koju se zapisuje, druga je ona koju zapisujemo.
 /// </summary>
 /// <param name="idTransakcija1"></param>
 /// <param name="idTransakcija2"></param>
 private void SpojiTransakcije(Transakcija transakcijaPrima, Transakcija transakcijaDaje)
 {
     using (WalletEntities db = new WalletEntities())
     {
         db.Transakcija.Attach(transakcijaPrima);
         transakcijaPrima.id_vlastite_transakcije = transakcijaDaje.id_transakcije;
         db.SaveChanges();
     }
 }
示例#14
0
 public async Task<IActionResult> Create([Bind("TransakcijaId,Tip,Detalji,Iznos,Vrijeme,KorisnikId")] Transakcija transakcija)
 {
     if (ModelState.IsValid)
     {
         _context.Add(transakcija);
         await _context.SaveChangesAsync();
         return RedirectToAction(nameof(Index));
     }
     return View(transakcija);
 }
示例#15
0
 public ActionResult Edit([Bind(Include = "ID,posiljalacId,primalacId,vrijeme,iznos")] Transakcija transakcija)
 {
     if (ModelState.IsValid)
     {
         db.Entry(transakcija).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(transakcija));
 }
示例#16
0
        public ActionResult Create([Bind(Include = "ID,posiljalacId,primalacId,vrijeme,iznos")] Transakcija transakcija)
        {
            if (ModelState.IsValid)
            {
                db.Transakcija.Add(transakcija);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(transakcija));
        }
        public async Task <IHttpActionResult> GetTransakcija(int id)
        {
            Transakcija transakcija = await db.Transakcija.FindAsync(id);

            if (transakcija == null)
            {
                return(NotFound());
            }

            return(Ok(transakcija));
        }
示例#18
0
 public DetaljiTransakcije(Transakcija tr)
 {
     InitializeComponent();
     if (tr != null)
     {
         opisTXT.Text  = tr.Opis;
         datumLBL.Text = "Datum transakcije: " + tr.DatumVrijeme;
         string vrsta = (tr.PrihodRashod == true) ? "Prihod" : "Rashod";
         vrstaLBL.Text = "Vrsta transakcije: " + vrsta;
         iznosLBL.Text = "Iznos: " + tr.Iznos;
     }
 }
 public ActionResult Edit([Bind(Include = "TransakcijaID,DatumTransakcije,KorisnikID,KnjigaID")] Transakcija transakcija)
 {
     if (ModelState.IsValid)
     {
         db.Entry(transakcija).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.KnjigaID   = new SelectList(db.Knjigas, "KnjigaID", "Naziv", transakcija.KnjigaID);
     ViewBag.KorisnikID = new SelectList(db.Korisniks, "KorisnikID", "Ime", transakcija.KorisnikID);
     return(View(transakcija));
 }
        public async Task <IHttpActionResult> PostTransakcija(Transakcija transakcija)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Transakcija.Add(transakcija);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = transakcija.ID }, transakcija));
        }
        public async Task <IActionResult> Create([Bind("TransakcijaId,KorisnikId,ukupnoZaUplatu,NacinPlacanjaId")] Transakcija transakcija)
        {
            if (ModelState.IsValid)
            {
                _context.Add(transakcija);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["KorisnikId"]      = new SelectList(_context.Korisnik, "KorisnikId", "KorisnikId", transakcija.KorisnikId);
            ViewData["NacinPlacanjaId"] = new SelectList(_context.NacinPlacanja, "NacinPlacanjaId", "NacinPlacanjaId", transakcija.NacinPlacanjaId);
            return(View(transakcija));
        }
示例#22
0
        // GET: Transakcijas/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Transakcija transakcija = db.Transakcija.Find(id);

            if (transakcija == null)
            {
                return(HttpNotFound());
            }
            return(View(transakcija));
        }
        public async Task <IHttpActionResult> DeleteTransakcija(int id)
        {
            Transakcija transakcija = await db.Transakcija.FindAsync(id);

            if (transakcija == null)
            {
                return(NotFound());
            }

            db.Transakcija.Remove(transakcija);
            await db.SaveChangesAsync();

            return(Ok(transakcija));
        }
 public async Task Uplati(Transakcija transakcija)
 {
     if (transakcija.SaRacuna.StanjeRacuna < transakcija.Iznos)
     {
         return;
     }
     transakcija.SaRacuna.StanjeRacuna = transakcija.SaRacuna.StanjeRacuna - transakcija.Iznos;
     if (transakcija.NaRacun != null)
     {
         transakcija.NaRacun.StanjeRacuna = transakcija.NaRacun.StanjeRacuna + transakcija.Iznos;
     }
     _context.Add(transakcija);
     await _context.SaveChangesAsync();
 }
 private void detaljiTransakcijeBTN_Click(object sender, EventArgs e)
 {
     if (transakcijeLVW.SelectedItems.Count > 0)
     {
         if (MySqlTransakcijaDao.Instance.Read(new Transakcija {
             TransakcijaID = Convert.ToInt32(transakcijeLVW.SelectedItems[0].Text.Split('.')[0])
         }).Count > 0)
         {
             Transakcija tr = MySqlTransakcijaDao.Instance.Read(new Transakcija {
                 TransakcijaID = Convert.ToInt32(transakcijeLVW.SelectedItems[0].Text.Split('.')[0])
             })[0];
             new DetaljiTransakcije(tr).ShowDialog();
         }
     }
 }
        // GET: Transakcija/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Transakcija transakcija = db.Transakcijas.Find(id);

            if (transakcija == null)
            {
                return(HttpNotFound());
            }
            ViewBag.KnjigaID   = new SelectList(db.Knjigas, "KnjigaID", "Naziv", transakcija.KnjigaID);
            ViewBag.KorisnikID = new SelectList(db.Korisniks, "KorisnikID", "Ime", transakcija.KorisnikID);
            return(View(transakcija));
        }
示例#27
0
 private void izmijeniTransakcijuBTN_Click(object sender, EventArgs e)
 {
     if (transakcijeLVW.SelectedItems.Count > 0)
     {
         if (MySqlTransakcijaDao.Instance.Read(new Transakcija {
             TransakcijaID = Convert.ToInt32(transakcijeLVW.SelectedItems[0].Text.Split('.')[0])
         }).Count > 0)
         {
             Transakcija tr = MySqlTransakcijaDao.Instance.Read(new Transakcija {
                 TransakcijaID = Convert.ToInt32(transakcijeLVW.SelectedItems[0].Text.Split('.')[0])
             })[0];
             new TransakcijaFormular(aktivnost, tr, true).ShowDialog();
             projektiForma.prikaziDetaljeByTipAndId("a", aktivnost.AktivnostID);
         }
     }
 }
示例#28
0
 private void obrisiTransakcijuBTN_Click(object sender, EventArgs e)
 {
     if (transakcijeLVW.SelectedItems.Count > 0)
     {
         if (MySqlTransakcijaDao.Instance.Read(new Transakcija {
             TransakcijaID = Convert.ToInt32(transakcijeLVW.SelectedItems[0].Text.Split('.')[0])
         }).Count > 0)
         {
             Transakcija tr = MySqlTransakcijaDao.Instance.Read(new Transakcija {
                 TransakcijaID = Convert.ToInt32(transakcijeLVW.SelectedItems[0].Text.Split('.')[0])
             })[0];
             MySqlTransakcijaDao.Instance.Delete(Convert.ToInt32(tr.TransakcijaID));
             projektiForma.prikaziDetaljeByTipAndId("a", aktivnost.AktivnostID);
         }
     }
 }
        //Delete reservation
        public IActionResult IzbrisiRezervaciju(int transakcijaId)
        {
            Transakcija transkacijaZaObrisati = _db.Transakcije.FirstOrDefault(x => x.Id == transakcijaId);

            transkacijaZaObrisati.otkazano = !transkacijaZaObrisati.otkazano;

            List <TransakcijaStavke> stavkeTransakcije = _db.TransakcijaStavke.Where(x => x.TransakcijaId == transkacijaZaObrisati.Id).ToList();

            foreach (var item in stavkeTransakcije)
            {
                _db.TransakcijaStavke.Remove(item);
            }
            _db.Transakcije.Remove(transkacijaZaObrisati);
            _db.SaveChanges();

            return(RedirectToAction("VratiRezervacijeTrenutnogKorisnika"));
        }
        /// <summary>
        /// Klikom na spremi vrše se i prihod i rashod, te ih se povezuje naknadno.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSpremiTransakcijuInterni_Click(object sender, EventArgs e)
        {
            Transakcija noviRashod = IzvrsiRashod();
            Transakcija noviPrihod = IzvrsiPrihod();

            SpojiTransakcije(noviRashod, noviPrihod);
            SpojiTransakcije(noviPrihod, noviRashod);

            MessageBox.Show("Transakcija uspješno unesena!");

            // Prolazi se kroz sve kontrole glavne forme, i izvršava se click na gumb UnosTransakcije.
            foreach (Control kontrole in this.MdiParent.Controls)
            {
                if (kontrole.GetType() == typeof(Button) && kontrole.Name == "btnUnosTransakcije")
                {
                    (kontrole as Button).PerformClick();
                }
            }
        }