Exemple #1
0
        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());
            }
        }
Exemple #2
0
        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);
            }
        }