示例#1
0
 private async void button_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         if (textBox1.Text == "")
         {
             throw (new Exception());
         }
         if (pocetak.Date < DateTime.Today)
         {
             throw (new Exception());
         }
         if (kraj.Date < DateTime.Today)
         {
             throw (new Exception());
         }
         string  podaci = comboBox.SelectedItem.ToString();
         Zahtjev z      = new Zahtjev(podaci, textBox1.Text, pocetak.Date.DateTime, kraj.Date.DateTime, false);
         DataSource.DataSourceLikovi.Upravnik.Zahtjevi.Add(z);
         MessageDialog dialog = new MessageDialog("Zahtjev poslan", "Obavještenje");
         await dialog.ShowAsync();
     }
     catch (Exception)
     {
         MessageDialog dialog = new MessageDialog("Pogrešan unos", "Greška");
         await dialog.ShowAsync();
     }
 }
示例#2
0
        /// <summary>
        /// Kreira novi prekršaj i šalje nalog pauku
        /// </summary>
        /// <param name="grad">grad obrade</param>
        /// <param name="zahtjev">id zahtjeva koji se obrađuje</param>
        /// <param name="idOpisa">id opisa prekršaja</param>
        /// <param name="registracija">registracija</param>
        /// <param name="adresa">adresa prekršaja</param>
        /// <param name="drzava">država vozila prekršitelja</param>
        /// <param name="obavijest">true obavijest/false upozorenje</param>
        /// <param name="nalogPauku">true ide nalog pauku false ne ide</param>
        /// <returns>id novog prekršaja</returns>
        public int DodajPrekrsaj(string grad, _PrijavaPauk zahtjev, int idOpisa, string registracija, string adresa, string drzava, bool obavijest, bool nalogPauku)
        {
            try
            {
                decimal kazna = 0;

                try
                {
                    kazna = Zakoni.DohvatiZakonS(grad, idOpisa, false, idAplikacije).Kazna;
                }
                catch (Exception)
                {
                }

                //todo lisice
                int id = Zahtjev.DodajPrekrsaj(grad, zahtjev, idOpisa, kazna, registracija, adresa, drzava, obavijest, nalogPauku, false, 1, idAplikacije);
                try
                {
                    Sustav.SpremiAkciju(grad, zahtjev.IDOdobravatelja.Value, 103, "ID Zahtjeva: " + zahtjev.IDPrijave + ", ID Prekrsaja: " + id + ", Reg.: " + zahtjev.Registracija, 1, idAplikacije);
                }
                catch
                {
                }

                return(id);
            }
            catch (Exception ex)
            {
                Sustav.SpremiGresku(grad, ex, idAplikacije, "DODAJ PREKRSAJ - IZNOS KAZNE");
                return(-1);
            }
        }
示例#3
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            try
            {
                var ponudaPrijevoza = await _context.PonudaPrijevoza.SingleOrDefaultAsync(m => m.Id == id);

                _context.PonudaPrijevoza.Remove(ponudaPrijevoza);
                await _context.SaveChangesAsync();

                //mijenjanje statusa zahtjeva u Otvoreno ako se briše zadnja ponuda
                Zahtjev zahtjev = _context.Zahtjev.Where(z => z.Id == ponudaPrijevoza.IdZahtjev).Include(z => z.IdStatusZahtjevaNavigation).FirstOrDefault();
                var     ponude  = _context.PonudaPrijevoza.Where(p => p.IdZahtjev == zahtjev.Id).ToList();

                if (ponude.Count == 0)
                {
                    StatusZahtjeva status = _context.StatusZahtjeva.Where(s => s.Status == "Otvoreno").FirstOrDefault();
                    zahtjev.IdStatusZahtjevaNavigation = status;
                    _context.Zahtjev.Update(zahtjev);
                    await _context.SaveChangesAsync();
                }

                TempData[Constants.Message]       = $"Ponuda prijevoza uspješno obrisan";
                TempData[Constants.ErrorOccurred] = false;
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception exc)
            {
                TempData[Constants.Message]       = "Pogreška prilikom brisanja ponude prijevoza: " + exc.CompleteExceptionMessage();
                TempData[Constants.ErrorOccurred] = true;
            }
            return(RedirectToAction(nameof(Index)));
        }
示例#4
0
        public async Task <IActionResult> PutZahtjev(int id, Zahtjev zahtjev)
        {
            if (id != zahtjev.ZahtjevId)
            {
                return(BadRequest());
            }

            _context.Entry(zahtjev).State = EntityState.Modified;

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

            return(NoContent());
        }
示例#5
0
        public IHttpActionResult PutZahtjev(int id, Zahtjev zahtjev)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != zahtjev.ZahtjevId)
            {
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ZahtjevExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#6
0
        //snimanje novog zahtjeva
        public IActionResult Snimi(ZahtjevDodajVM input)
        {
            if (!ModelState.IsValid)
            {
                GenerisiZahtjevKategoriju(input);
                return(View("Dodaj", input));
            }

            AutentifikacijaVM korisnik = HttpContext.GetLogiraniKorisnik();

            var noviZahtjev = new Zahtjev()
            {
                Naslov              = input.Naslov,
                Opis                = input.Opis,
                DatumKreiranja      = DateTime.Now,
                KlijentskiRacunId   = korisnik.KlijentskiRacunId,
                ZahtjevKategorijaId = input.ZahtjevKategorijaId,
                ZahtjevStatusId     = 1 //1- OTVOREN ZAHTJEV
            };

            _context.Zahtjevi.Add(noviZahtjev);

            _context.SaveChanges();

            return(RedirectToAction("Index", "Podrska", new { @area = "" }));
        }
示例#7
0
        private async void spasiPromjene(object parametar)
        {
            if (Obavljeno)
            {
                using (var db = new RRentingDbContext())
                {
                    brojSobe       = Convert.ToInt32(IzabranaSoba);
                    IzvrsenZahtjev = db.Zahtjevi.Where(x => x.obavljenZahtjev == false && x.brojSobe == brojSobe && x.nazivZahtjeva == IzabraniZahtjevSobe).FirstOrDefault();

                    // prvo uklanjam zahtjev iz baze
                    db.Zahtjevi.Remove(IzvrsenZahtjev);
                    db.SaveChanges();

                    //zatim vracam taj zahtjev u bazu uz oznaku da je izvrsen
                    IzvrsenZahtjev.obavljenZahtjev = true;
                    db.Zahtjevi.Add(IzvrsenZahtjev);
                    db.SaveChanges();

                    var dialog = new MessageDialog("Obaviili ste zahtjev: " + izabraniZahtjevSobe + " za sobu broj: " + IzabranaSoba + ".", "Obavijest");
                    await dialog.ShowAsync();

                    MyItemsSource.Clear();
                    MyItemsSource.CollectionChanged += MyItemsSource_CollectionChanged;
                }
            }
            else
            {
                var dialog = new MessageDialog("Niste izvršili nikakve izmjene!", "Obavijest");
                await dialog.ShowAsync();
            }
        }
        public async Task <IActionResult> CreateRequest(int IdUsluge, int[] idVozila, int[] idVozaca, ClaimsPrincipal user, DateTime?DatumOd, DateTime?DatumDo)
        {
            string username = User.FindFirstValue(ClaimTypes.Name);
            var    klijent  = await UserMgr.FindByNameAsync(username);

            var idz = await _ctx.Zahtjev.OrderBy(d => d.IdZahtjeva).LastAsync();

            Zahtjev zahtjev = new Zahtjev();

            zahtjev.IdZahtjeva = idz.IdZahtjeva + 1;
            zahtjev.IdUsluge   = IdUsluge;
            zahtjev.IdKlijenta = klijent.Id;
            zahtjev.DatumOd    = DatumOd;
            zahtjev.DatumDo    = DatumDo;
            zahtjev.BrojVozila = idVozila.Length;
            DodajVozila(zahtjev.IdZahtjeva, idVozila);
            if (idVozaca.Count() > 0)
            {
                DodajVozace(zahtjev.IdZahtjeva, idVozaca);
            }
            try
            {
                _ctx.Add(zahtjev);
                _ctx.SaveChanges();
                TempData[Constants.Message]       = $"zahtjev uspjesno dodano.*";
                TempData[Constants.ErrorOccurred] = false;
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                ModelState.AddModelError(string.Empty, e.Message);
                PrepareDropDownLists();
                return(RedirectToAction(nameof(ShowForm), new { IdUsluge, idVozila }));
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,KorisnikId,Tutor,MedicinskaPomoc,Vakcinisan,Dostava,ZnakovniJezik,Opis,CreatedByUserId,CreatedDateTime,Zavrseno")] Zahtjev zahtjev)
        {
            if (id != zahtjev.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(zahtjev);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ZahtjevExists(zahtjev.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(zahtjev));
        }
示例#10
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,VrijemePocetka,VrijemeZavrsetka,CijenaNeizvrsenja,Sirina,Visina,Duiljina,Masa,Opis,IdStatusZahtjeva,IdNarucitelj")] Zahtjev zahtjev)
        {
            if (id != zahtjev.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(zahtjev);
                    await _context.SaveChangesAsync();

                    TempData[Constants.Message]       = "Ažuriranje uspješno obavljeno";
                    TempData[Constants.ErrorOccurred] = false;
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ZahtjevExists(zahtjev.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdNarucitelj"]     = new SelectList(_context.Narucitelj, "IdKorisnik", "IdKorisnik", zahtjev.IdNarucitelj);
            ViewData["IdStatusZahtjeva"] = new SelectList(_context.StatusZahtjeva, "Id", "Status", zahtjev.IdStatusZahtjeva);
            return(View(zahtjev));
        }
示例#11
0
        public async Task <ZahtjevDto> PostZahtjev(PostZahtjevDto postZahtjev)
        {
            var userName = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            var id       = _context.Korisnici.Where(k => k.UserName == userName)
                           .FirstOrDefault().Id;

            var prodajemValutu = await _context.Sredstva
                                 .Include(v => v.Valuta)
                                 .Where(k => k.KorisnikId == id && k.Valuta.Naziv == postZahtjev.ProdajemValuta)
                                 .FirstOrDefaultAsync();

            if (prodajemValutu == null)
            {
                throw new Exception("Ne posjedujete valutu koju želite prodati.");
            }

            var kupujemValutu = await _context.Valute
                                .Where(v => v.Naziv == postZahtjev.KupujemValuta)
                                .FirstOrDefaultAsync();

            var kupujemId = kupujemValutu.ValutaId;


            var raspoloziviIznos = _context.Sredstva
                                   .Include(v => v.Valuta)
                                   .Where(k => k.KorisnikId == id && k.Valuta.Naziv == postZahtjev.ProdajemValuta)

                                   .Select(k => new ZahtjevDto()
            {
                Iznos = k.Iznos
            })
                                   .FirstOrDefault().Iznos;


            if (postZahtjev.Iznos == 0)
            {
                throw new Exception("Iznos prodaje ne može biti 0");
            }

            if (raspoloziviIznos < postZahtjev.Iznos)
            {
                throw new Exception("Nemate dovoljno sredstava za prodaju");
            }

            var zahtjev = new Zahtjev
            {
                KorisnikId            = id,
                Iznos                 = postZahtjev.Iznos,
                ProdajemValutaId      = prodajemValutu.ValutaId,
                KupujemValutaId       = kupujemId,
                DatumVrijemeKreiranja = DateTime.Now,
                Prihvacen             = 1
            };

            _context.Zahtjevi.Add(zahtjev);

            await _context.SaveChangesAsync();

            return(_mapper.Map <ZahtjevDto>(zahtjev));
        }
示例#12
0
        public async Task <IActionResult> Edit(int id, [Bind("ZahtjevId,Datum,Odobren")] Zahtjev zahtjev)
        {
            if (id != zahtjev.ZahtjevId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(zahtjev);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ZahtjevExists(zahtjev.ZahtjevId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(zahtjev));
        }
示例#13
0
        public IActionResult StudentskaKartica(int id)
        {
            Zahtjev z = _context.Zahtjev.Find(id);

            ZahtjevZaUpis zahtjevZaUpis = z as ZahtjevZaUpis;

            zahtjevZaUpis.PrebivalisteInfo = _context.PrebivalisteInfo.Find(zahtjevZaUpis.PrebivalisteInfoId);
            zahtjevZaUpis.SkolovanjeInfo   = _context.SkolovanjeInfo.Find(zahtjevZaUpis.SkolovanjeInfoId);
            zahtjevZaUpis.LicniPodaci      = _context.LicniPodaci.Find(zahtjevZaUpis.LicniPodaciId);

            ViewBag.Soba     = "/";
            ViewBag.Paviljon = "/";
            ViewBag.Ime      = zahtjevZaUpis.LicniPodaci.Ime;
            ViewBag.Prezime  = zahtjevZaUpis.LicniPodaci.Prezime;
            ViewBag.Slika    = zahtjevZaUpis.LicniPodaci.Slika;


            string fakultet = DajSkracenicuZaFakultet(zahtjevZaUpis.SkolovanjeInfo.Fakultet);

            ViewBag.Fakultet = fakultet;

            string kanton = DajSkracenicuZaKanton(zahtjevZaUpis.PrebivalisteInfo.Kanton);

            ViewBag.Kanton = kanton;

            ViewBag.ID = zahtjevZaUpis.SkolovanjeInfo.BrojIndeksa;


            return(View());
        }
示例#14
0
        public async Task <ActionResult <Zahtjev> > PostZahtjev(Zahtjev zahtjev)
        {
            _context.Zahtjev.Add(zahtjev);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetZahtjev", new { id = zahtjev.ZahtjevId }, zahtjev));
        }
示例#15
0
 public Pocetna()
 {
     Zahtjev            = new Zahtjev();
     NavigationService  = new NavigationService();
     KartaUJednomPravcu = new RelayCommand <object>(IKartaUJednomPravcu);
     PovratnaAvioKarta  = new RelayCommand <object>(IPovratnaAvioKarta);
     Putuj = new RelayCommand <object>(Idemo);
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Zahtjev zahtjev = db.Zahtjev.Find(id);

            db.Zahtjev.Remove(zahtjev);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#17
0
        // POST: Otkaži zahtjev za rezervacijom
        public async Task <IActionResult> PrihvatiRezervaciju(int IdPonuda)
        {
            PonudaPrijevoza ponuda = _context.PonudaPrijevoza.Where(p => p.Id == IdPonuda)
                                     .Include(p => p.IdPrijevoznikNavigation.IdKorisnikNavigation)
                                     .Include(p => p.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation)
                                     .Include(p => p.IdStatusPonudeNavigation).FirstOrDefault();
            StatusPonude status = _context.StatusPonude.Where(s => s.Status == "Rezervirano").FirstOrDefault();

            ponuda.IdStatusPonude = status.Id;
            _context.PonudaPrijevoza.Update(ponuda);

            Zahtjev        zahtjev     = _context.Zahtjev.Where(z => z.Id == ponuda.IdZahtjev).FirstOrDefault();
            StatusZahtjeva rezervirano = _context.StatusZahtjeva.Where(s => s.Status == "Rezervirano").FirstOrDefault();

            zahtjev.IdStatusZahtjeva = rezervirano.Id;
            _context.Zahtjev.Update(zahtjev);

            Prijevoz prijevoz = new Prijevoz
            {
                IdPonudaPrijevoza = IdPonuda
            };

            _context.Prijevoz.Add(prijevoz);


            await _context.SaveChangesAsync();

            TempData[Constants.Message]       = $"Rezervacija ponude uspješna";
            TempData[Constants.ErrorOccurred] = false;

            if (ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.PrimaEmail)
            {
                var smtpClient = new SmtpClient
                {
                    Host        = "smtp.gmail.com", // set your SMTP server name here
                    Port        = 587,              // Port
                    EnableSsl   = true,
                    Credentials = new NetworkCredential("*****@*****.**", "carryon1")
                };

                using (var message = new MailMessage("*****@*****.**", ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Email)
                {
                    Subject = "Uspješna rezervacija prijevoza",
                    Body = "Poštovani korisniče " + ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Ime + " " +
                           ponuda.IdZahtjevNavigation.IdNaruciteljNavigation.IdKorisnikNavigation.Prezime + ", Vaš zahtjev za rezervacijom ponude prijevoza od korisnika " +
                           ponuda.IdPrijevoznikNavigation.IdKorisnikNavigation.Ime + " " + ponuda.IdPrijevoznikNavigation.IdKorisnikNavigation.Prezime +
                           " je uspješna. Rezervacija se odnosila na zahtjev s opisom: " + ponuda.IdZahtjevNavigation.Opis + "."
                })
                {
                    await smtpClient.SendMailAsync(message);
                }
            }

            string urlString = "Details/" + ponuda.IdZahtjev.ToString();

            return(RedirectToAction(urlString, "ProsireniZahtjevi"));
        }
示例#18
0
 public static ZahtjevModel ToZahtjevModel(this Zahtjev zahtjev)
 {
     return(new ZahtjevModel()
     {
         Id = zahtjev.Id,
         Naziv = zahtjev.Naziv,
         Opis = zahtjev.Opis
     });
 }
示例#19
0
        public IActionResult OdbijCimeraj(int id)
        {
            Zahtjev zaBrisanje = _context.Zahtjev.Find(id);

            _context.Zahtjev.Remove(zaBrisanje);
            _context.SaveChanges();

            return(RedirectToAction("PregledZahtjeva", "Zahtjev"));
        }
示例#20
0
        public IActionResult Obrisi(int Id)
        {
            Zahtjev x = _context.Zahtjev.Find(Id);

            _context.Zahtjev.Remove(x);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
示例#21
0
        public async Task <IHttpActionResult> GetZahtjev(int id)
        {
            Zahtjev zahtjev = await db.Zahtjev.FindAsync(id);

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

            return(Ok(zahtjev));
        }
 public ActionResult Edit([Bind(Include = "ZahtjevId,LetId,Razlog,Obradjen,Prihvacen")] Zahtjev zahtjev)
 {
     if (ModelState.IsValid)
     {
         db.Entry(zahtjev).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.LetId = new SelectList(db.Let, "LetId", "LetId", zahtjev.LetId);
     return(View(zahtjev));
 }
示例#23
0
        public async Task <IActionResult> Create([Bind("ZahtjevId,Datum,Odobren")] Zahtjev zahtjev)
        {
            if (ModelState.IsValid)
            {
                _context.Add(zahtjev);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(zahtjev));
        }
示例#24
0
        public bool Odbij(string grad, int idZahtjeva, int idDjelatnika, string razlog)
        {
            try
            {
                Sustav.SpremiAkciju(grad, idDjelatnika, 222, "ID Zahtjeva: " + idZahtjeva, 2, idAplikacije);
            }
            catch
            {
            }

            return(Zahtjev.Zatvori(grad, idZahtjeva, 2, idDjelatnika, null, null, razlog, 1, idAplikacije));
        }
示例#25
0
        public async Task <IHttpActionResult> PostZahtjev(Zahtjev zahtjev)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Zahtjev.Add(zahtjev);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = zahtjev.ZahtjevId }, zahtjev));
        }
 private void Button_Click_2(object sender, RoutedEventArgs e)
 {
     if (naziv.Text == "" || detalji.Text == "")
     {
         MessageDialog msgDialog = new MessageDialog("Morate napisati naziv i detalje.");
         msgDialog.ShowAsync();
     }
     else
     {
         Zahtjev novi = new Zahtjev(VrstaZahtjeva.UnosINaplataRobe, naziv.Text + "\n" + detalji.Text, slika);
     }
 }
示例#27
0
 private void Button_Click_3(object sender, RoutedEventArgs e)
 {
     if (lista.SelectedItems.Count == 0 || razlog.Text == "")
     {
         MessageDialog msgDialog = new MessageDialog("Morate odabrati robu i navesti razlog brisanja.");
         msgDialog.ShowAsync();
     }
     else
     {
         Zahtjev zahtjev = new Zahtjev(VrstaZahtjeva.BrisanjeRobe, razlog.Text);
     }
 }
示例#28
0
        public IHttpActionResult PostZahtjev(Zahtjev zahtjev)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Zahtjevs.Add(zahtjev);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = zahtjev.ZahtjevId }, zahtjev));
        }
 private void Button_Click_2(object sender, RoutedEventArgs e)
 {
     if (lista.SelectedItems.Count == 0)
     {
         MessageDialog msgDialog = new MessageDialog("Morate odabrati zahtjev.");
         msgDialog.ShowAsync();
     }
     else
     {
         string  info = lista.SelectedItem.ToString();
         Zahtjev novi = new Zahtjev(VrstaZahtjeva.Hakiranje, info);
     }
 }
示例#30
0
        public IHttpActionResult GetTerminCasa(int id)
        {
            //lista termina zavisno od zahtjevId
            db.Configuration.LazyLoadingEnabled = false;
            Zahtjev zahtjev = db.Zahtjevs.FirstOrDefault(x => x.ZahtjevId == id);

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

            return(Ok(db.TerminCasas.Where(x => x.ZahtjevId == id).ToList()));
        }