示例#1
0
 public void PostaviPodatke(PregledPretrazenihPredmetaZaglavlje zaglavlje)
 {
     if (zaglavlje != null)
     {
         objectDataSource1.DataSource = zaglavlje;
         DataSource = objectDataSource1;
     }
     else
     {
         objectDataSource1.DataSource = typeof(PregledPretrazenihPredmetaZaglavlje);
     }
 }
示例#2
0
        public static List <DefinisanaStampa> VratiStampePretrazenihPredmeta(UlogovaniKorisnik korisnik, List <long> listaIdPredmeta)
        {
            var zaglavlje = new PregledPretrazenihPredmetaZaglavlje();

            using (var context = DmsData.GetContext())
            {
                if (listaIdPredmeta != null && listaIdPredmeta.Count > 0)
                {
                    var inspektori = context.korisnik_VratiInspektore(korisnik.IdOkruga, null).ToDictionary(d => d.IdKorisnika, r => r.ImeIPrezime);

                    foreach (var idPredmeta in listaIdPredmeta)
                    {
                        //godina je vreme rezervacije
                        var predmet = context.predmet_VratiPredmet(idPredmeta).Select(p => new Predmet
                        {
                            IdPredmeta                  = p.IdPredmeta,
                            BrojPredmeta                = p.BrojPredmeta,
                            IdJedinice                  = p.IdJedinice,
                            IdKlase                     = p.IdKlase,
                            IdKreator                   = p.IdKreatora,
                            IdOkruga                    = p.IdOkruga,
                            IdOpstine                   = p.IdOpstine,
                            NazivOpstine                = p.NazivOpstine,
                            IdOrgana                    = p.IdOrgana,
                            IdTakse                     = p.IdTakse,
                            IdVrstePredmeta             = p.IdVrstePredmeta,
                            IdInspektora                = p.IdInspektora,
                            Podnosilac                  = p.Podnosilac,
                            PodnosilacJedinstveniBroj   = p.PodnosilacJedinstveniBroj,
                            LiceKontrole                = p.LiceKontrole,
                            LiceKontroleJedinstveniBroj = p.LiceKontroleJedinstveniBroj,
                            Napomena                    = p.Napomena,
                            PodnosilacJeInspektor       = p.PodnosilacJeInspektor,
                            Prilog = p.Prilog,
                            PutanjaArhiviranjaDokumenata = p.PutanjaArhiviranjaDokumenata,
                            Sadrzaj               = p.Sadrzaj,
                            Status                = p.Status,
                            NazivStatusa          = PredmetiData.VratiNazivStatusa(korisnik.Jezik, p.Status, p.IdNadredjenogPredmeta.HasValue),
                            StraniBroj            = p.StraniBroj,
                            VremeRezervacije      = p.VremeRezervacije,
                            StvarnoVremeKreiranja = p.StvarnoVremeKreiranja,
                            VremeKreiranja        = p.VremeKreiranja,
                            NazivOkruga           = string.Format(@"{0}-{1}", p.OznakaOkruga, p.NazivOkruga),
                            OznakaOkruga          = p.OznakaOkruga,
                            OznakaKlase           = p.OznakaKlase,
                            OznakaOrgana          = p.OznakaOrgana,
                            OznakaJedinice        = p.OznakaJedinice,
                            NazivKreatora         = p.NazivKreatora,
                            Godina                = p.Godina.GetValueOrDefault(),
                            NazivPredmeta         =
                                string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", p.OznakaOkruga, p.OznakaOrgana,
                                              p.OznakaKlase, string.Format(@"{0}", p.BrojPredmeta).PadLeft(6, '0'), p.Godina, p.OznakaJedinice),



                            NazivInspektora = null,
                            Mesec           = p.VremeKreiranja.Month,
                            SifraPredmeta   = string.Format(@"{0}-{1}-{2}-{3}/{4}-{5}", p.OznakaOkruga, p.OznakaOrgana,
                                                            p.OznakaKlase, string.Format(@"{0}", p.BrojPredmeta).PadLeft(6, '0'), p.Godina, p.OznakaJedinice),
                        }).Single();

                        if (predmet.IdInspektora.HasValue && inspektori.ContainsKey(predmet.IdInspektora.Value))
                        {
                            predmet.NazivInspektora = inspektori[predmet.IdInspektora.Value];
                        }

                        zaglavlje.Predmeti.Add(predmet);
                    }
                }
            }

            var dir    = Directory.CreateDirectory(PutanjaAplikacije.PutanjaReportPregledPretrazenih);
            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 PregledPretrazenihPredmetaReport();
                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);
        }