public async Task <IList <Korisnik> > GetKorisnikeProjektaAsync(long IDProjekta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Korisnik.Where(a => a.Projekat.Any(b => b.IDProjekta == IDProjekta)).ToListAsync());
     }
 }
 public async Task <int> GetProjekatCountAsync()
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Projekat.CountAsync());
     }
 }
 public async Task <IList <Projekat> > GetProjekteKorisnikaAsync(string KorisnickoIme)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Projekat.Where(a => a.Korisnik.Any(b => b.KorisnickoIme == KorisnickoIme)).ToListAsync());
     }
 }
 public async Task <IList <Projekat> > GetProjekteAsync()
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Projekat.AsNoTracking().ToListAsync());
     }
 }
 public async Task <bool> DokumentImaPDFFajl(long IDDokumenta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.PDF.FirstOrDefaultAsync(p => p.IDDokumenta == IDDokumenta) != default(PDF));
     }
 }
 public async Task <IList <Trosak> > GetTroskoveProjektaAsync(long IDProjekta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Trosak.Where(a => a.IDProjekta == IDProjekta).ToListAsync());
     }
 }
 public async Task <IList <Trosak> > GetTroskovePodkategorijeAsync(long IDProjekta, string Podkategorija)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Trosak.Where(a => a.IDProjekta == IDProjekta && a.Podkategorija == Podkategorija).ToListAsync());
     }
 }
 public async Task <int> GetKorisniciCountAsync()
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Korisnik.CountAsync());
     }
 }
 public async Task <IList <Zahtev> > GetZahtevePrimaocaAsync(string KorisnickoIme, long IDProjekta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Zahtev.Where(a => a.IDProjekta == IDProjekta && a.KorisnickoImePrimaoca == KorisnickoIme).ToListAsync());
     }
 }
 public async Task <Projekat> GetProjekatAsync(long IDProjekta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Projekat.FindAsync(IDProjekta));
     }
 }
 public async Task <IList <Zahtev> > GetZahteveProjektaAsync(long IDProjekta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Zahtev.Where(a => a.IDProjekta == IDProjekta).ToListAsync());
     }
 }
 public async Task <Korisnik> GetKorisnikAsync(string KorisnickoIme)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Korisnik.FindAsync(KorisnickoIme));
     }
 }
 public async Task <PDF> GetPDFAsync(long IDDokumenta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.PDF.FindAsync(IDDokumenta));
     }
 }
 public async Task <Trosak> GetTrosakAsync(long IDTroska)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Trosak.FindAsync(IDTroska));
     }
 }
 public async Task <IList <Dokumentacija> > GetDokumentaProjekta(long IDProjekta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Dokumentacija.Where(a => a.IDProjekta == IDProjekta).ToListAsync());
     }
 }
 public async Task <Dokumentacija> GetDokumentAsync(long IDDokumenta)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Dokumentacija.FindAsync(IDDokumenta));
     }
 }
 public async Task <IList <Korisnik> > GetKorisniciAsync()
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Korisnik.AsNoTracking().ToListAsync());
     }
 }
 public async Task AddGeneralniTrosakAsync(GeneralniTrosak generalniTrosak)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.GeneralniTrosak.Add(generalniTrosak);
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddKorisnikAsync(Korisnik korisnik)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.Korisnik.Add(korisnik);
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddAktivnostAsync(Aktivnost aktivnost)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.Aktivnost.Add(aktivnost);
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddDokumentAsync(Dokumentacija dokument)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.Dokumentacija.Add(dokument);
         await _context.SaveChangesAsync();
     }
 }
 public async Task <IList <Aktivnost> > GetAktivnostiAsync(string vrstaKorisnika)
 {
     // TODO: Mora da se uzme u obzir i tip korisnika
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         return(await _context.Aktivnost.OrderByDescending(a => a.IDAktivnosti).ToListAsync());
     }
 }
        public async Task <Korisnik> LoginApp(string username, string password)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.Korisnik.FirstOrDefaultAsync(a => a.KorisnickoIme == username && a.Lozinka == password);

                return(obj);
            }
        }
        public async Task <int> GetCenaTroskaAsync(long IDTroska)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var pom = await _context.Trosak.Where(a => a.IDTroska == IDTroska).Select(a => a.Cena).SingleOrDefaultAsync();

                return(pom.GetValueOrDefault());
            }
        }
        public async Task <int> GetBrojUplataAsync(long IDProjekta)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var pom = await _context.GeneralniTrosak.Where(a => a.IDProjekta == IDProjekta).Select(a => a.BrojUplata).SingleOrDefaultAsync();

                return(pom.GetValueOrDefault());
            }
        }
        public async Task <string> GetProcenteAsync(long IDProjekta)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var pom = await _context.GeneralniTrosak.Where(a => a.IDProjekta == IDProjekta).Select(a => a.Procenti).SingleOrDefaultAsync();

                return(pom);
            }
        }
        public async Task <int> PromeniLozinku(Korisnik korisnik, string novaLozinka)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.Korisnik.FirstOrDefaultAsync(a => a.KorisnickoIme == korisnik.KorisnickoIme);

                obj.Lozinka = novaLozinka;
                return(await _context.SaveChangesAsync());
            }
        }
        public async Task <int> UpdatePDFAsync(PDF pdf)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.PDF.FirstOrDefaultAsync(a => a.IDDokumenta == pdf.IDDokumenta);

                obj.PDFFajl = pdf.PDFFajl;
                return(await _context.SaveChangesAsync());
            }
        }
        public async Task AddTrosakAsync(Trosak trosak, Korisnik korisnik)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                _context.Trosak.Add(trosak);
                await _context.SaveChangesAsync();

                // Dodaj aktivnost o tome da je kreiran dodat novi trosak
                await AddAktivnostAsync(new Aktivnost { IDProjekta = trosak.IDProjekta, Poruka = $"{korisnik.PunoIme} je dodao novi trosak {trosak}" });
            }
        }
 public async Task AddTroskoveAsync(params Trosak[] trosak)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var t in trosak)
         {
             _context.Trosak.Add(t);
         }
         await _context.SaveChangesAsync();
     }
 }