public async Task <IActionResult> OnPostCreateAsync() { JobCertificates = await _jobCompetencyService.GetJobCertificates(); JobCompetenciesKnowledge = await _jobCompetencyService.GetJobCompetenciesByTypeId(1); JobCompetenciesTechnical = await _jobCompetencyService.GetJobCompetenciesByTypeId(2); JobCompetenciesBehavioural = await _jobCompetencyService.GetJobCompetenciesByTypeId(3); JobCompetenciesExecutive = await _jobCompetencyService.GetJobCompetenciesByTypeId(4); CurrentSelectedJobGroup = await _jobCompetencyService.GetJobGroupById(JobGroupId); JobGroupPositions = await _jobCompetencyService.GetSubGroupLevelsByGroupId(JobGroupId); JobGroups = await _jobCompetencyService.GetJobGroups(); JobCertificateDescriptions = await _jobCompetencyService.GetAllJobCertificateDescriptions(); LevelCode = LevelValue.Split("/")[2]; RegionIds = string.Empty; foreach (var id in SelectedRegionIds) { RegionIds += id + "-"; } foreach (var cid in AddedCertificateIds.Split("-")) { if (!string.IsNullOrEmpty(cid)) { var cidInt = int.Parse(cid.Split("&")[0]); var certificateDto = await _jobCompetencyService.GetJobCertificateById(cidInt); certificateDto.CertificateDescId = int.Parse(cid.Split("&")[1]); AddedCertificates.Add(certificateDto); } } foreach (var cid in AddedKnowledgeCompetencyIds.Split("-")) { if (!string.IsNullOrEmpty(cid)) { var cidc = cid.Split("&")[0]; var clevel = cid.Split("&")[1]; if (!string.IsNullOrEmpty(cidc) && !string.IsNullOrEmpty(clevel)) { var cidInt = int.Parse(cidc); var cLevel = int.Parse(clevel); var competency = await _jobCompetencyService.GetJobCompetencyLevelByIdLevelId(cidInt, cLevel); AddedKnowledgeCompetencies.Add(competency); } } } foreach (var cid in AddedTechnicalCompetencyIds.Split("-")) { if (!string.IsNullOrEmpty(cid)) { var cidc = cid.Split("&")[0]; var clevel = cid.Split("&")[1]; if (!string.IsNullOrEmpty(cidc) && !string.IsNullOrEmpty(clevel)) { var cidInt = int.Parse(cidc); var cLevel = int.Parse(clevel); var competency = await _jobCompetencyService.GetJobCompetencyLevelByIdLevelId(cidInt, cLevel); AddedTechnicalCompetencies.Add(competency); } } } foreach (var cid in AddedBehaviouralCompetencyIds.Split("-")) { if (!string.IsNullOrEmpty(cid)) { var cidc = cid.Split("&")[0]; var clevel = cid.Split("&")[1]; if (!string.IsNullOrEmpty(cidc) && !string.IsNullOrEmpty(clevel)) { var cidInt = int.Parse(cidc); var cLevel = int.Parse(clevel); var competency = await _jobCompetencyService.GetJobCompetencyLevelByIdLevelId(cidInt, cLevel); AddedBehaviouralCompetencies.Add(competency); } } } foreach (var cid in AddedExecutiveCompetencyIds.Split("-")) { if (!string.IsNullOrEmpty(cid)) { var cidc = cid.Split("&")[0]; var clevel = cid.Split("&")[1]; if (!string.IsNullOrEmpty(cidc) && !string.IsNullOrEmpty(clevel)) { var cidInt = int.Parse(cidc); var cLevel = int.Parse(clevel); var competency = await _jobCompetencyService.GetJobCompetencyLevelByIdLevelId(cidInt, cLevel); AddedExecutiveCompetencies.Add(competency); } } } var jobPositionId = _jobCompetencyService.GetJobPositionIdByTitle(Request.Form["titleEng"]).Result; if (jobPositionId == 0) { jobPositionId = await _jobCompetencyService.PostJobPositionGetId(Request.Form["titleEng"], Request.Form["titleFre"]); var jobGroupPosition = new JobGroupPosition() { JobGroupId = JobGroupId, JobPositionId = jobPositionId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), }; _jobCompetencyService.PostJobGroupPosition(jobGroupPosition); foreach (var competency in AddedKnowledgeCompetencies) { var jobrolepositioncompetency = new JobRolePositionCompetencyRating() { JobPositionId = jobPositionId, CompetencyId = competency.CompetencyId, CompetencyLevelRequirementId = competency.CompetencyLevelRequirementId, CompetencyTypeId = 1, CompetencyRatingLevelId = competency.CompetencyRatingLevelId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), JobGroupId = JobGroupId }; _jobCompetencyService.PostJobRolePositionCompetency(jobrolepositioncompetency); } foreach (var competency in AddedTechnicalCompetencies) { var jobrolepositioncompetency = new JobRolePositionCompetencyRating() { JobPositionId = jobPositionId, CompetencyId = competency.CompetencyId, CompetencyLevelRequirementId = competency.CompetencyLevelRequirementId, CompetencyTypeId = 2, CompetencyRatingLevelId = competency.CompetencyRatingLevelId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), JobGroupId = JobGroupId }; _jobCompetencyService.PostJobRolePositionCompetency(jobrolepositioncompetency); } foreach (var competency in AddedBehaviouralCompetencies) { var jobrolepositioncompetency = new JobRolePositionCompetencyRating() { JobPositionId = jobPositionId, CompetencyId = competency.CompetencyId, CompetencyLevelRequirementId = competency.CompetencyLevelRequirementId, CompetencyTypeId = 3, CompetencyRatingLevelId = competency.CompetencyRatingLevelId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), JobGroupId = JobGroupId }; _jobCompetencyService.PostJobRolePositionCompetency(jobrolepositioncompetency); } foreach (var competency in AddedExecutiveCompetencies) { var jobrolepositioncompetency = new JobRolePositionCompetencyRating() { JobPositionId = jobPositionId, CompetencyId = competency.CompetencyId, CompetencyLevelRequirementId = competency.CompetencyLevelRequirementId, CompetencyTypeId = 4, CompetencyRatingLevelId = competency.CompetencyRatingLevelId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), JobGroupId = JobGroupId }; _jobCompetencyService.PostJobRolePositionCompetency(jobrolepositioncompetency); } foreach (var id in SelectedRegionIds) { var jobrolepositionlocation = new JobRolePositionLocation() { JobLocationRegionId = int.Parse(id), JobGroupId = JobGroupId, JobPositionId = jobPositionId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]) }; _jobCompetencyService.PostJobRolePositionLocation(jobrolepositionlocation); } var jobrolepositionhlcategory = new JobRolePositionHLCategory() { JobGroupId = JobGroupId, JobPositionId = jobPositionId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), JobHLCategoryId = int.Parse(JobHLCategory) }; _jobCompetencyService.PostJobRolePositionHLCategory(jobrolepositionhlcategory); foreach (var certificate in AddedCertificates) { var jobrolepositioncertificate = new JobRolePositionCertificate() { JobPositionId = jobPositionId, JobGroupId = JobGroupId, SubJobGroupId = int.Parse(LevelValue.Split("/")[0]), JobGroupLevelId = int.Parse(LevelValue.Split("/")[1]), CertificateDescriptionId = certificate.CertificateDescId, CertificateId = certificate.Id, }; _jobCompetencyService.PostJobRolePositionCertificate(jobrolepositioncertificate); } } else { return(Page()); } /* * if (!ModelState.IsValid) * { * return Page(); * } * * _context.Competencies.Add(Competency); * await _context.SaveChangesAsync(); */ // string parameters = $"nameEng={Competency.NameEng}&nameFre={Competency.NameFre}&descEng={Competency.DescEng}&descFre={Competency.DescFre}"; // try // { // _jobCompetencyService.PostJobCompetency(Competency); // } // catch(Exception ex) { return(RedirectToPage("Index")); // } //return Page(); }