private void OnDistributers(List<DistributerDTO> listaDistributera, DateTime from, DateTime to,bool date) { PoDistributerimaDataSet pds = new PoDistributerimaDataSet(); foreach (DistributerDTO distributer in listaDistributera) { if (check) { pds.Distributer.Rows.Add(new object[] { distributer.Id, distributer.Naziv, distributer.Adresa, distributer.Telefon, distributer.Email }); } List<FilmDTO> listaFilmova = BioskopUtil.getDAOFactory().getFilmDAO().getAllByDistributer(distributer); int k = 0; foreach (FilmDTO film in listaFilmova) { List<ProjekcijaDTO> listaProjekcija = BioskopUtil.getDAOFactory().getProjekcijaDAO().getByFilm(film); if (date) { listaProjekcija = listaProjekcija.Where(x => x.Vrijeme.Date >= from.Date && x.Vrijeme.Date <= to.Date).ToList(); } double sum = 0.0; foreach (ProjekcijaDTO projekcija in listaProjekcija) { List<KartaDTO> listaKarata= BioskopUtil.getDAOFactory().getKartaDAO().getByProjekcija(projekcija); listaKarata = listaKarata.Where(x => x.Status.Naziv.Equals("Prodana")).ToList(); sum += listaKarata.Sum(x => x.Cijena); } if (!check) { if (k == 0 && sum > 0) { k = 1; pds.Distributer.Rows.Add(new object[] { distributer.Id, distributer.Naziv, distributer.Adresa, distributer.Telefon, distributer.Email }); } if (sum > 0) { pds.Film.Rows.Add(new object[] { film.Id, film.Naziv, listaProjekcija.Count, sum, distributer.Id, film.Zanr.Naziv }); } } else { pds.Film.Rows.Add(new object[] { film.Id, film.Naziv, listaProjekcija.Count, sum, distributer.Id, film.Zanr.Naziv }); } } } PoDistributerimaIzvjestaj izvjestaj = new PoDistributerimaIzvjestaj(); izvjestaj.SetDataSource(pds); if (date) { izvjestaj.SummaryInfo.ReportComments = "Od " + from.ToShortDateString() + " do " + to.ToShortDateString(); } crystalReportViewer1.ReportSource = izvjestaj; }
public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { PoDistributerimaIzvjestaj rpt = new PoDistributerimaIzvjestaj(); rpt.Site = this.Site; return rpt; }