Пример #1
0
 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 }));
 }
Пример #2
0
        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);
        }
Пример #3
0
        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());
                }

            }

        }