public virtual JsonResult LoadAlertaNecesidades([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            PermisosMostrar();
            var request = requestModel.ConvertToDataTableRequestViewModel();

            //filtro por el centro
            if (HttpContext.Session["Usuario"] != null)
            {
                var UsuarioRolPermisoViewModel = (UsuarioRolPermisoViewModel)HttpContext.Session["Usuario"];
                if (UsuarioRolPermisoViewModel.CentroIdUsuario != null)
                {
                    request.CustomFilters.Add("CentroUsuarioId", HttpContext.Session["CentroIdUsuario"].ToString());
                }
                else
                {
                    request.CustomFilters.Add("CentroUsuarioId", string.Empty);
                }
            }

            var response = _necesidadService.GetNecesidades(request);


            if (!response.IsValid)
            {
                return(null);
            }


            var result = from c in response.NecesidadViewModel
                         select new object[]
            {
                string.Format("<a href=\"/Necesidades/Details/{0}\">{0}</a>", c.NecesidadId.ToString()),
                c.Proyecto,
                c.Cliente,
                c.Tecnologia,
                FormatHelper.Format(c.FechaCreacion, "dd/MM/yyyy"),
                (FormatHelper.Format(c.FechaModificacion, "dd/MM/yyyy") == "01/01/0001") ? "-----------" : FormatHelper.Format(c.FechaModificacion, "dd/MM/yyyy"),
                FormatHelper.Format(c.FechaSolicitud, "dd/MM/yyyy"),
                FormatHelper.Format(c.FechaCompromiso, "dd/MM/yyyy"),
                c.Centro
            };

            var centroUsuarioId = HttpContext.Session["CentroIdUsuario"];

            if ((centroUsuarioId != null) && result.Any())
            {
                var resultTemp = new List <object[]>();
                result.ToList().ForEach(x =>
                {
                    var item = x.ToList();
                    resultTemp.Add(item.ToArray());
                });
                result = resultTemp;
            }
            var jsonResponse = new DataTablesResponse(requestModel.Draw, result, response.TotalElementos, response.TotalElementos);

            return(Json(jsonResponse, JsonRequestBehavior.AllowGet));
        }
        public void GetNecesidades()
        {
            using (var tx = new TransactionManager())
            {
                var customFilters = new Dictionary <string, string>();
                customFilters.Add("filterEstado", "10");

                var table = new DataTableRequest()
                {
                    PageSize      = PAGE_SIZE,
                    PageNumber    = PAGE_NUMBER,
                    CustomFilters = customFilters
                };

                var response = _necesidadService.GetNecesidades(table);

                Assert.IsTrue(response.IsValid);
            }
        }