Esempio n. 1
0
        public static MemoryStream GetReportXXXXX()
        {
            List <Car> cars = new List <Car>();

            cars.Add(new Car()
            {
                Name = "01", Price = 500
            });
            cars.Add(new Car()
            {
                Name = "02", Price = 1500
            });
            cars.Add(new Car()
            {
                Name = "03", Price = 2500
            });
            MemoryStream result = new MemoryStream();

            using (CarReport report = new CarReport())
            {
                report.DataSource = cars;   // bind object to report
                report.CreateDocument();
                report.ExportToPdf(result);
                report.Dispose();
            }

            result.Position = 0;
            return(result);
        }
        public ActionResult Details(int id)
        {
            var dir = Server.MapPath("~/App_Data/Images/Vehicles/");
            List <CarReport> carReports = new List <CarReport>();

            _context = new DbContext();

            var result = _context.Reservations.Where(n => n.ReservationVehicleId == id).GroupBy(o => o.ReservationVehicleId)
                         .Select(g => new { VehicleId = g.Key, Total = g.Sum(i => i.ReservationAmount) });


            foreach (var group in result)
            {
                if (group.VehicleId == id)
                {
                    var reservationList = _context.Reservations.Where(r => r.ReservationVehicleId == group.VehicleId).ToList();
                    foreach (var r in reservationList)
                    {
                        var ve = _context.Vehicles.SingleOrDefault(v => v.VehicleId == r.ReservationVehicleId);

                        if (string.IsNullOrEmpty(ve.Photo))
                        {
                            _image = "";
                        }
                        else
                        {
                            if (System.IO.File.Exists(dir + ve.Photo))
                            {
                                _bytes = System.IO.File.ReadAllBytes(dir + ve.Photo);
                                _image = Convert.ToBase64String(_bytes);
                            }
                            else
                            {
                                _image = "";
                            }
                        }

                        var G = _context.Customers.SingleOrDefault(c => c.UserId == r.ReservedBy);
                        if (G != null)
                        {
                            CarReport carReport = new CarReport()
                            {
                                VehicleId       = ve.VehicleId,
                                VehicleName     = ve.VehicleName,
                                Photo           = _image,
                                ReservedDate    = r.ReservationDate,
                                ReservedBy      = G.Name,
                                ReservationEarn = r.ReservationAmount,
                                GrandTotal      = group.Total
                            };

                            carReports.Add(carReport);
                        }
                    }
                }
            }

            return(View(carReports));
        }