public async Task <List <UserCompetencyMatrixModel> > GetUserCompetency() { var user = GetUserSession(); if (user != null) { var request = new CompetenciesReportRequest(); request.UserID = user.UserID; var result = await reportService.GetUserCompetencyMetrix(request); if (result != null) { if (result.Content != null) { return(result.Content); } } } return(null); }
public async Task <Tuple <string, List <UserCompetencyMatrixModel> > > GetUserCompetencyMatrix(CompetenciesReportRequest request) { List <UserCompetencyMatrixModel> response = null; var message = ""; var competencyRepo = unitOfWork.GetRepository <UserCompetencyMatrix>(); var competencies = await Task.Run(() => competencyRepo.Get(x => x.UserID == request.UserID && (string.IsNullOrEmpty(request.Type) || x.Type == request.Type) && (string.IsNullOrEmpty(request.MainGroup) || x.Type == request.MainGroup) && (string.IsNullOrEmpty(request.SubGroup) || x.Type == request.SubGroup) && (string.IsNullOrEmpty(request.Competency) || x.Type == request.Competency)).ToList()); if (competencies.Any()) { response = new List <UserCompetencyMatrixModel>(); competencies.ForEach(x => { response.Add(new UserCompetencyMatrixModel() { Competency = x.Competency, CurrentLevel = x.CurrentLevel, Gap = x.Gap, ID = x.ID, LoW = x.LoW, MainGroup = x.MainGroup, RatingDate = x.RatingDate, RequiredLevel = x.RequiredLevel, SubGroup = x.SubGroup, Type = x.Type, UserID = x.UserID }); }); message = "Found " + response.Count() + " records"; } log.LogDebug(message); return(new Tuple <string, List <UserCompetencyMatrixModel> >(message, response)); }
public async Task <ResponseMessage <List <UserCompetencyMatrixModel> > > GetUserCompetencyMetrix(CompetenciesReportRequest request) { return(await Task.Run(() => proxy.GetUserCompetencyMetrix(request))); }
public async Task <ResponseMessage <List <UserCompetencyMatrixModel> > > GetUserCompetencyMetrix(CompetenciesReportRequest reportRequest) { ResponseMessage <List <UserCompetencyMatrixModel> > result; string azureBaseUrl = config.GetValue <string>("DRAAzureAPIURL:DRAAzureAPIBaseURL"); string urlQueryStringParams = config.GetValue <string>("DRAAzureAPIURL:DRAReportsAPIURL"); using (var client = new HttpClient()) using (var request = new HttpRequestMessage(HttpMethod.Post, $"{azureBaseUrl}{urlQueryStringParams}")) using (var httpContent = CreateHttpContent(reportRequest)) { request.Content = httpContent; using (var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead)) { var jsonString = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { result = JsonConvert.DeserializeObject <ResponseMessage <List <UserCompetencyMatrixModel> > >(jsonString); } else { result = new ResponseMessage <List <UserCompetencyMatrixModel> >(); result = JsonConvert.DeserializeObject <ResponseMessage <List <UserCompetencyMatrixModel> > >(jsonString); } } } return(result); }