public FileContentResult ordenDeTrabajoGeneralPendiente(int id)
        {
            LocalReport reporte_local = new LocalReport();
            RentaMaq.DAL.Context db = new RentaMaq.DAL.Context();
            reporte_local.ReportPath = Server.MapPath("~/Report/ordenDeTrabajoGeneralPendiente.rdlc");
            ReportDataSource conjunto_datosOT = new ReportDataSource();
            ReportDataSource conjunto_datosEjecutantes = new ReportDataSource();
            ReportDataSource conjunto_datosMatUt = new ReportDataSource();
            ReportDataSource conjunto_datosMatReq = new ReportDataSource();

            conjunto_datosOT.Name = "DataSetOT";
            conjunto_datosEjecutantes.Name = "DataSetEject";
            conjunto_datosMatUt.Name = "DataSetMatUt";
            conjunto_datosMatReq.Name = "DataSetMatReq";

            List<ReportOTGeneral> reportOT = new List<ReportOTGeneral>();
            ordenDeTrabajoGeneral OT = db.ordenDeTrabajoGenerals.Find(id);
            ordenDeTrabajoGeneral OTNUEVO = new ordenDeTrabajoGeneral();
            OTNUEVO.numeroFolio = "BACK"+OT.numeroFolio;
            OTNUEVO.fechaOTAbierta = DateTime.Now;
            OTNUEVO.area = OT.area;
            OTNUEVO.faena = OT.faena;
            OTNUEVO.idEquipo = OT.idEquipo;
           // OTNUEVO.tipoOTSegunMantenimiento = OT.tipoOTSegunMantenimiento;
            OTNUEVO.trabajoRealizar = OT.trabajosPendientesPorRealizar;

            reportOT.Add(new ReportOTGeneral(OTNUEVO));
            List<ejecutanteTrabajoOT> ejecutantesTrabajoOT = db.ejecutanteTrabajoOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList();

            List<materialesRequeridosOT> materialesRequeridosOT = db.materialesRequeridosOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList();
            List<materialesUtilizadosOT> materialesUtilizadosOT = db.materialesUtilizadosOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList();

            List<materialesRequeridoReportOTGeneral> matReq = new List<materialesRequeridoReportOTGeneral>();
            List<materialesUtilizadosReportOTGeneral> matUt = new List<materialesUtilizadosReportOTGeneral>();

            foreach (RentaMaq.Models.materialesRequeridosOT matR in materialesRequeridosOT)
            {
                materialesRequeridoReportOTGeneral materialR = new materialesRequeridoReportOTGeneral(matR);
                matReq.Add(materialR);
            }

            foreach (RentaMaq.Models.materialesUtilizadosOT matU in materialesUtilizadosOT)
            {
                materialesUtilizadosReportOTGeneral materialU = new materialesUtilizadosReportOTGeneral(matU);
                matUt.Add(materialU);

            }

            conjunto_datosOT.Value = reportOT;
          

            reporte_local.DataSources.Add(conjunto_datosOT);
           /* reporte_local.DataSources.Add(conjunto_datosEjecutantes);
            reporte_local.DataSources.Add(conjunto_datosMatUt);
            reporte_local.DataSources.Add(conjunto_datosMatReq);*/
            string reportType = "PDF";
            string mimeType;
            string encoding;
            string fileNameExtension;
            string deviceInfo = "<DeviceInfo>" +
                 "  <OutputFormat>jpeg</OutputFormat>" +
                 "  <PageWidth>10in</PageWidth>" +
                 "  <PageHeight>13in</PageHeight>" +
                 "  <MarginTop>0.5in</MarginTop>" +
                 "  <MarginLeft>1in</MarginLeft>" +
                 "  <MarginRight>1in</MarginRight>" +
                 "  <MarginBottom>0.5in</MarginBottom>" +
                 "</DeviceInfo>";
            Warning[] warnings;
            string[] streams;
            byte[] renderedBytes;

            renderedBytes = reporte_local.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
            return File(renderedBytes, mimeType);
        }
        public FileContentResult ordenDeTrabajoGeneral(int id)
        {
            LocalReport reporte_local = new LocalReport();
            RentaMaq.DAL.Context db = new RentaMaq.DAL.Context();
            reporte_local.ReportPath = Server.MapPath("~/Report/ordenDeTrabajoGeneral.rdlc");
            ReportDataSource conjunto_datosOT = new ReportDataSource();
            ReportDataSource conjunto_datosEjecutantes = new ReportDataSource();
            ReportDataSource conjunto_datosMatUt = new ReportDataSource();
            ReportDataSource conjunto_datosMatReq = new ReportDataSource();

            conjunto_datosOT.Name = "DataSetOT";
            conjunto_datosEjecutantes.Name = "DataSetEject";
            conjunto_datosMatUt.Name = "DataSetMatUt";
            conjunto_datosMatReq.Name = "DataSetMatReq";

            List<ReportOTGeneral> reportOT = new List<ReportOTGeneral>();
            reportOT.Add( new ReportOTGeneral(db.ordenDeTrabajoGenerals.Find(id)));
            List<ejecutanteTrabajoOT> ejecutantesTrabajoOT = db.ejecutanteTrabajoOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList();
            
            List<materialesRequeridosOT> materialesRequeridosOT = db.materialesRequeridosOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList();
            List<materialesUtilizadosOT> materialesUtilizadosOT = db.materialesUtilizadosOTs.Where(s => s.ordenDeTrabajoGeneralID == id).ToList();

            List<materialesRequeridoReportOTGeneral> matReq = new List<materialesRequeridoReportOTGeneral>();
            List<materialesUtilizadosReportOTGeneral> matUt = new List<materialesUtilizadosReportOTGeneral>();

            foreach (RentaMaq.Models.materialesRequeridosOT matR in materialesRequeridosOT)
            {
                materialesRequeridoReportOTGeneral materialR = new materialesRequeridoReportOTGeneral(matR);
                matReq.Add(materialR);
            }

            foreach (RentaMaq.Models.materialesUtilizadosOT matU in materialesUtilizadosOT)
            {
                materialesUtilizadosReportOTGeneral materialU = new materialesUtilizadosReportOTGeneral(matU);
                matUt.Add(materialU);

            }

            conjunto_datosOT.Value = reportOT;
            conjunto_datosEjecutantes.Value = ejecutantesTrabajoOT;
            conjunto_datosMatUt.Value = matUt;
            conjunto_datosMatReq.Value = matReq;

            reporte_local.DataSources.Add(conjunto_datosOT);
            reporte_local.DataSources.Add(conjunto_datosEjecutantes);
            reporte_local.DataSources.Add(conjunto_datosMatUt);
            reporte_local.DataSources.Add(conjunto_datosMatReq);
            string reportType = "PDF";
            string mimeType;
            string encoding;
            string fileNameExtension;
            string deviceInfo = "<DeviceInfo>" +
                 "  <OutputFormat>jpeg</OutputFormat>" +
                 "  <PageWidth>10in</PageWidth>" +
                 "  <PageHeight>13in</PageHeight>" +
                 "  <MarginTop>0.5in</MarginTop>" +
                 "  <MarginLeft>1in</MarginLeft>" +
                 "  <MarginRight>1in</MarginRight>" +
                 "  <MarginBottom>0.5in</MarginBottom>" +
                 "</DeviceInfo>";
            Warning[] warnings;
            string[] streams;
            byte[] renderedBytes;

            renderedBytes = reporte_local.Render(reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings);
            return File(renderedBytes, mimeType);
        }