Beispiel #1
0
        // GET: ProfiliKorisnika/Edit/5
        public async Task <IActionResult> Edit(int id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var korisnik = await _context.Korisnik.SingleOrDefaultAsync(m => m.Id == id);

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

            KorisnikovProfilViewModel korisnikovProfil = new KorisnikovProfilViewModel();

            korisnikovProfil.Id         = korisnik.Id;
            korisnikovProfil.Oib        = korisnik.Oib;
            korisnikovProfil.Ime        = korisnik.Ime;
            korisnikovProfil.Prezime    = korisnik.Prezime;
            korisnikovProfil.Lozinka    = korisnik.Lozinka;
            korisnikovProfil.TelBroj    = korisnik.TelBroj;
            korisnikovProfil.PrimaEmail = korisnik.PrimaEmail;
            korisnikovProfil.Email      = korisnik.Email;

            if (_context.Narucitelj.Any(m => m.IdKorisnik == id))
            {
                var narucitelj = await _context.Narucitelj.SingleOrDefaultAsync(m => m.IdKorisnik == id);

                korisnikovProfil.ZahtijevaEko = narucitelj.ZahtijevaEko;
            }

            if (_context.Prijevoznik.Any(m => m.IdKorisnik == id))
            {
                var prijevoznik = await _context.Prijevoznik.SingleOrDefaultAsync(m => m.IdKorisnik == id);

                korisnikovProfil.NazivTvrtke = prijevoznik.NazivTvrtke;
            }

            return(View(korisnikovProfil));
        }
Beispiel #2
0
        public ProfilVozilaViewModel VratiProfil(int id)
        {
            var korisnik = _context.Korisnik.SingleOrDefault(m => m.Id == id);

            KorisnikovProfilViewModel korisnikovProfil = new KorisnikovProfilViewModel();

            korisnikovProfil.Id         = korisnik.Id;
            korisnikovProfil.Oib        = korisnik.Oib;
            korisnikovProfil.Ime        = korisnik.Ime;
            korisnikovProfil.Prezime    = korisnik.Prezime;
            korisnikovProfil.Lozinka    = korisnik.Lozinka;
            korisnikovProfil.TelBroj    = korisnik.TelBroj;
            korisnikovProfil.Email      = korisnik.Email;
            korisnikovProfil.PrimaEmail = korisnik.PrimaEmail;


            if (_context.Narucitelj.Any(m => m.IdKorisnik == id))
            {
                var narucitelj = _context.Narucitelj.SingleOrDefault(m => m.IdKorisnik == id);
                korisnikovProfil.ZahtijevaEko = narucitelj.ZahtijevaEko;

                var prijevoziNarucitelj = _context.Prijevoz.Where(p => p.IdPonudaPrijevozaNavigation.IdZahtjevNavigation.IdNarucitelj == korisnikovProfil.Id).ToList();

                if (prijevoziNarucitelj.Count() > 0)
                {
                    int ocjene     = 0;
                    int brojOcjena = 0;

                    foreach (var prijevoz in prijevoziNarucitelj)
                    {
                        if (prijevoz.OcjenaNarucitelja != 0 && prijevoz.OcjenaNarucitelja != null)
                        {
                            ocjene += (int)prijevoz.OcjenaNarucitelja;
                            brojOcjena++;
                        }
                    }

                    if (brojOcjena > 0)
                    {
                        korisnikovProfil.OcjenaNarucitelj = (float)(ocjene / brojOcjena);
                    }
                }
            }


            List <Vozilo> vozila = null;

            if (_context.Prijevoznik.Any(m => m.IdKorisnik == id))
            {
                var prijevoznik = _context.Prijevoznik.SingleOrDefault(m => m.IdKorisnik == id);
                korisnikovProfil.NazivTvrtke = prijevoznik.NazivTvrtke;

                var prijevoziPrijevoznik = _context.Prijevoz.Where(p => p.IdPonudaPrijevozaNavigation.IdPrijevoznik == korisnikovProfil.Id).ToList();

                if (prijevoziPrijevoznik.Count() > 0)
                {
                    int ocjene     = 0;
                    int brojOcjena = 0;

                    foreach (var prijevoz in prijevoziPrijevoznik)
                    {
                        if (prijevoz.OcjenaPrijevoznika != 0 && prijevoz.OcjenaPrijevoznika != null)
                        {
                            ocjene += (int)prijevoz.OcjenaPrijevoznika;
                            brojOcjena++;
                        }
                    }
                    if (brojOcjena > 0)
                    {
                        korisnikovProfil.OcjenaPrijevoznik = (float)(ocjene / brojOcjena);
                    }
                }

                vozila = _context.Vozilo.Where(v => v.IdPrijevoznik == id).ToList();
            }


            ProfilVozilaViewModel profilVozila = new ProfilVozilaViewModel();

            profilVozila.KorisnikovProfil = korisnikovProfil;
            profilVozila.Vozila           = vozila;

            return(profilVozila);
        }
Beispiel #3
0
        public async Task <IActionResult> Edit(int id, string PrimaEmail, [Bind("Id,Oib,Ime,Prezime,Lozinka,TelBroj,Email,ZahtijevaEko,NazivTvrtke")] KorisnikovProfilViewModel korisnikovProfil)
        {
            var korisnik = await _context.Korisnik.SingleOrDefaultAsync(m => m.Id == id);

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


            if (ModelState.IsValid)
            {
                try
                {
                    korisnik.Oib     = korisnikovProfil.Oib;
                    korisnik.Ime     = korisnikovProfil.Ime;
                    korisnik.Prezime = korisnikovProfil.Prezime;
                    korisnik.Lozinka = korisnikovProfil.Lozinka;
                    korisnik.TelBroj = korisnikovProfil.TelBroj;
                    korisnik.Email   = korisnikovProfil.Email;

                    if (PrimaEmail == "on")
                    {
                        korisnik.PrimaEmail = true;
                    }
                    else
                    {
                        korisnik.PrimaEmail = false;
                    }
                    _context.Korisnik.Update(korisnik);

                    if (_context.Narucitelj.Any(m => m.IdKorisnik == id))
                    {
                        var narucitelj = await _context.Narucitelj.SingleOrDefaultAsync(m => m.IdKorisnik == id);

                        narucitelj.ZahtijevaEko = korisnikovProfil.ZahtijevaEko;
                        _context.Narucitelj.Update(narucitelj);
                    }

                    if (_context.Prijevoznik.Any(m => m.IdKorisnik == id))
                    {
                        var prijevoznik = await _context.Prijevoznik.SingleOrDefaultAsync(m => m.IdKorisnik == id);

                        prijevoznik.NazivTvrtke = korisnikovProfil.NazivTvrtke;
                        _context.Prijevoznik.Update(prijevoznik);
                    }


                    await _context.SaveChangesAsync();

                    TempData[Constants.Message]       = "Ažuriranje uspješno obavljeno";
                    TempData[Constants.ErrorOccurred] = false;
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!KorisnikExists(korisnik.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }

            return(RedirectToAction(nameof(MojProfil)));
        }