Hola a todos.
Estoy trabajando con mvc 4 y sql server 2012.
El favor es el siguiente, necesito controlar una exception entity. ya que el me llama los datos pero cuando el cliente va a insertar un (id) repetido se revienta el código, por que este (id) ya esta en la base de datos guardado y no hay nada que le avise al usuario que ya esta creado, necesitaría un alert en la vista que le diga al usuario a la hora de guardar que ese id ya esta creado en la base de datos cuando le da click en el botón guardar.
Envio controlador
Código:
public ActionResult Create()
{
ViewBag.ST_Estado_CodigoEstado = new SelectList(ES, "ID", "NAME");
ViewBag.GN_PlanContable = new SelectList(EST, "ID", "NAME");
return View();
}
[HttpPost]
public ActionResult Create(GN_PlanContable gn_plancontable)
{
if (ModelState.IsValid)
{
db.GN_PlanContable.Add(gn_plancontable);
db.SaveChanges();
return RedirectToAction("confirm", "Home");
}
ViewBag.ST_Estado_CodigoEstado = new SelectList(db.ST_Estado, "CodigoEstado", "NombreEstado", gn_plancontable.ST_Estado_CodigoEstado);
ViewBag.GN_PlanContable = new SelectList(db.GN_PlanContable, "Padre", "NombrePlanContable", gn_plancontable.Padre);
return View(gn_plancontable);
}
Envio modelo
Código:
public partial class GN_PlanContable
{
public GN_PlanContable()
{
this.CT_ItemDeContabilidad = new HashSet<CT_ItemDeContabilidad>();
this.CT_MovimientosContabilidad = new HashSet<CT_MovimientosContabilidad>();
this.CT_SaldoContabilidad = new HashSet<CT_SaldoContabilidad>();
}
[Required(ErrorMessage = "*")]
[Display(Name = "Codigo Cuenta")]
[RegularExpression(@"[A-Za-z_0-9 .#_-]*\.?[A-Za-z_0-9 .#_-]+", ErrorMessage = "** ")]
public string CodigoPlanContable { get; set; }
por ultimo envio el modelo vista y botón guardar
Código HTML:
@model SifActivoFijo.Models.GN_PlanContable
@using (Ajax.BeginForm("Create", "PlanContable", new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "Resultado",
OnSuccess = "$.fn.ParseFormValidation('createForm')"
}, new { @id = "createForm", @name = "createForm" }))
{
<div class="separadores">
<div class="flota">
<div class="editor-label">
@Html.LabelFor(model => model.CodigoPlanContable)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CodigoPlanContable)
@Html.ValidationMessageFor(model => model.CodigoPlanContable, "", new { @class = "validate" })
<div class="flota">
<input type="submit" value=" " class="guardar" />
</div>
</div>