public ActionResult Edit(int id, int paginaCorrente = 1) { FornitoriEditViewModel vm = new FornitoriEditViewModel(); vm.Fornitore = Context.Fornitori.Where(w => w.IdFornitore == id) .FirstOrDefault() ?? new Models.Fornitore(); vm.PaginaCorrente = paginaCorrente; return(PartialView("_Edit", vm)); }
public ActionResult Edit([Bind(Prefix = "Fornitore")] Fornitore fornitore, int paginaCorrente = 1) { bool success = false; if (String.IsNullOrEmpty(fornitore.RagioneSociale)) { ModelState.AddModelError("Fornitore.RagioneSociale", "La ragione sociale è obbligatoria"); } if (String.IsNullOrEmpty(fornitore.Citta)) { ModelState.AddModelError("Fornitore.Citta", "La città è obbligatoria"); } if (String.IsNullOrEmpty(fornitore.Indirizzo)) { ModelState.AddModelError("Fornitore.Indirizzo", "L'indirizzo è obbligatorio"); } if (String.IsNullOrEmpty(fornitore.Telefono)) { fornitore.Telefono = String.Empty; } //Questa validazione equivale a dei required sui tre campi tramite data annotation if (ModelState.IsValid) { try { if (fornitore.IdFornitore == 0) { Context.Fornitori.Add(fornitore); } else { Context.Entry(fornitore).State = System.Data.Entity.EntityState.Modified; } Context.SaveChanges(); success = true; } catch (Exception ex) { ModelState.AddModelError("Errore", "Errore generico : " + ex.Message); } } if (success) { //Se ho successo, bisogna che aggiorno la tabella dei fornitori FornitoriIndexViewModel vm = FornitoriIndexViewModel.Load(Context, paginaCorrente, PageSize); return(Json(new { Success = true, Html = RenderRazorViewToString("_List", vm), TargetId = "table_container", CloseDialog = true }, JsonRequestBehavior.DenyGet)); // PartialView("_List",vm); } FornitoriEditViewModel vmErrore = new FornitoriEditViewModel(); vmErrore.Fornitore = fornitore; return(Json(new { Success = false, Html = RenderRazorViewToString("_Edit", vmErrore), TargetId = "modalContent", CloseDialog = false }, JsonRequestBehavior.DenyGet)); }