public JsonResult Modificar(clsUsuario user) { try { var strMensaje = FnValidarModificacionUser(user); if (strMensaje.Equals(string.Empty)) { user.Estado = 1; user.CodigoUsua = lnUser.FnBuscarUsuarioPorDni(user.Dni).CodigoUsua; var blnResp = new clsModelUsuario().FnModificarUsuario(user); return(Json(blnResp ? new { Estado = clsContantes.estado.Succes, strMensaje = clsContantes.mensajeGuarExito } : new { Estado = clsContantes.estado.Failured, strMensaje = clsContantes.mensajeGuarError })); } return(Json(new { Estado = clsContantes.estado.Failured, strMensaje })); } catch (Exception ex) { Console.WriteLine(ex.Message); } return(Json(new { Estado = clsContantes.estado.ErrorCritico, strMensaje = clsContantes.mensajeErrorCritico })); }
public ActionResult Nuevo(clsModelUsuario pmov) { Boolean Continuar,ConDatos; Continuar = true; ConDatos = false; // ================================================================== // VALIDA EL ACCESO // ================================================================== clsWebApi objServicio = new clsWebApi("url_api"); List<clsModelLoginValidaWeb> pdatos = new List<clsModelLoginValidaWeb>(); clsModelLoginValidaWeb item = new clsModelLoginValidaWeb(); try { item.Usuario = Session["Usr"].ToString(); item.Token = Session["UsrToken"].ToString(); item.Opcion = strAccionInterna1; pdatos.Add(item); IRestResponse task = Task.Run(() => objServicio.fnEjecutarPostObject(strRouteValidaOpcion, pdatos)).Result; if (task.StatusCode != System.Net.HttpStatusCode.OK) { Session["UsrUltMensaje"] = "Acceso denegado"; return RedirectToAction("Failed", "Login"); } } catch (Exception ex) { string exMsg = ex.Message.ToString(); return RedirectToAction("NotFound", "ErrorHandler"); } // ================================================================== //Valida si la clase tiene datos es decir si el modelo viene con valores PropertyInfo[] properties = typeof(clsModelUsuario).GetProperties(); foreach (PropertyInfo property in properties) { //así obtenemos el nombre del atributo string NombreAtributo = property.Name; //así obtenemos el valor del atributo var Valor = property.GetValue(pmov); if (NombreAtributo.ToUpper() != "ESTADO") { //EL CAMPO ESTADO SIEMPRE TIENE UN VALOR DEFAULT NO SE EVALUA if (Valor != null) { //al menos un valor no esta nulo el modelo tiene datos ConDatos = true; } } } if (ConDatos) { // cuando tiene datos el modelo es porque usó la opción de grabar... //graba los valores List<clsModelUsuario> datos = new List<clsModelUsuario>(); datos.Add(pmov); IRestResponse taskSet = Task.Run(() => objServicio.fnEjecutarPostObject("Usuario/Grabar", datos)).Result; switch (taskSet.StatusCode) { case System.Net.HttpStatusCode.OK: Session["strUltMensajeController"] = "Datos Grabados"; break; case System.Net.HttpStatusCode.NotFound: Session["strUltMensajeController"] = "Error al consumir servicio web."; ModelState.AddModelError("Error", "Error al consumir servicio web."); break; default: Session["strUltMensajeController"] = taskSet.Content.ToString(); ModelState.AddModelError("Error", "Error al conectarse a la base de datos"); break; } if (ModelState.IsValid) { //despues de grabar llama el index return RedirectToAction("Index"); } else { return View(pmov); } } else { // algun valor esta nulo llena los datos } var model = new clsModelUsuario(); //Llenar valores predeterminados if (Continuar) { model.Estado = "AC"; } return View(model); }
public ActionResult Eliminar(string id, clsModelUsuario itemgrabar) { // validar permiso a la acción del controlador // ================================================================== // VALIDA EL ACCESO // ================================================================== clsWebApi objServicio = new clsWebApi("url_api"); List<clsModelLoginValidaWeb> pdatos = new List<clsModelLoginValidaWeb>(); clsModelLoginValidaWeb item = new clsModelLoginValidaWeb(); try { item.Usuario = Session["Usr"].ToString(); item.Token = Session["UsrToken"].ToString(); item.Opcion = strAccionInterna3; pdatos.Add(item); IRestResponse task = Task.Run(() => objServicio.fnEjecutarPostObject(strRouteValidaOpcion, pdatos)).Result; if (task.StatusCode != System.Net.HttpStatusCode.OK) { Session["UsrUltMensaje"] = "Acceso denegado"; return RedirectToAction("Failed", "Login"); } } catch (Exception ex) { string exMsg = ex.Message.ToString(); return RedirectToAction("NotFound", "ErrorHandler"); } // ================================================================== if (id == null || id == "") { // no trae datos return RedirectToAction("Index"); } else { //se valida si fue seleccionado grabar en la vista para actualizar los datos if (itemgrabar.Usuario != null) { // la eliminación fue confirmada clsWebApi objServicioDatos = new clsWebApi("url_api"); //graba los valores List<clsModelUsuario> datos = new List<clsModelUsuario>(); datos.Add(itemgrabar); IRestResponse taskSet = Task.Run(() => objServicioDatos.fnEjecutarPostObject("Usuario/Eliminar", datos)).Result; switch (taskSet.StatusCode) { case System.Net.HttpStatusCode.OK: Session["strUltMensajeController"] = "Datos Grabados"; break; case System.Net.HttpStatusCode.NotFound: Session["strUltMensajeController"] = "Error al consumir servicio web."; ModelState.AddModelError("Error", "Error al consumir servicio web."); break; default: Session["strUltMensajeController"] = taskSet.Content.ToString(); ModelState.AddModelError("Error", "Error al conectarse a la base de datos"); break; } if (ModelState.IsValid) { //despues de grabar llama el index return RedirectToAction("Index"); } else { //graba con error return View(itemgrabar); } } else { // se esta llamando la accion por primera vez desde el grid del index... clsWebApi objServicioDatos = new clsWebApi("url_api"); List<clsModelUsuario> datos = new List<clsModelUsuario>(); List<clsModelUsuario> param = new List<clsModelUsuario>(); clsModelUsuario itemget = new clsModelUsuario(); itemget.Usuario = id; param.Add(itemget); IRestResponse tskGet = Task.Run(() => objServicioDatos.fnEjecutarPostObject("Usuario/Get", param)).Result; switch (tskGet.StatusCode) { case System.Net.HttpStatusCode.OK: Session["strUltMensajeController"] = ""; datos = JArray.Parse(tskGet.Content).ToObject<List<clsModelUsuario>>(); break; case System.Net.HttpStatusCode.NotFound: Session["UsrUltMensaje"] = "Not Found..."; break; default: Session["UsrUltMensaje"] = "Error al recuperar " + tskGet.StatusCode.ToString() + " " + tskGet.Content.ToString(); break; } return View(datos.First()); } } }