public ActionResult searchDescripcionHechura()
        {
            var draw   = Request.Form.GetValues("draw").FirstOrDefault();
            var start  = Request.Form.GetValues("start").FirstOrDefault();
            var lenght = Request.Form.GetValues("length").FirstOrDefault();

            var sortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault();
            var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();

            var searchv  = Request.Form.GetValues("search[value]").FirstOrDefault();
            int pagesize = lenght != null?Convert.ToInt32(lenght) : 0;

            int skip = start != null?Convert.ToInt32(start) : 0;

            int totalRecords = 0;


            using (db)
            {
                var v = (from a in db.DescripcionHechura.Where(w => w.regAnulado == false) select new { a.IdDescripcionHechura, a.IdCotizacion, a.IdPieza, a.IdTela, a.CantidadRequerida, Color = db.fn_ObtenerColoresDescHechura(a.IdDescripcionHechura), Pieza = a.Pieza.Nombre + " (" + a.Pieza.SexoPieza + ")", Tela = a.Tela.Nombre, a.Descripcion, a.Duracion });


                if (!(string.IsNullOrEmpty(searchv)))
                {
                    v = v.Where(a => a.IdCotizacion.ToString().Contains(searchv));
                }
                if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir)))
                {
                    v = v.OrderBy(sortColumn + " " + sortColumnDir);
                }
                totalRecords = v.Count();
                var data = v.Skip(skip).Take(pagesize).ToList();

                return(Json(new { draw = draw, recordsFiltered = totalRecords, recordsTotal = totalRecords, data = data }, JsonRequestBehavior.AllowGet));
            }
        }