public ActionResult SubirLibro(Libros lib,HttpPostedFileBase portada,HttpPostedFileBase contenido) { BibliotecaDataContext db = new BibliotecaDataContext(); Guid id = (Guid)Session["userid"]; ViewBag.lista = db.Categorias; int ID; if (ModelState.IsValid) { Contenido con = new Contenido() { Id_User=id, Titulo=lib.titulo, Descripcion=lib.descripcion, Tipo="Libro", observaciones="", estado=0, Fecha_publicacion=DateTime.Now }; db.Contenidos.InsertOnSubmit(con); db.SubmitChanges(); ID = db.Contenidos.OrderByDescending(ax => con.IdContenido).Select(a => con.IdContenido).ToArray()[0]; DateTime dt = new DateTime(); dt.AddYears(lib.aniopublicacion); var data = new byte[portada.ContentLength]; var data2 = new byte[contenido.ContentLength]; portada.InputStream.Read(data, 0, portada.ContentLength); contenido.InputStream.Read(data2, 0, contenido.ContentLength); var path = ControllerContext.HttpContext.Server.MapPath("../contenidos"); var path2 = ControllerContext.HttpContext.Server.MapPath("../contenidos"); var filename = Path.Combine(path, Path.GetFileName(portada.FileName)); var filename2 = Path.Combine(path2, Path.GetFileName(contenido.FileName)); System.IO.File.WriteAllBytes(Path.Combine(path, filename), data); System.IO.File.WriteAllBytes(Path.Combine(path2, filename2), data2); Libro l = new Libro() { IdPublicacion=ID, Autor=lib.autor, AnoPublicacion=dt, Portada="/contenidos/"+portada.FileName, Tema="/contenidos/"+contenido.FileName }; db.Libros.InsertOnSubmit(l); db.SubmitChanges(); string[] miarray = lib.categoria.ToLower().Split(','); List<Categoria> lcat = new List<Categoria>(); foreach (var x in miarray) { string aux = x.Trim(); if (db.Categorias.Where(a => a.Nombre == aux).Count() == 0) { Categoria c = new Categoria() { Nombre = aux }; db.Categorias.InsertOnSubmit(c); db.SubmitChanges(); } int idcat = db.Categorias.Where(a => a.Nombre == aux).Select(a => a.Id_cat).ToArray()[0]; Rel_Categoria_Contenido r = new Rel_Categoria_Contenido() { Id_cat=idcat,IdContenido=ID}; db.Rel_Categoria_Contenidos.InsertOnSubmit(r); db.SubmitChanges(); } return Redirect("VistaLibro/"+ID); } return View(); }
partial void UpdateLibro(Libro instance);
partial void DeleteLibro(Libro instance);
partial void InsertLibro(Libro instance);