Exemplo n.º 1
0
        public async Task <IActionResult> OnPostObrisiAsync(int id)
        {
            var rec = db.Recenzije.Where(x => x.Id == id).FirstOrDefault();

            if (rec != null)
            {
                db.Recenzije.Remove(rec);
                await db.SaveChangesAsync();
            }
            return(Redirect(("/Object?Id=" + idObj).ToString()));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> OnGetDeleteAsync(int id)
        {
            var dog = await db.Dogadjaji.FindAsync(id);

            if (dog != null)
            {
                db.Dogadjaji.Remove(dog);
                await db.SaveChangesAsync();
            }
            return(RedirectToPage());
        }
        public async Task <IActionResult> OnPostAsync(int id)
        {
            String eMail = HttpContext.Session.GetString("email");

            if (string.IsNullOrEmpty(eMail) || db.Korisnici.Where(x => x.eMail == eMail).FirstOrDefault().tipKorisnika != "Admin")
            {
                return(RedirectToPage("/Index"));
            }
            Korisnik korisnikZaBrisanje = db.Korisnici.Where(korisnik => korisnik.Id == id).Include(x => x.mojLokal).FirstOrDefault();

            if (korisnikZaBrisanje == null)
            {
                return(RedirectToPage());
            }

            if (korisnikZaBrisanje.tipKorisnika == "Gost")
            {
                HttpContext.Session.SetString("adminShowManager", "false");
            }
            else
            {
                HttpContext.Session.SetString("adminShowManager", "true");
            }

            if (korisnikZaBrisanje.tipKorisnika == "Menadzer")
            {
                List <Dogadjaj> dogadjaji = await db.Dogadjaji.Where(dog => dog.Lokal.Id == korisnikZaBrisanje.mojLokal.Id).ToListAsync();

                if (dogadjaji != null)
                {
                    db.Dogadjaji.RemoveRange(dogadjaji);
                }
                List <Recenzija> recenzije = await db.Recenzije.Where(rec => rec.LokalId == korisnikZaBrisanje.mojLokal.Id).ToListAsync();

                if (recenzije != null)
                {
                    db.Recenzije.RemoveRange(recenzije);
                }
                List <Rezervacija> rezervacije = await db.Rezervacije.Where(rez => rez.LokalId == korisnikZaBrisanje.mojLokal.Id).Include(x => x.Korisnik).Include(x => x.Lokal).ToListAsync();

                if (rezervacije != null)
                {
                    foreach (Rezervacija rez in rezervacije)
                    {
                        if (rez.Vreme > DateTime.Now)
                        {
                            string sadrzajMejla = $"Dear {rez.Korisnik.Ime}, \n\n Your reservation at {rez.Lokal.Naziv} for {rez.Vreme} has been canceled. Sorry for inconvenience.\n\n Check out our website for other places to make reservations at.\n\n\n Table4U";
                            RegisterModel.SendEmail("Table4U", /*,rez.Korisnik.eMail*/ "*****@*****.**", "Reservation canceled", sadrzajMejla);
                        }
                    }
                    db.Rezervacije.RemoveRange(rezervacije);
                }

                db.Stolovi.RemoveRange(await db.Stolovi.Where(sto => sto.Lokal.Id == korisnikZaBrisanje.mojLokal.Id).ToListAsync());
                int korId = korisnikZaBrisanje.mojLokal.Id;
                db.Korisnici.Remove(korisnikZaBrisanje);
                try{
                    var file = Path.Combine(_environment.ContentRootPath, "wwwroot/images/" + korisnikZaBrisanje.mojLokal.nazivSlike.Split("/")[1]);
                    System.IO.Directory.Delete(file, true);
                }
                catch (IOException ex)
                {
                    return(RedirectToPage("/Error?code=" + ex.ToString()));
                }
                db.Lokali.Remove(db.Lokali.Where(lokal => lokal.Id == korId).FirstOrDefault());
            }
            else
            if (korisnikZaBrisanje.tipKorisnika == "Gost")
            {
                db.Rezervacije.RemoveRange(await db.Rezervacije.Where(rez => rez.KorisnikId == korisnikZaBrisanje.Id).ToListAsync());
                db.Recenzije.RemoveRange(await db.Recenzije.Where(rec => rec.KorisnikId == korisnikZaBrisanje.Id).ToListAsync());
                db.Korisnici.Remove(korisnikZaBrisanje);
            }
            await db.SaveChangesAsync();

            return(RedirectToPage());
        }