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());
            }
        }