public async Task AddAktivnostAsync(Aktivnost aktivnost)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.Aktivnost.Add(aktivnost);
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddGeneralniTrosakAsync(GeneralniTrosak generalniTrosak)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.GeneralniTrosak.Add(generalniTrosak);
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddDokumentAsync(Dokumentacija dokument)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.Dokumentacija.Add(dokument);
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddKorisnikAsync(Korisnik korisnik)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         _context.Korisnik.Add(korisnik);
         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 <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> DeleteProjekatAsync(params Projekat[] projekti)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var p in projekti)
         {
             _context.Projekat.Remove(p);
         }
         return(await _context.SaveChangesAsync());
     }
 }
 public async Task AddAktivnostiAsync(params Aktivnost[] aktivnosti)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var a in aktivnosti)
         {
             _context.Aktivnost.Add(a);
         }
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddPDFAsync(params PDF[] pdf)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var p in pdf)
         {
             _context.PDF.Add(p);
         }
         await _context.SaveChangesAsync();
     }
 }
 public async Task AddGeneralneTroskoveAsync(params GeneralniTrosak[] generalniTrosak)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var g in generalniTrosak)
         {
             _context.GeneralniTrosak.Add(g);
         }
         await _context.SaveChangesAsync();
     }
 }
 public async Task <int> DeleteGeneralniTrosak(params GeneralniTrosak[] generalniTrosak)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var g in generalniTrosak)
         {
             _context.GeneralniTrosak.Remove(g);
         }
         return(await _context.SaveChangesAsync());
     }
 }
 public async Task <int> DeleteDokumentAsync(params Dokumentacija[] dokumenti)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var d in dokumenti)
         {
             _context.Dokumentacija.Remove(d);
         }
         return(await _context.SaveChangesAsync());
     }
 }
 public async Task AddDokumentaAsync(params Dokumentacija[] dokumenti)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var d in dokumenti)
         {
             _context.Dokumentacija.Add(d);
         }
         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();
     }
 }
 public async Task <int> DeleteAktivnostAsync(params Aktivnost[] aktivnosti)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var a in aktivnosti)
         {
             _context.Aktivnost.Remove(a);
         }
         return(await _context.SaveChangesAsync());
     }
 }
 public async Task <int> DeleteKorisnikAsync(params Korisnik[] korisnici)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var k in korisnici)
         {
             _context.Korisnik.Remove(k);
         }
         return(await _context.SaveChangesAsync());
     }
 }
 public async Task <int> DeletePDFAsync(params PDF[] pdf)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var p in pdf)
         {
             _context.PDF.Remove(p);
         }
         return(await _context.SaveChangesAsync());
     }
 }
 public async Task AddZahteveAsync(params Zahtev[] zahtev)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var z in zahtev)
         {
             _context.Zahtev.Add(z);
         }
         await _context.SaveChangesAsync();
     }
 }
 public async Task <int> DeleteZahtevAsync(params Zahtev[] zahtev)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var z in zahtev)
         {
             _context.Zahtev.Remove(z);
         }
         return(await _context.SaveChangesAsync());
     }
 }
        public async Task <int> UpdateZahtevAsync(Zahtev zahtev)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.Zahtev.FirstOrDefaultAsync(a => a.IDZahteva == zahtev.IDZahteva);

                obj.Naslov  = zahtev.Naslov;
                obj.Poruka  = zahtev.Poruka;
                obj.Odgovor = zahtev.Odgovor;
                return(await _context.SaveChangesAsync());
            }
        }
        public async Task AddZahtevAsync(Zahtev zahtev)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                _context.Zahtev.Add(zahtev);
                await _context.SaveChangesAsync();

                // Dodaj aktivnost o tome da je kreiran novi zahtev

                await AddAktivnostAsync(new Aktivnost { IDProjekta = zahtev.IDProjekta, Poruka = $"{zahtev.KorisnickoImePosiljaoca} je poslao zahtev korisniku {zahtev.KorisnickoImePrimaoca} sa porukom: {zahtev.Poruka}" });
            }
        }
 public async Task <int> DeleteTrosak(params Trosak[] trosak)
 {
     using (ExtentBazaEntities _context = new ExtentBazaEntities())
     {
         foreach (var t in trosak)
         {
             _context.Trosak.Attach(t);
             _context.Trosak.Remove(t);
         }
         return(await _context.SaveChangesAsync());
     }
 }
        public async Task <int> UpdateGeneralniTrosakAsync(GeneralniTrosak generalniTrosak)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.GeneralniTrosak.FirstOrDefaultAsync(a => a.IDProjekta == generalniTrosak.IDProjekta);

                obj.UkupnoNovca = generalniTrosak.UkupnoNovca;
                obj.BrojUplata  = generalniTrosak.BrojUplata;
                obj.Procenti    = generalniTrosak.Procenti;
                return(await _context.SaveChangesAsync());
            }
        }
        public async Task <int> AddProjekatAsync(Projekat projekat)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                _context.Projekat.Add(projekat);
                await _context.SaveChangesAsync();

                // Dodaj aktivnost o tome da je kreiran novi projekat
                await AddAktivnostAsync(new Aktivnost { IDProjekta = projekat.IDProjekta, Poruka = $"Kreiran je projekat {projekat.NazivProjekta}" });

                return(projekat.IDProjekta);
            }
        }
        public async Task AddInterakcijaAsync(String korisnickoIme, long IDprojekta)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                //_context.Korisnik.AsNoTracking().FirstOrDefault(a => a.KorisnickoIme == korisnik.KorisnickoIme).Projekat.Add(projekat);
                await _context.Database.ExecuteSqlCommandAsync($"Insert into Interakcija values('{korisnickoIme}', {IDprojekta})");

                await _context.SaveChangesAsync();

                // Dodaj aktivnost o tome da je korisnik dodeljen projektu
                await AddAktivnostAsync(new Aktivnost { IDProjekta = (int)IDprojekta, Poruka = $"{(await GetKorisnikAsync(korisnickoIme)).PunoIme} je dodeljen projektu." });
            }
        }
        public async Task <int> DeleteInterakcijaAsync(String korisnickoIme, long IDprojekta)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                //_context.Korisnik.FirstOrDefault(a => a.KorisnickoIme == korisnik.KorisnickoIme).Projekat.Remove(projekat);
                await _context.Database.ExecuteSqlCommandAsync($"Delete from Interakcija where Projekat_IDProjekta = {IDprojekta} and Korisnik_KorisnickoIme = '{korisnickoIme}';");

                // Dodaj aktivnost o tome da je korisnik uklonjen sa projekta
                await AddAktivnostAsync(new Aktivnost { IDProjekta = (int)IDprojekta, Poruka = $"{(await GetKorisnikAsync(korisnickoIme)).PunoIme} je uklonjen sa projekta." });

                return(await _context.SaveChangesAsync());
            }
        }
        public async Task <int> UpdateKorisnikAsync(Korisnik korisnik)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.Korisnik.FirstOrDefaultAsync(a => a.KorisnickoIme == korisnik.KorisnickoIme);

                obj.Lozinka        = korisnik.Lozinka;
                obj.EmailAdresa    = korisnik.EmailAdresa;
                obj.VrstaKorisnika = korisnik.VrstaKorisnika;
                obj.Ime            = korisnik.Ime;
                obj.Prezime        = korisnik.Prezime;
                return(await _context.SaveChangesAsync());
            }
        }
        public async Task <int> UpdateDokumentAsync(Dokumentacija dokument)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                var obj = await _context.Dokumentacija.FirstOrDefaultAsync(a => a.IDDokumenta == dokument.IDDokumenta);

                obj.Naziv           = dokument.Naziv;
                obj.Datum           = dokument.Datum;
                obj.StatusDokumenta = dokument.StatusDokumenta;
                obj.Redosled        = dokument.Redosled;
                obj.IDProjekta      = obj.IDProjekta;
                return(await _context.SaveChangesAsync());
            }
        }
        public async Task <int> AddPDFAsync(PDF pdf, Korisnik korisnik)
        {
            using (ExtentBazaEntities _context = new ExtentBazaEntities())
            {
                _context.PDF.Add(pdf);
                await _context.SaveChangesAsync();

                // Dodaj aktivnost o tome da je prolozen novi dokument
                var dokument = await GetDokumentAsync(pdf.IDDokumenta);
                await AddAktivnostAsync(new Aktivnost { IDProjekta = (int)dokument.IDProjekta, Poruka = $"{korisnik.PunoIme} je prilozio dokument {dokument.Naziv}" });

                return(pdf.IDDokumenta);
            }
        }