public ActionResult Create(valor_hh model, string valor) { //se realiza validacion de campos del modelo obtenidos desde el formulario valor = valor.Replace(".", ","); try { model.valor = Decimal.Parse(valor); } catch (Exception e) { App_Start.Helper.ErrorService.LogError(e); } ModelState.Remove("valor"); if (ModelState.IsValid) { //se modifican atributos del modelo model.usuario_mod = SesionLogin.Nom_cor_usu; model.fecha_mod = DateTime.Now; model.estado = true; try { //se agrega modelo a la entidad _db.valor_hh.Add(model); //se guardan los cambios _db.SaveChanges(); } catch (Exception err) { //captura excepcion en caso de existir registro duplicado (primary key) en la tabla de la base de datos if ((err.InnerException.InnerException).GetType().ToString().Equals("System.Data.SqlClient.SqlException") && ((SqlException)(err.InnerException.InnerException)).ErrorCode == -2146232060) { return(JsonError("Ya existe un registro con estos datos")); } //captura cualquier otra excepcion return(JsonError("Opps, ocurrio un problema")); } return(JsonExito()); } //en caso de existir un campo invalido, lo captura la validacion del modelo, recarga los selectList y carga nuevamente el formulario Selectores(model); return(JsonError("Opps, ocurrio un problema")); }
public ActionResult Edit(valor_hh model, string valor) { valor = valor.Replace(".", ","); try { model.valor = Decimal.Parse(valor); } catch (Exception e) { App_Start.Helper.ErrorService.LogError(e); } ModelState.Remove("valor"); if (ModelState.IsValid) { model.usuario_mod = SesionLogin.Nom_cor_usu; model.fecha_mod = DateTime.Now; model.estado = true; try { _db.valor_hh.Attach(model); _db.Entry(model).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); return(JsonExito()); } catch (Exception err) { //captura excepcion en caso de existir registro duplicado (primary key) en la tabla de la base de datos if ((err.InnerException.InnerException).GetType().ToString().Equals("System.Data.SqlClient.SqlException") && ((SqlException)(err.InnerException.InnerException)).ErrorCode == -2146232060) { return(JsonError("Ya existe un registro con estos datos")); } App_Start.Helper.ErrorService.LogError(err); //captura cualquier otra excepcion return(JsonError("Opps, ocurrio un problema")); } } Selectores(model); return(JsonError("Opps, ocurrio un problema")); }
private void Selectores(valor_hh model) { //carga objetos SelectList, para elementos select html, en el "modelo" asociado a la vista "Form" ViewBag.id_cargo = new SelectList(_db.cargos.OrderBy(item => item.nom_cargo), "id_cargo", "nom_cargo"); ViewBag.id_emp = new SelectList(_db.empresas.OrderBy(item => item.nom_emp), "id_emp", "nom_emp"); ViewBag.id_unidad = new SelectList(_db.unidades.OrderBy(item => item.nom_unidad), "id_unidad", "nom_unidad"); }