public ActionResult LibroInsertado() { ViewBag.Message = "Your contact page."; String ruta = "principal/imagenes/"; Libro book = new Libro(); CheckData check = new CheckData(); /****************** VALIDACIONES BACK-END ***********************/ /*check length del año de lanzamiento solo cuatro numeros*/ if (Request.Form["nbr_lanzamiento"].Length != 4) { TempData["errorYear"] = true; return(RedirectToAction("InsertarLibro")); } /*check que el año de lanzamiento sea solo numeros*/ if (!check.CheckIntNumber(Request.Form["nbr_lanzamiento"])) { TempData["errorYear"] = true; return(RedirectToAction("InsertarLibro")); } /*check si existe el idAutor es un dato int*/ if (!check.CheckIntNumber(Request.Form["ddlAutor"])) { TempData["errorAutor"] = true; return(RedirectToAction("InsertarLibro")); } /*check si el idAutor existe en la base de datos*/ if (!check.CheckIdAutor(Request.Form["ddlAutor"])) { TempData["errorAutor"] = true; return(RedirectToAction("InsertarLibro")); } /*check si existe el idCategoria es un dato int*/ if (!check.CheckIntNumber(Request.Form["ddlCategory"])) { TempData["errorCategory"] = true; return(RedirectToAction("InsertarLibro")); } /*check si el idCategory existe en la base de datos*/ if (!check.CheckIdCategory(Request.Form["ddlCategory"])) { TempData["errorCategory"] = true; return(RedirectToAction("InsertarLibro")); } /*check si el idEditorial es un dato int*/ if (!check.CheckIntNumber(Request.Form["ddlEditorial"])) { TempData["errorEditorial"] = true; return(RedirectToAction("InsertarLibro")); } /*check si el idEditorial existe en la base de datos*/ if (!check.CheckIdEditorial(Request.Form["ddlEditorial"])) { TempData["errorEditorial"] = true; return(RedirectToAction("InsertarLibro")); } /*checking precio, tambien evalua si llega vacio*/ if (!check.CheckPrice(Request.Form["txt_price"])) { TempData["errorPrice"] = true; return(RedirectToAction("InsertarLibro")); } /*checking si la cantidad es un numero (si es null devuelve false)*/ if (!check.CheckIntNumber(Request.Form["nbr_quantity"])) { TempData["errorQuantity"] = true; return(RedirectToAction("InsertarLibro")); } /*convierto el precio string en decimal*/ String precio = Request.Form["txt_price"]; decimal price = check.ConvertStringToDecimal(precio); /*para la descripcion no hago check*/ /*pregunto si se recibió null como imagen*/ String imagen = Request.Form["itf_urlImage"]; if (imagen != "") { /*check formato de imagen jpg, png, gif, bmp*/ if (!check.checkImageFormat(ruta + Request.Form["itf_urlImage"])) { TempData["errorImg"] = true; return(RedirectToAction("InsertarLibro")); } } /*ckeck existencia del libro en la base de datos por idAutor y nombre de libro*/ if (check.checkAutorAndBookName(Request.Form["txt_bookName"], Request.Form["ddlAutor"])) { TempData["duplicatedBook"] = true; return(RedirectToAction("InsertarLibro")); } /**************** fin validaciones back-end *********************/ book.Nombre = Request.Form["txt_bookName"]; book.AnioDeLanzamiento = Convert.ToInt32(Request.Form["nbr_lanzamiento"]); book.IdAutor = Convert.ToInt32(Request.Form["ddlAutor"]); book.IdCategoria = Convert.ToInt32(Request.Form["ddlCategory"]); book.IdEditorial = Convert.ToInt32(Request.Form["ddlEditorial"]); book.Descripcion = Request.Form["txta_description"]; book.Cantidad = Convert.ToInt32(Request.Form["nbr_quantity"]); book.Precio = price; /*Para obtener la ruta absoluta de la img Usar esto: * var nombreImagen = Request.Form["itf_urlImage"]; * var path = Path.Combine(Server.MapPath("~/principal/imagenes/"), nombreImagen); * book.UrlImagen = path; */ if (imagen == "") { book.UrlImagen = imagen; } else { book.UrlImagen = ruta + Request.Form["itf_urlImage"]; } book.Estado = true; LibroService ls = new LibroService(); int filasAfectadas = 0; filasAfectadas = ls.InsertBook(book); /*si filasAfectadas devuelve 1, es porque se pudo insertar en la base de datos*/ if (filasAfectadas > 0) { ViewBag.Msg = 1; } else { ViewBag.Msg = 0; } return(View()); }