public void GetListaSoftwaresReporte(SoftwareViewModel model, string idFacultad, string idLaboratorio, string nombreSoftware, string tipoSoftware) { if (!String.IsNullOrEmpty(idFacultad)) { model.ListaSoftware = softwareDataAccess.GetListaSoftwareByIdFacultad(int.Parse(idFacultad)); } else if (!String.IsNullOrEmpty(idLaboratorio)) { model.ListaSoftware = softwareDataAccess.GetListaSoftwareByIdLaboratorio(int.Parse(idLaboratorio)); } else if (!String.IsNullOrEmpty(nombreSoftware)) { model.ListaSoftware = softwareDataAccess.GetListaSoftwareByNombre(nombreSoftware); } else if (!String.IsNullOrEmpty(tipoSoftware)) { model.ListaSoftware = softwareDataAccess.GetListaSoftwareByTipo(tipoSoftware); } // Code from Software Controller if (model.ListaSoftware != null && model.ListaSoftware.Count > 0) { for (int i = 0; i < model.ListaSoftware.Count; i++) { model.ListaSoftware[i].ListaSoftwareXLaboratorio = softwareDataAccess.GetListaSoftwareXLaboratorioByIdSoftware(model.ListaSoftware[i].IdSoftware); model.ListaSoftware[i].ListaSoftwareXCarrera = softwareDataAccess.GetListaSoftwareXCarreraByIdSoftware(model.ListaSoftware[i].IdSoftware); if (model.ListaSoftware[i].ListaSoftwareXLaboratorio != null && model.ListaSoftware[i].ListaSoftwareXLaboratorio.Count > 0) { for (int j = 0; j < model.ListaSoftware[i].ListaSoftwareXLaboratorio.Count; j++) { Laboratorio laboratorio = new Laboratorio(); laboratorio.IdLaboratorio = model.ListaSoftware[i].ListaSoftwareXLaboratorio[j].IdLaboratorio; laboratorio.NombreLaboratorio = model.ListaSoftware[i].ListaSoftwareXLaboratorio[j].NombreLaboratorio; laboratorio.IdFacultad = model.ListaSoftware[i].ListaSoftwareXLaboratorio[j].IdFacultad; laboratorio.NombreFacultad = model.ListaSoftware[i].ListaSoftwareXLaboratorio[j].NombreFacultad; if (model.ListaSoftware[i].ListaLaboratorios == null || model.ListaSoftware[i].ListaLaboratorios.Count == 0) { model.ListaSoftware[i].ListaLaboratorios = new List <Laboratorio>(); } model.ListaSoftware[i].ListaLaboratorios.Add(laboratorio); } } if (model.ListaSoftware[i].ListaSoftwareXCarrera != null && model.ListaSoftware[i].ListaSoftwareXCarrera.Count > 0) { for (int k = 0; k < model.ListaSoftware[i].ListaSoftwareXCarrera.Count; k++) { Carrera carrera = new Carrera(); carrera.IdCarrera = model.ListaSoftware[i].ListaSoftwareXCarrera[k].IdCarrera; carrera.NombreCarrera = model.ListaSoftware[i].ListaSoftwareXCarrera[k].NombreCarrera; carrera.IdFacultad = model.ListaSoftware[i].ListaSoftwareXCarrera[k].IdFacultad; carrera.NombreFacultad = model.ListaSoftware[i].ListaSoftwareXCarrera[k].NombreFacultad; if (model.ListaSoftware[i].ListaCarreras == null || model.ListaSoftware[i].ListaCarreras.Count == 0) { model.ListaSoftware[i].ListaCarreras = new List <Carrera>(); } model.ListaSoftware[i].ListaCarreras.Add(carrera); } } model.ListaSoftware[i].IdFacultad = model.ListaSoftware[i].ListaLaboratorios[0].IdFacultad; model.ListaSoftware[i].NombreFacultad = model.ListaSoftware[i].ListaLaboratorios[0].NombreFacultad; } } }