public JsonResult ZakljuciTrosak(TroskoviEditVM model) { if (ModelState.IsValid) { Trosak trosak = new Trosak(); trosak.InstradacijaId = model.InstradacijaId; trosak.TipTroskaId = model.TipTroskaId; trosak.Ukupno = model.Ukupno; ctx.Troskovi.Add(trosak); ctx.SaveChanges(); return(Json(new { Url = "?id=" + trosak.InstradacijaId })); } else { var errors = ViewData.ModelState.Where(n => n.Value.Errors.Count > 0).Select(x => new ErrorHelper() { Message = x.Value.Errors.Select(y => y.ErrorMessage).FirstOrDefault(), Name = x.Key } ).ToList(); return(Json(new { Errors = errors })); } }
public ActionResult ObrisiTrosak(int trosakId) { Trosak trosak = ctx.Troskovi.Find(trosakId); int instradacijaID = trosak.InstradacijaId; ctx.Troskovi.Remove(trosak); ctx.SaveChanges(); return(RedirectToAction("Details", new { id = instradacijaID })); }
public IHttpActionResult DeleteAktivnost(int trosakId) { Trosak x = db.Trosak.Find(trosakId); if (x != null) { db.Trosak.Remove(x); db.SaveChanges(); } return(Ok()); }
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 IHttpActionResult PutTrosak([FromBody] TrosakEditVM trosak) { Trosak put = db.Trosak.Where(a => a.TrosakID == trosak.TrosakId).FirstOrDefault(); try { put.Iznos = (decimal)trosak.Iznos; db.Trosak.Attach(put); db.Entry(put).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { throw ex; } return(Ok()); }
public async Task <int> UpdateTrosakAsync(Trosak trosak) { using (ExtentBazaEntities _context = new ExtentBazaEntities()) { var obj = await _context.Trosak.FirstOrDefaultAsync(a => a.IDTroska == trosak.IDTroska); obj.Kategorija = trosak.Kategorija; obj.Podkategorija = trosak.Podkategorija; obj.Artikal = trosak.Artikal; obj.Kolicina = trosak.Kolicina; obj.Cena = trosak.Cena; obj.Datum = trosak.Datum; obj.Stanje = trosak.Stanje; return(await _context.SaveChangesAsync()); } }
public IHttpActionResult PostTrosak([FromBody] TrosakAddVM trosak) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Trosak tr = new Trosak { AktivnostID = trosak.AktivnostId, Datum = new DateTime(trosak.Godina, trosak.Mjesec, trosak.Dan), Iznos = (decimal)trosak.Iznos }; db.Trosak.Add(tr); db.SaveChanges(); return(Ok()); }
public IHttpActionResult getMjesecniTroskoviDetaljnoByTrosakAktivnost(int KorisnikId, int TrosakId) { List <Aktivnost> aktivnosti = new List <Aktivnost>(); List <Trosak> korisnikoviTroskovi = db.Trosak .Where(x => x.Aktivnost.KorisnikID == KorisnikId).ToList(); List <double> troskovi = new List <double>(); Trosak trosak = db.Trosak.Where(x => x.TrosakID == TrosakId).FirstOrDefault(); if (trosak != null) { DateTime datumMjesecGodina = (DateTime)trosak.Datum; List <Trosak> troskoviUovomPeriodu = new List <Trosak>(); foreach (var x in korisnikoviTroskovi) { if (x.Datum.Value.Month.Equals(datumMjesecGodina.Month) && x.Datum.Value.Year.Equals(datumMjesecGodina.Year)) { troskoviUovomPeriodu.Add(x); } } foreach (var x in troskoviUovomPeriodu) { if (aktivnosti.Count == 0) { aktivnosti.Add(x.Aktivnost); } else { foreach (var y in troskoviUovomPeriodu) { bool postojiAktivnost = false; foreach (var akt in aktivnosti) { if (akt.AktivnostID == y.AktivnostID) { postojiAktivnost = true; } } if (postojiAktivnost == false) { aktivnosti.Add(y.Aktivnost); } } } } //grupisu se aktivnosti (distinct group by) na kojima su stvarani troskovi u tom periodu foreach (var x in aktivnosti) { double trosakZaMjesec = 0; foreach (var y in troskoviUovomPeriodu) { if (x.AktivnostID == y.AktivnostID) { trosakZaMjesec += (double)y.Iznos; } } troskovi.Add(trosakZaMjesec); }//svi grupisani vec zajedno sa troskovima nakon ovog foreacha TrosakMjesecniPregledDetaljnoVM grupisaniMjesecniTroskovi = new TrosakMjesecniPregledDetaljnoVM(); grupisaniMjesecniTroskovi.lista = new List <TrosakMjesecniPregledDetaljnoVM>(); for (int i = 0; i < aktivnosti.Count; i++) { TrosakMjesecniPregledDetaljnoVM pojedinacnaGrupa = new TrosakMjesecniPregledDetaljnoVM { KorisnikId = KorisnikId, Aktivnost = aktivnosti[i].Naziv, Trosak = troskovi[i], AktivnostId = aktivnosti[i].AktivnostID, MjesecGodina = datumMjesecGodina.Month.ToString() + "/" + datumMjesecGodina.Year.ToString(), Mjesec = datumMjesecGodina.Month, Godina = datumMjesecGodina.Year }; if (troskovi[i] != 0) { grupisaniMjesecniTroskovi.lista.Add(pojedinacnaGrupa); } } grupisaniMjesecniTroskovi.Ukupno = 0; for (int i = 0; i < troskovi.Count; i++) { grupisaniMjesecniTroskovi.Ukupno += troskovi[i]; } grupisaniMjesecniTroskovi.MjesecGodina = datumMjesecGodina.Month.ToString() + "/" + datumMjesecGodina.Year.ToString(); grupisaniMjesecniTroskovi.Mjesec = datumMjesecGodina.Month; grupisaniMjesecniTroskovi.Godina = datumMjesecGodina.Year; return(Ok(grupisaniMjesecniTroskovi)); } else { return(Ok()); } }