public static AktivniPredmetiViewModel VratiAktivnePredmete(UlogovaniKorisnik korisnik, DateTime datum) { using (var context = DmsData.GetContext()) { var vm = new AktivniPredmetiViewModel(); var aktivni = context.izvestaj_AktivniPredmeti(datum, korisnik.IdKorisnika).Select(x => new AktivniPredmetOsnovno { Inspekcija = x.Inspekcija, BrojPredmeta = x.BrojPredmeta.GetValueOrDefault(), Godina = x.Godina.GetValueOrDefault(), }).ToList(); var novaLista = new List <AktivniPredmet>(); var inspekcije = aktivni.GroupBy(x => x.Inspekcija).ToList(); foreach (var ins in inspekcije) { var noviPredmet = new AktivniPredmet { Inspekcija = ins.Key, }; var ukupno = 0; foreach (var predmet in ins.ToList()) { var razlika = 11 - (datum.Year - predmet.Godina); ukupno += predmet.BrojPredmeta; typeof(AktivniPredmet).GetProperty(string.Format("Godina{0}", razlika)).SetValue(noviPredmet, predmet.BrojPredmeta, null); } noviPredmet.Ukupno = ukupno; novaLista.Add(noviPredmet); } vm.AktivniPredmeti = novaLista; var brojac = 1; for (var i = datum.Year - 10; i <= datum.Year; i++) { typeof(AktivniPredmetiViewModel).GetProperty(string.Format("NazivKolone{0}", brojac)).SetValue(vm, string.Format(@"{0}", i), null); brojac++; } return(vm); } }
public static List <DefinisanaStampa> VratiStampeAktivnihPredmeta(UlogovaniKorisnik korisnik, DateTime datum, AktivniPredmetiViewModel vm) { var dir = Directory.CreateDirectory(PutanjaAplikacije.PutanjaReportPregledAktivnihPredmeta); var stampe = new List <DefinisanaStampa>(); var guid = Guid.NewGuid().ToString(); var zaglavlje = new PregledAktivnihPredmetaZaglavlje { Datum = datum, NazivUstanove = DmsData.Naziv, }; //var vm = VratiAktivnePredmete(korisnik, datum); if (vm != null) { zaglavlje.NazivKolone1 = vm.NazivKolone1; zaglavlje.NazivKolone2 = vm.NazivKolone2; zaglavlje.NazivKolone3 = vm.NazivKolone3; zaglavlje.NazivKolone4 = vm.NazivKolone4; zaglavlje.NazivKolone5 = vm.NazivKolone5; zaglavlje.NazivKolone6 = vm.NazivKolone6; zaglavlje.NazivKolone7 = vm.NazivKolone7; zaglavlje.NazivKolone8 = vm.NazivKolone8; zaglavlje.NazivKolone9 = vm.NazivKolone9; zaglavlje.NazivKolone10 = vm.NazivKolone10; zaglavlje.NazivKolone11 = vm.NazivKolone11; if (vm.AktivniPredmeti != null && vm.AktivniPredmeti.Count > 0) { zaglavlje.Predmeti.AddRange(vm.AktivniPredmeti); } } foreach (var file in dir.GetFiles()) { var stampa = new DefinisanaStampa(); stampa.Naziv = file.Name.TrimEnd(".repx".ToArray()); stampa.Link = string.Format("{0}/{1}/{2}.pdf", PutanjaAplikacije.PutanjaStampeWeb, guid, stampa.Naziv); var report = new PregledAktivnihPredmetaReport(); report.LoadLayout(file.FullName); report.PostaviPodatke(zaglavlje); report.CreateDocument(); if (!Directory.Exists(string.Format("{0}{1}", PutanjaAplikacije.PutanjaStampe, guid))) { Directory.CreateDirectory(string.Format("{0}{1}", PutanjaAplikacije.PutanjaStampe, guid)); } report.ExportToPdf(string.Format("{0}{1}\\{2}.pdf", PutanjaAplikacije.PutanjaStampe, guid, stampa.Naziv)); var opt = new XlsExportOptions(); opt.ShowGridLines = true; report.ExportToXls(string.Format("{0}{1}\\{2}.xls", PutanjaAplikacije.PutanjaStampe, guid, stampa.Naziv), opt); stampe.Add(stampa); } return(stampe); }