public ActionResult DeleteConfirmed(int id)
        {
            codigoqrordenes codigoqrordenes = db.codigoqrordenes.Find(id);

            db.codigoqrordenes.Remove(codigoqrordenes);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "id,CodigoQR,Ordenes_Id")] codigoqrordenes codigoqrordenes)
 {
     if (ModelState.IsValid)
     {
         db.Entry(codigoqrordenes).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Ordenes_Id = new SelectList(db.ordenes, "id", "Orden", codigoqrordenes.Ordenes_Id);
     return(View(codigoqrordenes));
 }
        public ActionResult Create([Bind(Include = "id,CodigoQR,Ordenes_Id")] codigoqrordenes codigoqrordenes)
        {
            if (ModelState.IsValid)
            {
                db.codigoqrordenes.Add(codigoqrordenes);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.Ordenes_Id = new SelectList(db.ordenes, "id", "Orden", codigoqrordenes.Ordenes_Id);
            return(View(codigoqrordenes));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            codigoqrordenes codigoqrordenes = db.codigoqrordenes.Find(id);

            if (codigoqrordenes == null)
            {
                return(HttpNotFound());
            }
            return(View(codigoqrordenes));
        }
Esempio n. 5
0
        public void AgregarQrOrden(string orden, List <detordenproductoshd> list)
        {
            foreach (var item in list)
            {
                if (item.codigoqr != "NA")
                {
                    codigoqrordenes codigoqrordenes = new codigoqrordenes();
                    codigoqrordenes.CodigoQR   = item.codigoqr;
                    codigoqrordenes.Ordenes_Id = db.ordenes.Where(x => x.Orden == orden).FirstOrDefault().id;

                    db.codigoqrordenes.Add(codigoqrordenes);
                    db.SaveChanges();
                }
            }
        }
        // GET: codigoqrordenes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            codigoqrordenes codigoqrordenes = db.codigoqrordenes.Find(id);

            if (codigoqrordenes == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Ordenes_Id = new SelectList(db.ordenes, "id", "Orden", codigoqrordenes.Ordenes_Id);
            return(View(codigoqrordenes));
        }
Esempio n. 7
0
        public async Task <bool> CapturaQR(List <codigoqrordenes> ListaQR)
        {
            if (ListaQR.Count > 0)
            {
                foreach (var item in ListaQR)
                {
                    codigoqrordenes codigoqrordenes = new codigoqrordenes();
                    codigoqrordenes.CodigoQR   = item.CodigoQR;
                    codigoqrordenes.Ordenes_Id = item.Ordenes_Id;

                    db.codigoqrordenes.Add(codigoqrordenes);
                }

                await db.SaveChangesAsync();
            }
            return(true);
        }
Esempio n. 8
0
        private async void TxtProducto_KeyPress(object sender, KeyPressEventArgs e)
        {
            if ((int)e.KeyChar == (int)Keys.Enter)
            {
                ctrlScan = new scanController();
                string producto = this.txtProducto.Text.ToUpper();
                string orden    = this.txtOrden.Text.ToUpper();
                if (ctrlScan.ExisteSKU(producto))
                {
                    if (ctrlScan.IsKit(producto))
                    {
                        if (ctrlScan.CantidadKitCorrecta(producto, ListaInicial))
                        {
                            foreach (var item in ctrlScan.ListaKit(producto))
                            {
                                int cantidadEscaneados = (int)ListaInicial.Where(x => x.SKU.Equals(item.skus.Sku)).Sum(x => x.CantidadEscaneos);
                                int cantidadAgregar    = cantidadEscaneados + (int)item.Cantidad;

                                var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(item.skus.Sku)).FirstOrDefault();
                                cantidadEscaneado.CantidadEscaneos = cantidadAgregar;
                            }
                        }
                        else
                        {
                            SystemSounds.Asterisk.Play();
                            string respuesta;

                            do
                            {
                                respuesta = Microsoft.VisualBasic.Interaction.InputBox("LA CANTIDAD DEL PAH O KIT ES MAYOR A LA SOLICITADA EN LA ORDEN");
                            } while (respuesta.ToUpper() != "OK");

                            ErrorSobrante();
                        }

                        this.dataGridView1.DataSource = null;
                        this.dataGridView1.DataSource = ListaInicial;
                        this.txtProducto.Text         = "";
                        this.txtProducto.Focus();

                        if (ListaInicial.Sum(x => x.CantidadEscaneos) == (ListaInicial.Sum(x => x.cantidad) * -1))
                        {
                            //Cerrar Orden
                            string guia;

                            SystemSounds.Beep.Play();

                            do
                            {
                                guia = Microsoft.VisualBasic.Interaction.InputBox("ESCANEAR GUIA");

                                if (guia != string.Empty)
                                {
                                    if (guia.ToUpper().Equals("NA"))
                                    {
                                        SystemSounds.Asterisk.Play();
                                        MessageBox.Show("ESTA ORDEN NO SE PUEDE CERRAR, SIN LA GUIA CORRECTA, DEBE LIMPIAR LA ORDEN Y COMENZAR NUEVAMENTE.");
                                        break;
                                    }
                                    else if (guia.ToUpper().Equals("M"))
                                    {
                                        //Cerrar Orden
                                        bool qr = await ctrlScan.CapturaQR(ListaQR);

                                        bool error = await ctrlScan.CapturaErrores(ListaErrores);

                                        bool agregarauditor = await ctrlScan.AgregarAuditor(orden, this.lblAuditor.Text);

                                        bool cerrarorden = await ctrlScan.CerrarOrdenSinGuia(orden, this.lblPicker.Text.ToUpper());

                                        Limpiar();
                                        break;
                                    }
                                    else
                                    {
                                        if (ctrlScan.ExisteGuia(guia))
                                        {
                                            if (ctrlScan.GuiaOrden(orden, guia))
                                            {
                                                //Cerrar Orden
                                                bool qr = await ctrlScan.CapturaQR(ListaQR);

                                                bool error = await ctrlScan.CapturaErrores(ListaErrores);

                                                bool agregarauditor = await ctrlScan.AgregarAuditor(orden, this.lblAuditor.Text);

                                                bool cerrarorden = await ctrlScan.CerrarOrden(orden, this.lblPicker.Text.ToUpper());

                                                Limpiar();
                                            }
                                            else
                                            {
                                                SystemSounds.Asterisk.Play();

                                                MessageBox.Show("GUIA NO PERTENECE A LA ORDEN");
                                                guia = string.Empty;
                                                ErrorGuiaIncorrecta();
                                            }
                                        }
                                        else
                                        {
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("GUIA NO EXISTE");
                                            guia = string.Empty;
                                        }
                                    }
                                }
                            }while (guia.Equals(string.Empty));
                        }
                    }
                    else
                    {
                        if (ctrlScan.SKUPerteneceOrden(orden, producto))
                        {
                            int cantidadBD         = (int)ListaInicial.Where(x => x.SKU.Equals(producto)).Sum(x => x.cantidad * -1);
                            int cantidadEscaneados = (int)ListaInicial.Where(x => x.SKU.Equals(producto)).Sum(x => x.CantidadEscaneos);

                            if (ctrlScan.IsQRCode(producto))
                            {
                                int cantidadAgregar = cantidadEscaneados + 1;

                                if (cantidadAgregar <= cantidadBD)
                                {
                                    string qrcode;
                                    SystemSounds.Beep.Play();
                                    do
                                    {
                                        qrcode = Microsoft.VisualBasic.Interaction.InputBox("ESCANEAR CODIGO QR");

                                        if (qrcode != string.Empty)
                                        {
                                            if (qrcode.Length < 15)
                                            {
                                                SystemSounds.Asterisk.Play();
                                                MessageBox.Show("CODIGO QR NO VALIDO");
                                                qrcode = string.Empty;
                                            }
                                            else
                                            {
                                                var validarqr = ListaQR.Where(x => x.CodigoQR.Equals(qrcode)).FirstOrDefault();

                                                if (validarqr == null)
                                                {
                                                    var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(producto)).FirstOrDefault();
                                                    cantidadEscaneado.CantidadEscaneos = cantidadAgregar;

                                                    codigoqrordenes codigoqrordenes = new codigoqrordenes();
                                                    codigoqrordenes.CodigoQR   = qrcode;
                                                    codigoqrordenes.Ordenes_Id = int.Parse(lblOrdenId.Text);
                                                    ListaQR.Add(codigoqrordenes);
                                                }
                                                else
                                                {
                                                    SystemSounds.Asterisk.Play();
                                                    MessageBox.Show("EL CODIGO QR NO PUEDE ESTAR REPETIDO");
                                                }
                                            }
                                        }
                                        else
                                        {
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("EL CODIGO QR NO PUEDE ESTAR VACIO");
                                        }
                                    } while (qrcode.Equals(string.Empty));
                                }
                                else
                                {
                                    string respuesta;

                                    do
                                    {
                                        SystemSounds.Asterisk.Play();
                                        respuesta = Microsoft.VisualBasic.Interaction.InputBox("YA SE HA COMPLETADO EL ESCANEO DE ESTE SKU");
                                    } while (respuesta.ToUpper() != "OK");

                                    ErrorSobrante();
                                }
                            }
                            else if (ctrlScan.IsQTYManual(producto))
                            {
                                string qty;
                                do
                                {
                                    qty = Microsoft.VisualBasic.Interaction.InputBox("CAPTURE LA CANTIDAD DE SKUS");

                                    int cantidadAgregar = cantidadEscaneados + int.Parse(qty);

                                    if (cantidadAgregar <= cantidadBD)
                                    {
                                        var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(producto)).FirstOrDefault();
                                        cantidadEscaneado.CantidadEscaneos = cantidadAgregar;
                                    }
                                    else
                                    {
                                        string respuesta;
                                        do
                                        {
                                            SystemSounds.Asterisk.Play();
                                            respuesta = Microsoft.VisualBasic.Interaction.InputBox("LA CANTIDAD DE SKUS NO PUEDE SER MAYOR A LA DE LA ORDEN");
                                        } while (respuesta.ToUpper() != "OK");

                                        ErrorSobrante();
                                    }
                                } while (qty.Equals(string.Empty));
                            }
                            else
                            {
                                int cantidadAgregar = cantidadEscaneados + 1;

                                if (cantidadAgregar <= cantidadBD)
                                {
                                    var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(producto)).FirstOrDefault();
                                    cantidadEscaneado.CantidadEscaneos = cantidadAgregar;
                                }
                                else
                                {
                                    string respuesta;

                                    do
                                    {
                                        SystemSounds.Asterisk.Play();
                                        respuesta = Microsoft.VisualBasic.Interaction.InputBox("YA SE HA COMPLETADO EL ESCANEO DE ESTE SKU");
                                    } while (respuesta.ToUpper() != "OK");

                                    ErrorSobrante();
                                }
                            }

                            this.dataGridView1.DataSource = null;
                            this.dataGridView1.DataSource = ListaInicial;
                            this.txtProducto.Text         = "";
                            this.txtProducto.Focus();

                            if (ListaInicial.Sum(x => x.CantidadEscaneos) == (ListaInicial.Sum(x => x.cantidad) * -1))
                            {
                                string guia;
                                SystemSounds.Beep.Play();
                                do
                                {
                                    guia = Microsoft.VisualBasic.Interaction.InputBox("ESCANEAR GUIA");

                                    if (guia != string.Empty)
                                    {
                                        if (guia.ToUpper().Equals("NA"))
                                        {
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("ESTA ORDEN NO SE PUEDE CERRAR, SIN LA GUIA CORRECTA, DEBE LIMPIAR LA ORDEN Y COMENZAR NUEVAMENTE.");
                                            break;
                                        }
                                        else if (guia.ToUpper().Equals("M"))
                                        {
                                            //Cerrar Orden
                                            bool qr = await ctrlScan.CapturaQR(ListaQR);

                                            bool error = await ctrlScan.CapturaErrores(ListaErrores);

                                            bool agregarauditor = await ctrlScan.AgregarAuditor(orden, this.lblAuditor.Text);

                                            bool cerrarorden = await ctrlScan.CerrarOrdenSinGuia(orden, this.lblPicker.Text.ToUpper());

                                            Limpiar();
                                            break;
                                        }
                                        else
                                        {
                                            if (ctrlScan.ExisteGuia(guia))
                                            {
                                                if (ctrlScan.GuiaOrden(orden, guia))
                                                {
                                                    //Cerrar Orden
                                                    bool qr = await ctrlScan.CapturaQR(ListaQR);

                                                    bool error = await ctrlScan.CapturaErrores(ListaErrores);

                                                    bool agregarauditor = await ctrlScan.AgregarAuditor(orden, this.lblAuditor.Text);

                                                    bool cerrarorden = await ctrlScan.CerrarOrden(orden, this.lblPicker.Text.ToUpper());

                                                    Limpiar();
                                                }
                                                else
                                                {
                                                    SystemSounds.Asterisk.Play();
                                                    MessageBox.Show("GUIA NO PERTENECE A LA ORDEN");
                                                    guia = string.Empty;
                                                    ErrorGuiaIncorrecta();
                                                }
                                            }
                                            else
                                            {
                                                SystemSounds.Asterisk.Play();
                                                MessageBox.Show("GUIA NO EXISTE");
                                                guia = string.Empty;
                                            }
                                        }
                                    }
                                }while (guia.Equals(string.Empty));
                            }
                        }
                        else
                        {
                            string respuesta;

                            do
                            {
                                SystemSounds.Asterisk.Play();
                                respuesta = Microsoft.VisualBasic.Interaction.InputBox("ESTE SKU NO PERTENECE A LA ORDEN");
                            } while (respuesta.ToUpper() != "OK");

                            ErrorSkuIncorrecto();
                            this.txtProducto.Text = "";
                            this.txtProducto.Focus();
                        }
                    }
                }
                else if (ctrlScan.IsBenevidesCode(producto))
                {
                    string skuvalido = ctrlScan.SkuValidoDesdeBenavides(producto);
                    if (ctrlScan.SKUPerteneceOrden(orden, skuvalido))
                    {
                        int cantidadBD         = (int)ListaInicial.Where(x => x.SKU.Equals(skuvalido)).Sum(x => x.cantidad * -1);
                        int cantidadEscaneados = (int)ListaInicial.Where(x => x.SKU.Equals(skuvalido)).Sum(x => x.CantidadEscaneos);

                        if (ctrlScan.IsQRCode(skuvalido))
                        {
                            int cantidadAgregar = cantidadEscaneados + 1;

                            if (cantidadAgregar <= cantidadBD)
                            {
                                string qrcode;
                                SystemSounds.Beep.Play();
                                do
                                {
                                    qrcode = Microsoft.VisualBasic.Interaction.InputBox("ESCANEAR CODIGO QR");

                                    if (qrcode != string.Empty)
                                    {
                                        if (qrcode.Length < 15)
                                        {
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("CODIGO QR NO VALIDO");
                                            qrcode = string.Empty;
                                        }
                                        else
                                        {
                                            var validarqr = ListaQR.Where(x => x.CodigoQR.Equals(qrcode)).FirstOrDefault();

                                            if (validarqr == null)
                                            {
                                                var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(skuvalido)).FirstOrDefault();
                                                cantidadEscaneado.CantidadEscaneos = cantidadAgregar;

                                                codigoqrordenes codigoqrordenes = new codigoqrordenes();
                                                codigoqrordenes.CodigoQR   = qrcode;
                                                codigoqrordenes.Ordenes_Id = int.Parse(lblOrdenId.Text);
                                                ListaQR.Add(codigoqrordenes);
                                            }
                                            else
                                            {
                                                SystemSounds.Asterisk.Play();
                                                MessageBox.Show("EL CODIGO QR NO PUEDE ESTAR REPETIDO");
                                            }
                                        }
                                    }
                                    else
                                    {
                                        SystemSounds.Asterisk.Play();
                                        MessageBox.Show("EL CODIGO QR NO PUEDE ESTAR VACIO");
                                    }
                                } while (qrcode.Equals(string.Empty));
                            }
                            else
                            {
                                string respuesta;

                                do
                                {
                                    SystemSounds.Asterisk.Play();
                                    respuesta = Microsoft.VisualBasic.Interaction.InputBox("YA SE HA COMPLETADO EL ESCANEO DE ESTE SKU");
                                } while (respuesta.ToUpper() != "OK");

                                ErrorSobrante();
                            }
                        }
                        else if (ctrlScan.IsQTYManual(skuvalido))
                        {
                            string qty;
                            do
                            {
                                qty = Microsoft.VisualBasic.Interaction.InputBox("CAPTURE LA CANTIDAD DE SKUS");

                                int cantidadAgregar = cantidadEscaneados + int.Parse(qty);

                                if (cantidadAgregar <= cantidadBD)
                                {
                                    var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(skuvalido)).FirstOrDefault();
                                    cantidadEscaneado.CantidadEscaneos = cantidadAgregar;
                                }
                                else
                                {
                                    string respuesta;
                                    do
                                    {
                                        SystemSounds.Asterisk.Play();
                                        respuesta = Microsoft.VisualBasic.Interaction.InputBox("LA CANTIDAD DE SKUS NO PUEDE SER MAYOR A LA DE LA ORDEN");
                                    } while (respuesta.ToUpper() != "OK");

                                    ErrorSobrante();
                                }
                            } while (qty.Equals(string.Empty));
                        }
                        else
                        {
                            int cantidadAgregar = cantidadEscaneados + 1;

                            if (cantidadAgregar <= cantidadBD)
                            {
                                var cantidadEscaneado = ListaInicial.Where(x => x.SKU.Equals(skuvalido)).FirstOrDefault();
                                cantidadEscaneado.CantidadEscaneos = cantidadAgregar;
                            }
                            else
                            {
                                string respuesta;

                                do
                                {
                                    SystemSounds.Asterisk.Play();
                                    respuesta = Microsoft.VisualBasic.Interaction.InputBox("YA SE HA COMPLETADO EL ESCANEO DE ESTE SKU");
                                } while (respuesta.ToUpper() != "OK");

                                ErrorSobrante();
                            }
                        }

                        this.dataGridView1.DataSource = null;
                        this.dataGridView1.DataSource = ListaInicial;
                        this.txtProducto.Text         = "";
                        this.txtProducto.Focus();

                        if (ListaInicial.Sum(x => x.CantidadEscaneos) == (ListaInicial.Sum(x => x.cantidad) * -1))
                        {
                            string guia;
                            SystemSounds.Beep.Play();
                            do
                            {
                                guia = Microsoft.VisualBasic.Interaction.InputBox("ESCANEAR GUIA");

                                if (guia != string.Empty)
                                {
                                    if (guia.ToUpper().Equals("NA"))
                                    {
                                        SystemSounds.Asterisk.Play();
                                        MessageBox.Show("ESTA ORDEN NO SE PUEDE CERRAR, SIN LA GUIA CORRECTA, DEBE LIMPIAR LA ORDEN Y COMENZAR NUEVAMENTE.");
                                        break;
                                    }
                                    else if (guia.ToUpper().Equals("M"))
                                    {
                                        //Cerrar Orden
                                        bool qr = await ctrlScan.CapturaQR(ListaQR);

                                        bool error = await ctrlScan.CapturaErrores(ListaErrores);

                                        bool agregarauditor = await ctrlScan.AgregarAuditor(orden, this.lblAuditor.Text);

                                        bool cerrarorden = await ctrlScan.CerrarOrdenSinGuia(orden, this.lblPicker.Text.ToUpper());

                                        Limpiar();
                                        break;
                                    }
                                    else
                                    {
                                        if (ctrlScan.ExisteGuia(guia))
                                        {
                                            if (ctrlScan.GuiaOrden(orden, guia))
                                            {
                                                //Cerrar Orden
                                                bool qr = await ctrlScan.CapturaQR(ListaQR);

                                                bool error = await ctrlScan.CapturaErrores(ListaErrores);

                                                bool agregarauditor = await ctrlScan.AgregarAuditor(orden, this.lblAuditor.Text);

                                                bool cerrarorden = await ctrlScan.CerrarOrden(orden, this.lblPicker.Text.ToUpper());

                                                Limpiar();
                                            }
                                            else
                                            {
                                                SystemSounds.Asterisk.Play();
                                                MessageBox.Show("GUIA NO PERTENECE A LA ORDEN");
                                                guia = string.Empty;
                                                ErrorGuiaIncorrecta();
                                            }
                                        }
                                        else
                                        {
                                            SystemSounds.Asterisk.Play();
                                            MessageBox.Show("GUIA NO EXISTE");
                                            guia = string.Empty;
                                        }
                                    }
                                }
                            }while (guia.Equals(string.Empty));
                        }
                    }
                    else
                    {
                        string respuesta;

                        do
                        {
                            SystemSounds.Asterisk.Play();
                            respuesta = Microsoft.VisualBasic.Interaction.InputBox("ESTE SKU NO PERTENECE A LA ORDEN");
                        } while (respuesta.ToUpper() != "OK");

                        ErrorSkuIncorrecto();
                        this.txtProducto.Text = "";
                        this.txtProducto.Focus();
                    }
                }
                else
                {
                    string respuesta;

                    do
                    {
                        SystemSounds.Asterisk.Play();
                        respuesta = Microsoft.VisualBasic.Interaction.InputBox("ESTE SKU NO EXISTE");
                    } while (respuesta.ToUpper() != "OK");

                    this.txtProducto.Text = "";
                    this.txtProducto.Focus();
                }

                e.Handled = true;
            }
        }
        public ActionResult ObtenerQR()
        {
            try
            {
                var Draw          = Request.Form.GetValues("draw").FirstOrDefault();
                var Start         = Request.Form.GetValues("start").FirstOrDefault();
                var Length        = Request.Form.GetValues("length").FirstOrDefault();
                var SortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][data]").FirstOrDefault();
                var SortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();

                var fechaRegistro = Request.Form.GetValues("columns[0][search][value]").FirstOrDefault();

                int PageSize = Length != null?Convert.ToInt32(Length) : 0;

                int Skip = Start != null?Convert.ToInt32(Start) : 0;

                int TotalRecords = 0;

                List <codigoqrordenes> listaQR = new List <codigoqrordenes>();

                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
                {
                    con.Open();

                    string sql   = "exec SP_CodigoQrOrdenes_ConsultaParametrosOpcionales @fechaOrdenes";
                    var    query = new SqlCommand(sql, con);

                    if (fechaRegistro != "")
                    {
                        DateTime date = Convert.ToDateTime(fechaRegistro);
                        query.Parameters.AddWithValue("@fechaOrdenes", date);
                    }
                    else
                    {
                        query.Parameters.AddWithValue("@fechaOrdenes", DBNull.Value);
                    }

                    using (var dr = query.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            // facturas
                            var qrcode = new codigoqrordenes();

                            qrcode.id             = Convert.ToInt32(dr["id"]);
                            qrcode.CodigoQR       = dr["CodigoQR"].ToString();
                            qrcode.OrdenConsulta  = dr["Orden"].ToString();
                            qrcode.FechaAltaOrden = Convert.ToDateTime(dr["FechaAlta"].ToString());

                            listaQR.Add(qrcode);
                        }
                    }
                }

                if (!(string.IsNullOrEmpty(SortColumn) && string.IsNullOrEmpty(SortColumnDir)))
                {
                    listaQR = listaQR.OrderBy(SortColumn + " " + SortColumnDir).ToList();
                }

                TotalRecords = listaQR.ToList().Count();
                var NewItems = listaQR.Skip(Skip).Take(PageSize == -1 ? TotalRecords : PageSize).ToList();

                return(Json(new { draw = Draw, recordsFiltered = TotalRecords, recordsTotal = TotalRecords, data = NewItems }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                return(null);
            }
        }