public static AutorXCapitulo[][] matrizDistribucionG(int rows, int cols) { AutorXCapitulo[][] result = new AutorXCapitulo[rows][]; for (int i = 0; i < rows; ++i) { result[i] = new AutorXCapitulo[cols]; } return(result); }
public ActionResult CreateLibro([Bind(Include = "ID,titulo,anno,editorial,consejoEditorial,id_pais,capitulos,matrizAutores,matrizDistribucion,numeroCapitulos")] LibroCapituloAutor librocapautor, HttpPostedFileBase upload) { try { //agrego el libro para obtener su id Libro libro = new Libro(); libro.anno = librocapautor.anno; libro.titulo = librocapautor.titulo; libro.editorial = librocapautor.editorial; libro.id_pais = librocapautor.id_pais; libro.consejoEditorial = librocapautor.consejoEditorial; db.Libroes.Add(libro); db.SaveChanges(); //iterar sobre los capitulos Console.WriteLine("count "); for (int i = 0; i < librocapautor.numeroCapitulos; i++) //no es hasta 10 si no hasta el valor del select { //AGREGO UN CAPITULO Capitulo cap = new Capitulo(); cap.titulo = librocapautor.capitulos[i]; cap.id_libro = libro.ID; db.Capituloes.Add(cap); db.SaveChanges(); //iterar sobre los autores de un capitulo for (int j = 0; j < 10; j++)//HASTA EL MOMENTO HAY 10 AUTORES POSIBLES { Console.WriteLine(librocapautor.matrizAutores[0][0].nombre); if (librocapautor.matrizAutores[i][j].nombre != null)//pregunto si no esta vacio el nombre { Console.WriteLine("count "); //creo un autor Autor autorsito = new Autor(); autorsito.nombre = librocapautor.matrizAutores[i][j].nombre; autorsito.correoElectronico = librocapautor.matrizAutores[i][j].correoElectronico; db.Autors.Add(autorsito); db.SaveChanges(); AutorXCapitulo autoCap = new AutorXCapitulo(); autoCap.id_autor = autorsito.ID; autoCap.id_capitulo = cap.ID; autoCap.distribucionAutoria = Convert.ToDecimal(librocapautor.matrizDistribucion[i][j].distribucionAutoria); db.AutorXCapituloes.Add(autoCap); db.SaveChanges(); } } } if (upload != null) { upload.SaveAs(Path.Combine(Server.MapPath("~/App_Data/uploads"), upload.FileName)); string fullPath = Path.Combine(Server.MapPath("~/App_Data/uploads"), upload.FileName); InsertLibroDoc(System.Guid.NewGuid(), System.IO.Path.GetFileName(upload.FileName), fullPath, 0, libro.ID); //Path.GetFullPath(upload.FileName); } ViewBag.id_pais = new SelectList(db.Pais, "id_pais", "nombre", librocapautor.id_pais); ViewBag.libAgregado = librocapautor.titulo; return(View()); } catch (Exception e) { ViewBag.errorlib = "Error : No se pudo agregar el libro "; return(View()); } }