public JsonResult SimplifiedRequisitionsPage([FromBody] string option) { List <SimplifiedRequisitionViewModel> result; //‘Requisições simplificadas para Registar’ com estado aprovado if (option == "registar") { result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetByApprovals(2)); HttpContext.Session.SetString("aprovadoSession", option); } //Histórico de Requisições simplificadas else if (option == "historico") { result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetByApprovals(3)); HttpContext.Session.SetString("aprovadoSession", option); } //‘Requisições simplificadas’ com utilizador else { HttpContext.Session.SetString("aprovadoSession", ""); result = DBSimplifiedRequisitions.ParseToViewModel(DBSimplifiedRequisitions.GetByCreateResponsiblePendente(User.Identity.Name)); } if (result != null) { //Apply User Dimensions Validations List <AcessosDimensões> userDimensions = DBUserDimensions.GetByUserId(User.Identity.Name); //Regions if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.Region).Count() > 0) { result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.Region && (y.ValorDimensão == x.RegionCode || string.IsNullOrEmpty(x.RegionCode)))); } //FunctionalAreas if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea).Count() > 0) { result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.FunctionalArea && (y.ValorDimensão == x.FunctionalAreaCode || string.IsNullOrEmpty(x.FunctionalAreaCode)))); } //ResponsabilityCenter if (userDimensions.Where(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter).Count() > 0) { result.RemoveAll(x => !userDimensions.Any(y => y.Dimensão == (int)Enumerations.Dimensions.ResponsabilityCenter && (y.ValorDimensão == x.ResponsabilityCenterCode || string.IsNullOrEmpty(x.ResponsabilityCenterCode)))); } } return(Json(result)); }