public static List <DefinisanaStampa> VratiStampeSintetikePredmeta(UlogovaniKorisnik korisnik, List <StavkaPretrage> stavke, byte tipIzvestaja) { var zaglavlje = new PregledSintetikePredmetaZaglavlje { Stavke = stavke, NazivPrveKolone = IzvestajPredmetaViewModel.VratiGrupisanja(korisnik) .Where(g => g.IdElementa == string.Format(@"{0}", tipIzvestaja)) .Select(g => g.Naziv) .Single() }; var dir = Directory.CreateDirectory(PutanjaAplikacije.PutanjaReportPregledSintetike); var stampe = new List <DefinisanaStampa>(); var guid = Guid.NewGuid().ToString(); foreach (var file in dir.GetFiles()) { var stampa = new DefinisanaStampa { Naziv = file.Name.TrimEnd(".repx".ToArray()) }; stampa.Link = string.Format("{0}/{1}/{2}.pdf", PutanjaAplikacije.PutanjaStampeWeb, guid, stampa.Naziv); var report = new PregledSintetikePredmetaReport(); 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 { ShowGridLines = true }; report.ExportToXls(string.Format("{0}{1}\\{2}.xls", PutanjaAplikacije.PutanjaStampe, guid, stampa.Naziv), opt); stampe.Add(stampa); } return(stampe); }
public static List <StavkaPretrage> VratiPredmetePretrage(UlogovaniKorisnik korisnik, byte tipIzvestaja, bool sintetika, ElementPretrage pretraga) { using (var context = DmsData.GetContext()) { if (sintetika) { var stavkeSintetike = context.izvestaji_VratiSintetikaPredmeta(tipIzvestaja, pretraga.IdOkruga, pretraga.IdOrgana, pretraga.IdKlase, pretraga.BrojPredmeta, pretraga.Godina, pretraga.OdDatuma, pretraga.DoDatuma, pretraga.IdJedinice, pretraga.Status, pretraga.IdVrstePredmeta, pretraga.IdInspektora, Konverzija.KonvertujULatinicu(pretraga.Podnosilac.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.LiceKontrole.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.Sadrzaj.SrediZaPretragu()), pretraga.IdTakse, Konverzija.KonvertujULatinicu(pretraga.StraniBroj.SrediZaPretragu()), pretraga.Rok, pretraga.PreRoka, pretraga.DatumKretanja, pretraga.IdKretanjaPredmeta, Konverzija.KonvertujULatinicu(pretraga.OpisKretanja.SrediZaPretragu()), pretraga.IdKreatora, korisnik.IdKorisnika, pretraga.IdOpstine, pretraga.OznakaOrgana.SrediZaPretragu(3), pretraga.OznakaKlase.SrediZaPretragu(3), pretraga.OznakaJedinice.SrediZaPretragu(3), korisnik.IdKorisnika, pretraga.GledanjeDatumaKreiranja, pretraga.IdMestaOpstine) .Select(s => new StavkaPretrage { Grupisanje = tipIzvestaja == 6 ? IzvestajPredmetaViewModel.VratiStatuse(korisnik).Where(ss => ss.IdElementa == s.IdGrupisanja).Select(ss => ss.Naziv).Single() : s.Grupisanje, IdGrupisanja = s.IdGrupisanja, UkupanBrojPredmeta = s.UkupanBrojPredmeta.GetValueOrDefault(), BrojAktivnihPredmeta = s.BrojAktivnihPredmeta.GetValueOrDefault(), BrojObrisanihhPredmeta = s.BrojObrisanihhPredmeta.GetValueOrDefault(), BrojRezervisanihPredmeta = s.BrojRezervisanihPredmeta.GetValueOrDefault(), BrojPrezavedenihPredmeta = s.BrojPrezavedenihPredmeta.GetValueOrDefault() + s.BrojPrezavedenihArhiviranihPredmeta.GetValueOrDefault(), BrojPredmetaURokovniku = s.BrojURokovnikuPredmeta.GetValueOrDefault(), BrojZatvorenihPredmeta = s.BrojZatvorenihPredmeta.GetValueOrDefault(), BrojRezervisanihPredmetaPrekoRoka = s.BrojRezervisanihPredmetaPrekoRoka.GetValueOrDefault(), BrojOtvorenihPredmetaPrekoRoka = s.BrojOtvorenihPredmetaPrekoRoka.GetValueOrDefault(), }).ToList(); return(stavkeSintetike.GroupBy(x => x.IdGrupisanja).Select(xx => new StavkaPretrage { Grupisanje = tipIzvestaja == 6 ? IzvestajPredmetaViewModel.VratiStatuse(korisnik) .Where(ss => ss.IdElementa == xx.Key) .Select(ss => ss.Naziv) .Single() : xx.First().Grupisanje, IdGrupisanja = xx.Key, UkupanBrojPredmeta = xx.Sum(xxx => xxx.UkupanBrojPredmeta), BrojAktivnihPredmeta = xx.Sum(xxx => xxx.BrojAktivnihPredmeta), BrojObrisanihhPredmeta = xx.Sum(xxx => xxx.BrojObrisanihhPredmeta), BrojRezervisanihPredmeta = xx.Sum(xxx => xxx.BrojRezervisanihPredmeta), BrojPrezavedenihPredmeta = xx.Sum(xxx => xxx.BrojPrezavedenihPredmeta), BrojPredmetaURokovniku = xx.Sum(xxx => xxx.BrojPredmetaURokovniku), BrojZatvorenihPredmeta = xx.Sum(xxx => xxx.BrojZatvorenihPredmeta), BrojRezervisanihPredmetaPrekoRoka = xx.Sum(xxx => xxx.BrojRezervisanihPredmetaPrekoRoka), BrojOtvorenihPredmetaPrekoRoka = xx.Sum(xxx => xxx.BrojOtvorenihPredmetaPrekoRoka), }).ToList()); } //Godina je sa vremena rezervacije return(context.izvestaji_VratiAnalitikuPredmeta(tipIzvestaja, pretraga.IdOkruga, pretraga.IdOrgana, pretraga.IdKlase, pretraga.BrojPredmeta, pretraga.Godina, pretraga.OdDatuma, pretraga.DoDatuma, pretraga.IdJedinice, pretraga.Status, pretraga.IdVrstePredmeta, pretraga.IdInspektora, Konverzija.KonvertujULatinicu(pretraga.Podnosilac.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.LiceKontrole.SrediZaPretragu()), Konverzija.KonvertujULatinicu(pretraga.Sadrzaj.SrediZaPretragu()), pretraga.IdTakse, Konverzija.KonvertujULatinicu(pretraga.StraniBroj.SrediZaPretragu()), pretraga.Rok, pretraga.PreRoka, pretraga.DatumKretanja, pretraga.IdKretanjaPredmeta, Konverzija.KonvertujULatinicu(pretraga.OpisKretanja.SrediZaPretragu()), pretraga.IdKreatora, korisnik.IdKorisnika, pretraga.IdOpstine, pretraga.OznakaOrgana.SrediZaPretragu(3), pretraga.OznakaKlase.SrediZaPretragu(3), pretraga.OznakaJedinice.SrediZaPretragu(3), korisnik.IdKorisnika, pretraga.GledanjeDatumaKreiranja, pretraga.IdMestaOpstine) .Select(s => new StavkaPretrage { Grupisanje = s.Grupisanje, IdPredmeta = s.IdPredmeta, Podnosilac = Konverzija.VratiString(korisnik.Jezik, s.Podnosilac), NazivInspektora = Konverzija.VratiString(korisnik.Jezik, s.NazivInspektora), Sadrzaj = Konverzija.VratiString(korisnik.Jezik, s.Sadrzaj), SifraPredmeta = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", s.OznakaOkruga, s.OznakaOrgana, s.OznakaKlase, string.Format(@"{0}", s.BrojPredmeta).PadLeft(6, '0'), s.Godina.GetValueOrDefault(), s.OznakaJedinice), LiceKontrole = Konverzija.VratiString(korisnik.Jezik, s.LiceKontrole), }).ToList()); } }
public static IzvestajPredmetaViewModel VratiIzvestajPredmetaViewModel(UlogovaniKorisnik korisnik) { using (var context = DmsData.GetContext()) { var vm = new IzvestajPredmetaViewModel { Okruzi = context.okrug_VratiOkruge(korisnik.IdOkruga, true).Select(okrug => new Element { IdElementa = string.Format(@"{0}", okrug.IdOkruga), Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", okrug.Oznaka, okrug.Naziv)) }).ToList(), Organi = korisnik.Inspektor ? context.organ_VratiOrganeInspektora(null, true, korisnik.IdKorisnika).Select(organ => new Element { IdElementa = string.Format(@"{0}", organ.IdOrgana), Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", organ.Oznaka, organ.Naziv)) }).ToList() : context.organ_VratiOrgane(null, true).Select(organ => new Element { IdElementa = string.Format(@"{0}", organ.IdOrgana), Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", organ.Oznaka, organ.Naziv)) }).ToList(), Klase = context.klasa_VratiSveKlaseInspektora(korisnik.IdOkruga, korisnik.IdKorisnika).Select(klasa => new Element { IdElementa = klasa.Oznaka, Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", klasa.Oznaka, klasa.Naziv)) }).ToList(), Jedinice = context.jedinica_VratiSveJedinice().Select(jedinica => new Element { IdElementa = jedinica.Oznaka, Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", jedinica.Oznaka, jedinica.Naziv)) }).ToList(), Takse = context.taksa_VratiTakse(null, true).Select(taksa => new Element { IdElementa = string.Format(@"{0}", taksa.IdTakse), Naziv = Konverzija.VratiString(korisnik.Jezik, taksa.Naziv) }).ToList(), VrstePredmeta = context.vrsta_pred_VratiVrstePredmeta(null, true).Select(vrstaPredmeta => new Element { IdElementa = string.Format(@"{0}", vrstaPredmeta.IdVrstePredmeta), Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0}-{1}", vrstaPredmeta.Oznaka, vrstaPredmeta.Naziv)) }).ToList(), KretanjaPredmeta = context.kret_pred_VratiKretanjaPredmeta(null, true).Select(vrstaKretanja => new Element { IdElementa = string.Format(@"{0}", vrstaKretanja.IdKretanjaPredmeta), Naziv = Konverzija.VratiString(korisnik.Jezik, vrstaKretanja.Naziv) }).ToList(), Godine = context.predmet_VratiGodine().Select(god => new Element { IdElementa = string.Format(@"{0}", god.Godina), Naziv = string.Format(@"{0}", god.Godina) }).ToList(), Inspektori = korisnik.IdOkruga != null?context.korisnik_VratiInspektore(korisnik.IdOkruga, null).Select(ins => new Element { IdElementa = string.Format(@"{0}", ins.IdKorisnika), Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0} ({1})", ins.ImeIPrezime, ins.KorisnickoIme)) }).ToList() : null, Statusi = IzvestajPredmetaViewModel.VratiStatuse(korisnik), Grupisanja = IzvestajPredmetaViewModel.VratiGrupisanja(korisnik), Kreatori = context.korisnik_VratiKorisnike(null, true, korisnik.IdOkruga).Select(kr => new Element { IdElementa = string.Format(@"{0}", kr.IdKorisnika), Naziv = Konverzija.VratiString(korisnik.Jezik, string.Format(@"{0} ({1})", kr.ImeIPrezime, kr.KorisnickoIme)) }).ToList(), Opstine = korisnik.IdOkruga != null?context.opstina_VratiOpstine(korisnik.IdOkruga, null, true).Select(op => new Element { IdElementa = string.Format(@"{0}", op.IdOpstine), Naziv = Konverzija.VratiString(korisnik.Jezik, op.Naziv) }).ToList() : null, }; var godina = DateTime.Now.Year.ToString(CultureInfo.InvariantCulture); if (vm.Godine.All(g => g.IdElementa != godina)) { vm.Godine.Add(new Element { IdElementa = godina, Naziv = godina }); vm.Godine = vm.Godine.OrderBy(g => g.IdElementa).ToList(); } return(vm); } }