예제 #1
0
 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"));
 }
예제 #2
0
        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"));
        }
예제 #3
0
 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");
 }