JQuery - Consulta en base de datos para saber si ya existe codigo(id)

 
Vista:
Imágen de perfil de erik

Consulta en base de datos para saber si ya existe codigo(id)

Publicado por erik (3 intervenciones) el 17/12/2014 16:37:23
Hola

Necesito una guía, El problema que me surgio es el siguiente: Trabajo con mvc. .NET JavaScript jquery .


Tengo un campo donde creo un nuevo código y si existe me envía una imagen diciéndome "código ya existe" y bloquea el botón guardar....de lo contrario si no existe el código en mi base de datos me lo deja crear y guardar.Perfecto allí tengo la función con el campo que estoy llenando y trabaja perfecto,, el problema ahora es que estoy concatenando dos campos y un tercero donde llena automáticamente el código que se ingresa en los dos campos. ejemplo:


campo1 = 01

campo2 = 02

campo3= 0102 este campo es el que necesito consultar se llama CodigoCentroDeCosto


y en el campo dos es donde escribo y aparece automáticamente el código en el campo 3 concatenando campo 1 y 2 ... tengo entendido que el Keyup es un evento de teclado y el problema es que necesito que me verifique que el código completo del campo 3 no esta creado en la base de datos y pues como allí aparece automáticamente, el evento keyup no hace nada sobre este campo3 ya que no estoy escribiendo allí si no el en campo2.

aquí mi funtion la cual trabaja bien en el mismo campo que escribo. Por favor que me hace falta modificar para que me haga la consulta en el campo3


// Consulta la base de datos para indicar que ya existe un activo fijo con ese código
Código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$("#CodigoCentroDeCosto").keyup(function (e) {
        var consulta = $("#CodigoCentroDeCosto").val();
            $("#com").delay(500).queue(function(n){
                $("#com").html('<img src="/Images/ajax-loader.gif"/>');
                $.ajax({
                    type: "POST",
                    url: "@Url.Action("existe","CentroDeCosto")",
                    data: "id="+consulta,
                    dataType: "html",
                    error: function(){
                        alert("error petición ajax");
                    },
                    success: function (data) {
                        console.log(typeof (data), data);
                        if (data=="true") {
                            $("#com").html("Ya existe este código.");
                            $('.guardar').attr("disabled", true);
                        } else {
                            $("#com").html("");
                            $('.guardar').attr("disabled", false);
                        }
                        n();
                    }
                });
            });
        });


mi controlador
Código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string existe(string id)
        {
            db.Configuration.ProxyCreationEnabled = false;
            var rows = (from p in db.GN_CentroDeCosto
                        where p.CodigoCentroDeCosto.Equals(id)
                        select p).ToArray().Count();
            if (rows > 0)
            {
                var res = true;
                JavaScriptSerializer js = new JavaScriptSerializer();
                string org2 = js.Serialize(res);
                return org2;
            }
            else
            {
                var res = false;
                JavaScriptSerializer js = new JavaScriptSerializer();
                string org2 = js.Serialize(res);
                return org2;
            }
        }

el campo donde consulta y muestra imagen

Código HTML:
1
2
3
4
5
6
7
8
9
10
11
<div class="separadores">
    <div class="flota">
        <div class="editor-label">
            @Html.LabelFor(model => model.CodigoCentroDeCosto)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.CodigoCentroDeCosto)
            @Html.ValidationMessageFor(model => model.CodigoCentroDeCosto, "", new { @class = "validate" })
            <div id="com"></div>
        </div>
    </div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de erik

Consulta en base de datos para saber si ya existe codigo(id)

Publicado por erik (3 intervenciones) el 17/12/2014 21:44:09
1
2
3
4
5
6
7
8
9
10
11
public JsonResult isValorUnico(string CodigoCentroDeCosto)
        {
            bool isValueUnique;
 
            using (Entities db = new Entities())
            {
                isValueUnique = db.GN_CentroDeCosto.All(a => a.CodigoCentroDeCosto != CodigoCentroDeCosto);
            }
 
            return Json(isValueUnique, JsonRequestBehavior.AllowGet);
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar