public GetProyectosResponse GetProyectos() { var response = new GetProyectosResponse(); try { response.ProyectoViewModel = ProyectoMapper.ConvertToProyectoViewModel(_proyectoRepository.GetByCriteria(x => x.IsActivo), null); response.IsValid = true; } catch (Exception ex) { response.IsValid = false; response.ErrorMessage = ex.Message; } return(response); }
public GetProyectosResponse GetProyectos(DataTableRequest request) { var response = new GetProyectosResponse() { IsValid = true }; try { //filtro por el centro del usuario if (HttpContext.Current.Session["Usuario"] != null) { var permisosUsuario = (UsuarioRolPermisoViewModel)HttpContext.Current.Session["Usuario"]; if (permisosUsuario.CentroIdUsuario.HasValue) { if (request.CustomFilters.ContainsKey("CentroId")) { request.CustomFilters["CentroId"] = permisosUsuario.CentroIdUsuario.Value.ToString(); } else { request.CustomFilters.Add("CentroId", permisosUsuario.CentroIdUsuario.Value.ToString()); } } } //establecer los filtros var query = Filter(request.CustomFilters); var filtered = query.ApplyColumnSettings(request, ProyectoMapper.GetPropertiePath); var clienteIds = filtered.Select(x => x.ClienteId).ToList(); var nombreClientes = _clienteRepository.GetByCriteria(x => clienteIds.Contains(x.ClienteId)).ToDictionary(x => x.ClienteId, x => x.Nombre); response.ProyectoViewModel = filtered.ConvertToProyectoViewModel(nombreClientes); response.TotalElementos = query.Count(); } catch (Exception ex) { response.IsValid = false; response.ErrorMessage = ex.Message; } return(response); }