public List <Assessment> GetAssessments(SkillwiseAssessmentsRequest request) { List <Assessment> response = new List <Assessment>(); try { SqlSvrDAL dal = new SqlSvrDAL(request.ClientInfo); response = dal.GetAssessments(request.SkillId, request.CompetenceId); } catch (Exception ex) { TelemetryClient telemetry = new TelemetryClient(); telemetry.TrackException(ex); //LogHelper.AddLog("AssessmentController", ex.Message, ex.StackTrace, "HCL.Academy.Service", request.ClientInfo.emailId); } return(response); }
public async Task <ActionResult> Create(SkillTraining skillTraining) { try { InitializeServiceClient(); int? assessmentID = null; bool result = false; SkillwiseAssessmentsRequest assessmentRequest = new SkillwiseAssessmentsRequest(); assessmentRequest.ClientInfo = req.ClientInfo; assessmentRequest.CompetenceId = Convert.ToInt32(skillTraining.selectedCompetence); assessmentRequest.SkillId = Convert.ToInt32(skillTraining.selectedSkill); HttpResponseMessage assessmentResponse = await client.PostAsJsonAsync("Assessment/GetAssessments", assessmentRequest); List <Assessment> assessmentsList = await assessmentResponse.Content.ReadAsAsync <List <Assessment> >(); if (assessmentsList.Count > 0) { assessmentID = assessmentsList.FirstOrDefault().AssessmentId; } skillTraining.assessmentId = assessmentID; string trainingName = skillTraining.selectedTraining; skillTraining.trainingName = trainingName; List <SkillTraining> skills = new List <SkillTraining>(); SkillTrainingRequest skillTrainigRequest = new SkillTrainingRequest(); skillTrainigRequest.ClientInfo = req.ClientInfo; skillTrainigRequest.selectedSkill = skillTraining.selectedSkill; skillTrainigRequest.selectedCompetence = skillTraining.selectedCompetence; skillTrainigRequest.selectedTraining = skillTraining.selectedTraining; HttpResponseMessage skillTrainigResponse = await client.PostAsJsonAsync("Training/GetTrainingsByID", skillTrainigRequest); skills = await skillTrainigResponse.Content.ReadAsAsync <List <SkillTraining> >(); if (skills != null) { if (skills.Count > 0) { TempData["Message"] = "Combination already exists"; TempData.Keep(); return(RedirectToAction("Index")); } } SkillTrainingRequest skilltrainingRequest = new SkillTrainingRequest(); skilltrainingRequest.ClientInfo = req.ClientInfo; skilltrainingRequest.selectedTraining = skillTraining.selectedTraining; skilltrainingRequest.selectedCompetence = skillTraining.selectedCompetence; skilltrainingRequest.selectedGEO = skillTraining.selectedGEO; skilltrainingRequest.selectedSkill = skillTraining.selectedSkill; skilltrainingRequest.isMandatory = skillTraining.isMandatory; skilltrainingRequest.isAssessmentRequired = skillTraining.isAssessmentRequired; skilltrainingRequest.assessmentId = skillTraining.assessmentId; skilltrainingRequest.points = skillTraining.points; HttpResponseMessage trainingResponse = await client.PostAsJsonAsync("Training/AddSkillTraining", skilltrainingRequest); result = await trainingResponse.Content.ReadAsAsync <bool>(); if (result) { return(RedirectToAction("Index")); } else { return(View()); } } catch (Exception ex) { //LogHelper.AddLog("SkillTrainingController", ex.Message, ex.StackTrace, "HCL.Academy.Web", user.EmailID); TelemetryClient telemetry = new TelemetryClient(); telemetry.TrackException(ex); return(View(skillTraining)); } }
public async Task <ActionResult> Edit(int id, SkillTraining skillTraining, string category, string skillType) { try { InitializeServiceClient(); bool result = false; int? assessmentID = null; SkillwiseAssessmentsRequest assessmentRequest = new SkillwiseAssessmentsRequest(); assessmentRequest.ClientInfo = req.ClientInfo; assessmentRequest.CompetenceId = Convert.ToInt32(skillTraining.competencyLevelId); assessmentRequest.SkillId = Convert.ToInt32(skillTraining.skillId); HttpResponseMessage assessmentResponse = await client.PostAsJsonAsync("Assessment/GetAssessments", assessmentRequest); List <Assessment> assessmentsList = await assessmentResponse.Content.ReadAsAsync <List <Assessment> >(); if (assessmentsList.Count > 0) { assessmentID = assessmentsList.FirstOrDefault().AssessmentId; } skillTraining.assessmentId = assessmentID; HttpResponseMessage geoResponse = await client.PostAsJsonAsync("Geo/GetAllGEOs", req); skillTraining.GEOs = await geoResponse.Content.ReadAsAsync <List <GEO> >(); HttpResponseMessage competencyResponse = await client.PostAsJsonAsync("Competency/GetCompetenciesBySkillId?skillId=" + skillTraining.skillId, req); skillTraining.competences = await competencyResponse.Content.ReadAsAsync <List <Competence> >(); // HttpResponseMessage competenceResponse = await client.PostAsJsonAsync("Competency/GetAllCompetenceList", req); // skillTraining.competences = await competenceResponse.Content.ReadAsAsync<List<Competence>>(); HttpResponseMessage skillResponse = await client.PostAsJsonAsync("Skill/GetAllSkills", req); skillTraining.skills = await skillResponse.Content.ReadAsAsync <List <Skill> >(); List <SkillTraining> training = new List <SkillTraining>(); skillTraining.trainings = new List <SkillCompetencyLevelTraining>(); HttpResponseMessage mastertrainingResponse = await client.PostAsJsonAsync("Training/GetMasterTrainings", req); training = await mastertrainingResponse.Content.ReadAsAsync <List <SkillTraining> >(); foreach (var train in training) { SkillCompetencyLevelTraining item = new SkillCompetencyLevelTraining(); item.Title = train.trainingName; item.ID = train.id; skillTraining.trainings.Add(item); } List <SkillTraining> skills = new List <SkillTraining>(); SkillTrainingRequest skillTrainigRequest = new SkillTrainingRequest(); skillTrainigRequest.ClientInfo = req.ClientInfo; skillTrainigRequest.selectedSkill = skillTraining.skillId.ToString(); skillTrainigRequest.selectedCompetence = skillTraining.competencyLevelId.ToString(); skillTrainigRequest.selectedTraining = skillTraining.trainingId.ToString(); //HttpResponseMessage skillTrainigResponse = await client.PostAsJsonAsync("Training/GetTrainingsByID", skillTrainigRequest); //skills = await skillTrainigResponse.Content.ReadAsAsync<List<SkillTraining>>(); //if (skills.Count > 0) //{ // TempData["Message"] = "Combination already exists"; // TempData.Keep(); // return RedirectToAction("Index"); //} SkillTrainingRequest updateSkillTrainigRequest = new SkillTrainingRequest(); updateSkillTrainigRequest.ClientInfo = req.ClientInfo; updateSkillTrainigRequest.selectedSkill = skillTraining.skillId.ToString(); updateSkillTrainigRequest.selectedCompetence = skillTraining.competencyLevelId.ToString(); updateSkillTrainigRequest.selectedTraining = skillTraining.trainingId.ToString(); updateSkillTrainigRequest.id = skillTraining.id; updateSkillTrainigRequest.GEO = skillTraining.GEOId.ToString(); updateSkillTrainigRequest.selectedGEO = skillTraining.GEOId.ToString(); updateSkillTrainigRequest.isAssessmentRequired = skillTraining.isAssessmentRequired; updateSkillTrainigRequest.isMandatory = skillTraining.isMandatory; updateSkillTrainigRequest.assessmentId = skillTraining.assessmentId; updateSkillTrainigRequest.points = skillTraining.points; updateSkillTrainigRequest.selectedTraining = skillTraining.trainingId.ToString(); HttpResponseMessage skillTrainigUpdateResponse = await client.PostAsJsonAsync("Training/UpdateSkillTraining", updateSkillTrainigRequest); result = await skillTrainigUpdateResponse.Content.ReadAsAsync <bool>(); if (result) { return(RedirectToAction("Index")); } else { TempData["msg"] = "Update unsuccessful"; return(View(skillTraining)); } } catch { return(View(skillTraining)); } }
public async Task <FileResult> DownloadReportToExcel(string skill, string competency, string projectId) { ExcelPackage excel = new ExcelPackage(); var workSheet = excel.Workbook.Worksheets.Add("Sheet1"); workSheet.TabColor = System.Drawing.Color.Black; workSheet.DefaultRowHeight = 12; InitializeServiceClient(); UserTrainingsRequest trainingPreReq = new UserTrainingsRequest(); trainingPreReq.ClientInfo = req.ClientInfo; trainingPreReq.CompetenceId = Convert.ToInt32(competency); trainingPreReq.SkillId = Convert.ToInt32(skill); trainingPreReq.ProjectId = Convert.ToInt32(projectId); HttpResponseMessage trainingResponse = await client.PostAsJsonAsync("Training/GetTrainings", trainingPreReq); List <Training> SkillBasedTrainings = await trainingResponse.Content.ReadAsAsync <List <Training> >(); int k = 3; try { if (SkillBasedTrainings.Count > 0) { workSheet.Row(1).Height = 40; workSheet.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; workSheet.Row(1).Style.VerticalAlignment = ExcelVerticalAlignment.Top; workSheet.Row(1).Style.Fill.PatternType = ExcelFillStyle.Solid; workSheet.Row(1).Style.Font.Bold = true; workSheet.Row(1).Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.SkyBlue); workSheet.Row(2).Style.VerticalAlignment = ExcelVerticalAlignment.Top; workSheet.Row(3).Style.VerticalAlignment = ExcelVerticalAlignment.Top; workSheet.Cells[1, 1].Value = "Training Name"; workSheet.Cells[2, 1].Value = "Training Completed"; workSheet.Cells[2, 1].Style.Font.Bold = true; workSheet.Cells[3, 1].Value = "Training Not Completed"; workSheet.Cells[3, 1].Style.Font.Bold = true; workSheet.Column(1).Width = 28; for (int i = 0; i < SkillBasedTrainings.Count; i++) { workSheet.Column(i + 2).Width = 50; workSheet.Column(i + 2).Style.WrapText = true; workSheet.Cells[1, i + 2].Value = SkillBasedTrainings[i].TrainingName; k = 2; InitializeServiceClient(); HttpResponseMessage userResponse = await client.PostAsJsonAsync("Training/GetUserTrainingsByTrainingID?trainingId=" + SkillBasedTrainings[i].TrainingId + "&projectId=" + projectId, req); List <UserTraining> userTrainings = await userResponse.Content.ReadAsAsync <List <UserTraining> >(); if (userTrainings != null & userTrainings.Count > 0) { StringBuilder completedUserList = new StringBuilder(); StringBuilder wipUserList = new StringBuilder(); foreach (UserTraining userTraining in userTrainings) { if (userTraining.IsTrainingCompleted) { completedUserList.Append(userTraining.Employee); completedUserList.Append(";"); } else { wipUserList.Append(userTraining.Employee); wipUserList.Append(";"); } } workSheet.Cells[k, i + 2].Value = completedUserList.ToString(); k = k + 1; workSheet.Cells[k, i + 2].Value = wipUserList.ToString(); } } } ////////////Get Assessments for the skill and competency level////////// SkillwiseAssessmentsRequest request = new SkillwiseAssessmentsRequest(); request.ClientInfo = req.ClientInfo; request.SkillId = Convert.ToInt32(skill); request.CompetenceId = Convert.ToInt32(competency); HttpResponseMessage response = await client.PostAsJsonAsync("Assessment/GetAssessments", request); List <Assessment> SkillBasedAssessments = await response.Content.ReadAsAsync <List <Assessment> >(); if (SkillBasedAssessments.Count > 0) { k = k + 3; workSheet.Row(k).Height = 40; workSheet.Row(k).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; workSheet.Row(k).Style.Fill.PatternType = ExcelFillStyle.Solid; workSheet.Row(k).Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.SkyBlue); workSheet.Row(k).Style.Font.Bold = true; workSheet.Row(k).Style.VerticalAlignment = ExcelVerticalAlignment.Top; workSheet.Row(k + 1).Style.VerticalAlignment = ExcelVerticalAlignment.Top; workSheet.Row(k + 2).Style.VerticalAlignment = ExcelVerticalAlignment.Top; workSheet.Cells[k, 1].Value = "Assessment Name"; workSheet.Cells[k + 1, 1].Value = "Assessment Completed"; workSheet.Cells[k + 1, 1].Style.Font.Bold = true; workSheet.Cells[k + 2, 1].Value = "Assessment Not Completed"; workSheet.Cells[k + 2, 1].Style.Font.Bold = true; for (int i = 0; i < SkillBasedAssessments.Count; i++) { workSheet.Cells[k, i + 2].Value = SkillBasedAssessments[i].AssessmentName; HttpResponseMessage assessmentResponse = await client.PostAsJsonAsync("Assessment/GetUserAssessmentsByAssessmentId?assessmentId=" + SkillBasedAssessments[i].AssessmentId + "&projectId=" + projectId, request); List <UserAssessment> userAssessments = await assessmentResponse.Content.ReadAsAsync <List <UserAssessment> >(); string userlist = String.Empty; if (userAssessments != null & userAssessments.Count > 0) { StringBuilder completedAssmtUserList = new StringBuilder(); StringBuilder wipAssmtUserList = new StringBuilder(); foreach (UserAssessment userAssessment in userAssessments) { if (userAssessment.IsAssessmentComplete) { completedAssmtUserList.Append(userAssessment.Employee); completedAssmtUserList.Append(";"); } else { wipAssmtUserList.Append(userAssessment.Employee); wipAssmtUserList.Append(";"); } } workSheet.Cells[k + 1, i + 2].Value = completedAssmtUserList.ToString(); workSheet.Cells[k + 2, i + 2].Value = wipAssmtUserList.ToString(); } } } string clientName = ConfigurationManager.AppSettings["ClientName"].ToString(); string excelName = clientName + "_TrainingReport_" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + ".xlsx"; using (var memoryStream = new MemoryStream()) { Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=" + excelName); excel.SaveAs(memoryStream); memoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); return(File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")); } } catch (Exception ex) { //LogHelper.AddLog("TrainingReportController", ex.Message, ex.StackTrace, "HCL.Academy.Web", user.EmailID); TelemetryClient telemetry = new TelemetryClient(); telemetry.TrackException(ex); return(null); } }