コード例 #1
0
        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 }));
            }
        }
コード例 #2
0
        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 }));
        }
コード例 #3
0
        public IHttpActionResult DeleteAktivnost(int trosakId)
        {
            Trosak x = db.Trosak.Find(trosakId);

            if (x != null)
            {
                db.Trosak.Remove(x);
                db.SaveChanges();
            }
            return(Ok());
        }
コード例 #4
0
        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}" });
            }
        }
コード例 #5
0
        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());
        }
コード例 #6
0
        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());
            }
        }
コード例 #7
0
        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());
        }
コード例 #8
0
        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());
            }
        }