public ActionResult SubmitApplication(int acquisitionid) { var login = ObjectBuilder.GetObject<ILoginUserPersistance>("LoginUserPersistance").GetByUserName(User.Identity.Name); if (null != login) { if (login.ApplicantId.HasValue) { var applicant = ObjectBuilder.GetObject<IApplicantPersistence>("ApplicantPersistence").GetApplicant(login.ApplicantId.Value); var message = string.Empty; // check the criteria if (!AtmHelper.ValidateHeightWeightBmi(Convert.ToDouble(applicant.Height), Convert.ToDouble(applicant.Weight), acquisitionid, applicant.GenderCd, out message)) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar." + message }); if (acquisitionid != 0) { // check based on acquisition var acq = ObjectBuilder.GetObject<IAcquisitionPersistence>("AcquisitionPersistence").GetAcquisition(acquisitionid); if (null != acq) { var acqtype = ObjectBuilder.GetObject<IReferencePersistence>("ReferencePersistence").GetAcquisitionType(acq.AcquisitionTypeCd.Value); if (acqtype != null) { // perempuan if (acq.AcquisitionTypeCd == 3) if (applicant.GenderCd == "L") return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar kerana pengambilan ini untuk " + acqtype.AcquisitionTypeNm }); // lelaki if (acq.AcquisitionTypeCd == 2) if (applicant.GenderCd == "P") return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar kerana pengambilan ini untuk " + acqtype.AcquisitionTypeNm }); // Pegawai.. Check the selection indicator if (acqtype.ServiceCd == "10") { if (!applicant.SelectionTD.HasValue && !applicant.SelectionTL.HasValue && !applicant.SelectionTU.HasValue) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar. Sila pilih Keutamaan Perkhidmatan Pilihan" }); } } } // mandatory checking on profile photo var photo = ObjectBuilder.GetObject<IApplicantPersistence>("ApplicantPersistence").GetPhoto(applicant.ApplicantId); if (photo == null) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar. Sila muat naik gambar peribadi berukuran pasport (saiz tidak melebihi 500KB)." }); if (photo.Photo == null && string.IsNullOrWhiteSpace(photo.PhotoExt)) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar. Sila muat naik gambar peribadi berukuran pasport (saiz tidak melebihi 500KB)." }); // mandatory checking on basic information var peribadipoint = 0.0m; var edupoint = 0.0m; var spopoint = 0.0m; var saspoint = 0.0m; var chpoint = 0.0m; AtmHelper.Checklist(applicant.ApplicantId, acquisitionid, out peribadipoint, out edupoint, out spopoint, out saspoint, out chpoint); if (peribadipoint != 100m) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar. Maklumat peribadi tidak lengkap." }); if (edupoint != 100m) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar. Maklumat akademik tidak lengkap." }); if (chpoint != 100m) return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar. Maklumat pengakuan tidak lengkap." }); // copy applicant to applicant submitted var app = new ApplicantSubmitted() { AcquisitionId = acquisitionid, Height = applicant.Height, Weight = applicant.Weight, FullName = applicant.FullName, BMI = applicant.BMI, BirthCertNo = applicant.BirthCertNo, BirthCityCd = applicant.BirthCityCd, BirthCountryCd = applicant.BirthCountryCd, BirthPlace = applicant.BirthPlace, BirthStateCd = applicant.BirthStateCd, BirthDt = applicant.BirthDt.HasValue ? applicant.BirthDt.Value : applicant.BirthDt, CreatedBy = User.Identity.Name, CreatedDt = DateTime.Now, CorresponAddr1 = applicant.CorresponAddr1, CorresponAddr2 = applicant.CorresponAddr2, CorresponAddr3 = applicant.CorresponAddr3, CorresponAddrCityCd = applicant.CorresponAddrCityCd, CorresponAddrCountryCd = applicant.CorresponAddrCountryCd, CorresponAddrPostCd = applicant.CorresponAddrPostCd, CorresponAddrStateCd = applicant.CorresponAddrStateCd, GenderCd = applicant.GenderCd, NationalityCd = applicant.NationalityCd, NationalityCertNo = applicant.NationalityCertNo, MobilePhoneNo = applicant.MobilePhoneNo, HomePhoneNo = applicant.HomePhoneNo, DadNationalityCd = applicant.DadNationalityCd, DadName = applicant.DadName, DadICNo = applicant.DadICNo, DadOccupation = applicant.DadOccupation, DadPhoneNo = applicant.DadPhoneNo, DadSalary = applicant.DadSalary, MomName = applicant.MomName, MomNationalityCd = applicant.NationalityCd, MomICNo = applicant.MomICNo, MomOccupation = applicant.MomOccupation, MomSalary = applicant.MomSalary, MomPhoneNo = applicant.MomPhoneNo, MrtlStatusCd = applicant.MrtlStatusCd, ChildNo = applicant.ChildNo, ColorBlindInd = applicant.ColorBlindInd, EthnicCd = applicant.EthnicCd, RaceCd = applicant.RaceCd, ReligionCd = applicant.ReligionCd, Email = applicant.Email, GuardianName = applicant.GuardianName, GuardianNationalityCd = applicant.GuardianNationalityCd, GuardianOccupation = applicant.GuardianOccupation, GuardianICNo = applicant.GuardianICNo, GuardianSalary = applicant.GuardianSalary, GuardianPhoneNo = applicant.GuardianPhoneNo, NewICNo = applicant.NewICNo, ScholarshipContractStDate = applicant.ScholarshipContractStDate, CurrentOccupation = applicant.CurrentOccupation, SelectionTD = applicant.SelectionTD, SelectionTL = applicant.SelectionTL, SelectionTU = applicant.SelectionTU, ArmyServiceInd = applicant.ArmyServiceInd, ArmyServiceYrOfServ = applicant.ArmyServiceYrOfServ, ArmyServiceResignRemark = applicant.ArmyServiceResignRemark, ArmySelectionInd = applicant.ArmySelectionInd, ArmySelectionDt = applicant.ArmySelectionDt, ArmySelectionVenue = applicant.ArmySelectionVenue, ComputerICT = applicant.ComputerICT, ComputerMSExcel = applicant.ComputerMSExcel, ComputerMSPwrPoint = applicant.ComputerMSPwrPoint, ComputerMSWord = applicant.ComputerMSWord, ComputerOthers = applicant.ComputerOthers, PalapesArmyNo = applicant.PalapesArmyNo, PalapesInd = applicant.PalapesInd, PalapesInstitution = applicant.PalapesInstitution, PalapesRemark = applicant.PalapesRemark, PalapesServices = applicant.PalapesServices, PalapesTauliahEndDt = applicant.PalapesTauliahEndDt, PalapesYear = applicant.PalapesYear, CurrentOrganisation = applicant.CurrentOrganisation, CurrentSalary = applicant.CurrentSalary, ScholarshipInd = applicant.ScholarshipInd, ScholarshipBody = applicant.ScholarshipBody, ScholarshipBodyAddr = applicant.ScholarshipBodyAddr, ScholarshipNoOfYrContract = applicant.ScholarshipNoOfYrContract, EmployeeAggreeInd = applicant.EmployeeAggreeInd, CronicIlnessInd = applicant.CronicIlnessInd, CrimeInvolvement = applicant.CrimeInvolvement, DrugCaseInvolvement = applicant.DrugCaseInvolvement, NoOfSibling = applicant.NoOfSibling, NoTentera = applicant.NoTentera, SpectaclesUserInd = applicant.SpectaclesUserInd, OriginalPelepasanDocument = applicant.OriginalPelepasanDocument, PelepasanDocument = applicant.PelepasanDocument, MomNotApplicable = applicant.MomNotApplicable, DadNotApplicable = applicant.DadNotApplicable, GuardianNotApplicable = applicant.GuardianNotApplicable }; var idsubmitted = app.Save(); if (idsubmitted != 0) { app.ApplicantId = idsubmitted; // get educations var education = ObjectBuilder.GetObject<IApplicantPersistence>("ApplicantPersistence").GetEducation(applicant.ApplicantId); if (null != education && education.Any()) { foreach (var edu in education) { if (!string.IsNullOrWhiteSpace(edu.OverallGrade) || edu.SKMLevel != 0 || edu.ConfermentYr != 0) { var subedu = new ApplicantEducationSubmitted { ApplicantId = app.ApplicantId, ConfermentYr = edu.ConfermentYr, EduCertTitle = edu.EduCertTitle, HighEduLevel = edu.HighEduLevel, HighEduLevelCd = edu.HighEduLevelCd, InstCd = edu.InstCd, InstitutionName = edu.InstitutionName, OverSeaInd = edu.OverSeaInd, MajorMinorCd = edu.MajorMinorCd, OverallGrade = edu.OverallGrade, SKMLevel = edu.SKMLevel, CreatedBy = User.Identity.Name, CreatedDt = DateTime.Now, }; var apeduid = subedu.Save(); foreach (var subject in edu.ApplicantEduSubjectCollection) { if (!string.IsNullOrWhiteSpace(subject.Grade) || !string.IsNullOrWhiteSpace(subject.GradeCd)) { var subsubject = new ApplicantEduSubjectSubmitted { GradeCd = !string.IsNullOrWhiteSpace(subject.GradeCd) ? subject.GradeCd.Trim() : subject.GradeCd, Grade = !string.IsNullOrWhiteSpace(subject.Grade) ? subject.Grade.Trim() : subject.Grade, ApplicantEduId = apeduid, CreatedBy = User.Identity.Name, CreatedDt = DateTime.Now, Subject = subject.Subject, SubjectCd = subject.SubjectCd, }; subsubject.Save(); } } } } } // get sports var sports = ObjectBuilder.GetObject<IApplicantPersistence>("ApplicantPersistence").GetSport(applicant.ApplicantId); if (null != sports && sports.Any()) { foreach (var sp in sports) { if ((sp.SportAssocId.HasValue && sp.SportAssocId != 0) || !string.IsNullOrWhiteSpace(sp.Others)) { var ssp = new ApplicantSportSubmitted { ApplicantId = app.ApplicantId, CreatedBy = User.Identity.Name, CreatedDt = DateTime.Now, AchievementCd = sp.AchievementCd, Year = sp.Year, Others = sp.Others, SportAssocId = sp.SportAssocId, }; ssp.Save(); } } } // get skills var skills = ObjectBuilder.GetObject<IApplicantPersistence>("ApplicantPersistence").GetSkill(applicant.ApplicantId); if (null != skills && skills.Any()) { foreach (var sp in skills) { var ssp = new ApplicantSkillSubmitted { ApplicantId = app.ApplicantId, CreatedBy = User.Identity.Name, CreatedDt = DateTime.Now, LanguageSkillSpeak = sp.LanguageSkillSpeak, LanguageSkillWrite = sp.LanguageSkillWrite, Skill = sp.Skill, AchievementCd = sp.AchievementCd, Others = sp.Others, SkillCatCd = sp.SkillCatCd, SkillCd = sp.SkillCd, }; ssp.Save(); } } // get photo if (photo.Photo != null && !string.IsNullOrWhiteSpace(photo.PhotoExt)) { var sphoto = new ApplicantSubmittedPhoto() { Photo = photo.Photo, PhotoExt = photo.PhotoExt, ApplicantId = app.ApplicantId, CreatedBy = User.Identity.Name, CreatedDate = DateTime.Now }; sphoto.Save(); } var application = new Application() { AcquisitionId = acquisitionid, CreatedBy = User.Identity.Name, CreatedDt = DateTime.Now, ApplicantId = app.ApplicantId }; var id = application.Save(); if (id != 0) return Json(new { OK = true, message = "Permohonan anda berjaya dihantar.", id = id }); } } } return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar kerana maklumat tidak lengkap." }); } return Json(new { OK = false, message = "Permohonan anda tidak berjaya dihantar." }); }
public int UpdateEducation(ApplicantEducationSubmitted education) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblApplicantEduSubmitteds where a.ApplicantEduId == education.ApplicantEduId select a).SingleOrDefault(); if (exist != null) { exist.ApplicantId = education.ApplicantId; exist.ConfermentYr = education.ConfermentYr; exist.EduCertTitle = education.EduCertTitle; exist.HighEduLevelCd = education.HighEduLevelCd; exist.InstCd = education.InstCd; exist.InstitutionName = education.InstitutionName; exist.LastModifiedBy = education.LastModifiedBy; exist.LastModifiedDt = DateTime.Now; exist.MajorMinorCd = education.MajorMinorCd; exist.OverSeaInd = education.OverSeaInd; exist.OverallGrade = education.OverallGrade; exist.SKMLevel = education.SKMLevel; entities.SaveChanges(); return exist.ApplicantEduId; } } return 0; }
public IEnumerable<ApplicantEducationSubmitted> GetEducation(int applicantid, int acquisitionid) { var list = new List<ApplicantEducationSubmitted>(); using (var entities = new atmEntities()) { var l = from a in entities.tblApplicantEduSubmitteds join b in entities.tblApplicantSubmiteds on a.ApplicantId equals b.ApplicantId where a.ApplicantId == applicantid && b.AcquisitionId == acquisitionid select a; if (l.Any()) { foreach (var aes in l) { var ed = new ApplicantEducationSubmitted { ApplicantEduId = aes.ApplicantEduId, ApplicantId = aes.ApplicantId, ConfermentYr = aes.ConfermentYr, CreatedBy = aes.CreatedBy, CreatedDt = aes.CreatedDt, EduCertTitle = aes.EduCertTitle, HighEduLevel = aes.tblREFHighEduLevel != null ? aes.tblREFHighEduLevel.HighestEduLevel : string.Empty, HighEduLevelCd = !string.IsNullOrWhiteSpace(aes.HighEduLevelCd) ? aes.HighEduLevelCd.Trim() : aes.HighEduLevelCd, InstCd = !string.IsNullOrWhiteSpace(aes.InstCd) ? aes.InstCd.Trim() : aes.InstCd, InstitutionName = aes.InstitutionName, LastModifiedBy = aes.LastModifiedBy, LastModifiedDt = aes.LastModifiedDt, MajorMinorCd = !string.IsNullOrWhiteSpace(aes.MajorMinorCd) ? aes.MajorMinorCd.Trim() : aes.MajorMinorCd, OverSeaInd = aes.OverSeaInd, OverallGrade = aes.OverallGrade, SKMLevel = aes.SKMLevel }; var subjects = from a in entities.tblApplicantEduSubjectSubmitteds where a.ApplicantEduId == ed.ApplicantEduId select a; if (subjects.Any()) { foreach (var s in subjects) { ed.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted { ApplicantEduId = s.ApplicantEduId, CreatedBy = s.CreatedBy, CreatedDt = s.CreatedDt, EduSubjectId = s.EduSubjectId, Grade = s.tblREFSubjectGrade.Grade, GradeCd = !string.IsNullOrWhiteSpace(s.GradeCd) ? s.GradeCd.Trim() : s.GradeCd, LastModifiedBy = s.LastModifiedBy, LastModifiedDt = s.LastModifiedDt, Subject = s.tblREFSubject.Subject, SubjectCd = s.SubjectCd }); } } list.Add(ed); } } } return list; }
public int SaveEducation(ApplicantEducationSubmitted education) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblApplicantEduSubmitteds where a.ApplicantId == education.ApplicantId && a.HighEduLevelCd == education.HighEduLevelCd select a).SingleOrDefault(); if (exist != null) { education.ApplicantEduId = exist.ApplicantEduId; return UpdateEducation(education); } var ed = new tblApplicantEduSubmitted { ApplicantId = education.ApplicantId, ConfermentYr = education.ConfermentYr, CreatedBy = education.CreatedBy, CreatedDt = education.CreatedDt, EduCertTitle = education.EduCertTitle, HighEduLevelCd = education.HighEduLevelCd, InstCd = education.InstCd, InstitutionName = education.InstitutionName, MajorMinorCd = education.MajorMinorCd, OverSeaInd = education.OverSeaInd, OverallGrade = education.OverallGrade, SKMLevel = education.SKMLevel }; entities.tblApplicantEduSubmitteds.Add(ed); if (entities.SaveChanges() > 0) { // save submitted subject return ed.ApplicantEduId; } } return 0; }
public ApplicantModel(ApplicantSubmitted app, int acquisitionid) { ApplicantId = app.ApplicantId; NewIcNo = app.NewICNo; NoTentera = app.NoTentera; FullName = app.FullName; MrtlStatusCd = app.MrtlStatusCd; GenderCd = app.GenderCd; Height = app.Height; Weight = app.Weight; Bmi = app.BMI; NationalityCd = app.NationalityCd; NationalityCertNo = app.NationalityCertNo; BirthCertNo = app.BirthCertNo; ReligionCd = app.ReligionCd; RaceCd = app.RaceCd; EthnicCd = !string.IsNullOrWhiteSpace(app.EthnicCd) ? app.EthnicCd.Trim() : app.EthnicCd; BirthCountryCd = app.BirthCountryCd; BirthStateCd = app.BirthStateCd; BirthCityCd = !string.IsNullOrWhiteSpace(app.BirthCityCd) ? app.BirthCityCd.Trim() : app.BirthCityCd; BirthPlace = app.BirthPlace; BloodTypeCd = app.BloodTypeCd; SpectaclesUserInd = app.SpectaclesUserInd; ColorBlindInd = app.ColorBlindInd; ResidenceTypeInd = app.ResidenceTypeInd; CorresponAddr1 = app.CorresponAddr1; CorresponAddr2 = app.CorresponAddr2; CorresponAddr3 = app.CorresponAddr3; CorresponAddrPostCd = app.CorresponAddrPostCd; CorresponAddrCityCd = !string.IsNullOrWhiteSpace(app.CorresponAddrCityCd) ? app.CorresponAddrCityCd.Trim() : app.CorresponAddrCityCd; CorresponAddrStateCd = app.CorresponAddrStateCd; CorresponAddrCountryCd = app.CorresponAddrCountryCd; MobilePhoneNo = app.MobilePhoneNo; HomePhoneNo = app.HomePhoneNo; Email = app.Email; ChildNo = app.ChildNo; NoOfSibling = app.NoOfSibling; MomName = app.MomName; MomIcNo = app.MomICNo; MomNationalityCd = app.MomNationalityCd; MomOccupation = app.MomOccupation; MomSalary = app.MomSalary; MomPhoneNo = app.MomPhoneNo; DadName = app.DadName; DadIcNo = app.DadICNo; DadNationalityCd = app.DadNationalityCd; DadOccupation = app.DadOccupation; DadSalary = app.DadSalary; DadPhoneNo = app.DadPhoneNo; GuardianName = app.GuardianName; GuardianIcNo = app.GuardianICNo; GuardianNationalityCd = app.GuardianNationalityCd; GuardianOccupation = app.GuardianOccupation; GuardianSalary = app.GuardianSalary; GuardianPhoneNo = app.GuardianPhoneNo; FamilyHighestEduLevel = app.FamilyHighestEduLevel; CurrentOccupation = app.CurrentOccupation; CurrentOrganisation = app.CurrentOrganisation; CurrentSalary = app.CurrentSalary; PalapesInd = app.PalapesInd ?? false; PalapesYear = app.PalapesYear; PalapesArmyNo = app.PalapesArmyNo; PalapesInstitution = app.PalapesInstitution; PalapesRemark = app.PalapesRemark; PalapesTauliahEndDt = app.PalapesTauliahEndDt; ScholarshipInd = app.ScholarshipInd ?? false; ScholarshipBody = app.ScholarshipBody; ScholarshipBodyAddr = app.ScholarshipBodyAddr; ScholarshipNoOfYrContract = app.ScholarshipNoOfYrContract; ArmySelectionInd = app.ArmySelectionInd ?? false; ArmySelectionVenue = app.ArmySelectionVenue; ArmyServiceInd = app.ArmyServiceInd ?? false; ArmyServiceYrOfServ = app.ArmyServiceYrOfServ; ArmyServiceResignRemark = app.ArmyServiceResignRemark; SelectionTD = app.SelectionTD; SelectionTL = app.SelectionTL; SelectionTU = app.SelectionTU; ComputerMSWord = app.ComputerMSWord; ComputerMSExcel = app.ComputerMSExcel; ComputerMSPwrPoint = app.ComputerMSPwrPoint; ComputerICT = app.ComputerICT; ComputerOthers = app.ComputerOthers; CrimeInvolvement = app.CrimeInvolvement; DrugCaseInvolvement = app.DrugCaseInvolvement; CreatedBy = app.CreatedBy; LastModifiedBy = app.LastModifiedBy; CreatedDateTime = app.CreatedDt; LastModifiedDatetTime = app.LastModifiedDt; BirthDate = app.BirthDt; EmployeeAggreeInd = app.EmployeeAggreeInd ?? false; CronicIlnessInd = app.CronicIlnessInd; ScholarshipContractStDate = app.ScholarshipContractStDate; OriginalPelepasanDocument = app.OriginalPelepasanDocument; PelepasanDocument = app.PelepasanDocument; ArmySelectionDt = app.ArmySelectionDt; MomNotApplicable = app.MomNotApplicable ?? false; DadNotApplicable = app.DadNotApplicable ?? false; GuardianNotApplicable = app.GuardianNotApplicable ?? false; if (!string.IsNullOrWhiteSpace(NewIcNo)) { var lastid = NewIcNo.Substring(NewIcNo.Length - 1); var checkgend = 0; int.TryParse(lastid, out checkgend); var even = new List<int>() { 0, 2, 4, 6, 8 }; var odd = new List<int>() { 1, 3, 5, 7, 9 }; if (string.IsNullOrWhiteSpace(app.GenderCd)) { if (even.Contains(checkgend)) GenderCd = "P"; if (odd.Contains(checkgend)) GenderCd = "L"; } } if (string.IsNullOrWhiteSpace(app.NationalityCd)) NationalityCd = "MYS"; if (string.IsNullOrWhiteSpace(app.DadNationalityCd)) DadNationalityCd = "MYS"; if (string.IsNullOrWhiteSpace(app.MomNationalityCd)) MomNationalityCd = "MYS"; if (string.IsNullOrWhiteSpace(app.GuardianNationalityCd)) GuardianNationalityCd = "MYS"; if (string.IsNullOrWhiteSpace(BirthCountryCd)) BirthCountryCd = "MYS"; if (string.IsNullOrWhiteSpace(app.CorresponAddrCountryCd)) CorresponAddrCountryCd = "MYS"; if (string.IsNullOrWhiteSpace(BirthStateCd)) { if (!string.IsNullOrWhiteSpace(NewIcNo)) { NewIcNo = NewIcNo.Trim(); if (NewIcNo.Length == 12) { var icbirthstatecode = NewIcNo.Substring(6, 2); var birthstatecode = ObjectBuilder.GetObject<IReferencePersistence>("ReferencePersistence").GetStatesByBirthStateCode(icbirthstatecode); if (null != birthstatecode) BirthStateCd = birthstatecode.StateCd; } } } if (!string.IsNullOrWhiteSpace(NewIcNo)) { var yearstr = NewIcNo.Substring(0, 2); var monthstr = NewIcNo.Substring(2, 2); var daystr = NewIcNo.Substring(4, 2); var yearint = Convert.ToInt32(yearstr); if (yearint == 0) yearint = 2000; if (yearint < 10) yearint = 2000 + yearint; if (yearint > 10) yearint = 1900 + yearint; var bdate = new DateTime(yearint, Convert.ToInt16(monthstr), Convert.ToInt16(daystr)); BirthDate = bdate; BirthDateString = string.Format("{0:dd/MM/yyyy}", bdate); DateTime zeroTime = DateTime.Now; var daterange = DateTime.Now - bdate; int years = (zeroTime + daterange).Year - 1; DateTime today = DateTime.Today; int months = zeroTime.Month - bdate.Month; Age = zeroTime.Year - bdate.Year; Month = months; } if (ApplicantId != 0) { // get educations var education = ObjectBuilder.GetObject<IApplicantSubmittedPersistence>("ApplicantSubmittedPersistence").GetEducation(ApplicantId, acquisitionid); if (null != education && education.Any()) { ApplicantEducationSubmitteds.Clear(); ApplicantEducationSubmitteds.AddRange(education.ToList()); } // get skills var skills = ObjectBuilder.GetObject<IApplicantSubmittedPersistence>("ApplicantSubmittedPersistence").GetSkill(ApplicantId, acquisitionid); if (null != skills && skills.Any()) { SkillSubmitteds.AddRange(skills.ToList()); if (SkillSubmitteds.Count <= 2) SkillSubmitteds.Add(new ApplicantSkillSubmitted() { SkillCd = "", SkillCatCd = "L", Skill = "" }); } // get sports var sports = ObjectBuilder.GetObject<IApplicantSubmittedPersistence>("ApplicantSubmittedPersistence").GetSport(ApplicantId, acquisitionid); if (null != sports && sports.Any()) { SportSubmitteds.AddRange(sports.Where(a => a.SportAndAssociation != null && a.SportAndAssociation.SportAssociatType == "S").ToList().DistinctBy(a => a.SportAssocId)); KokoSubmitteds.AddRange(sports.Where(a => a.SportAndAssociation != null && a.SportAndAssociation.SportAssociatType == "A").ToList().DistinctBy(a => a.SportAssocId)); OtherSubmitteds.AddRange(sports.Where(a => !string.IsNullOrWhiteSpace(a.Others))); } } if (!string.IsNullOrWhiteSpace(app.ComputerOthers)) ComputerOthersInd = true; if (acquisitionid != 0) { var acq = ObjectBuilder.GetObject<IAcquisitionPersistence>("AcquisitionPersistence").GetAcquisition(acquisitionid); if (acq != null && acq.AcquisitionTypeCd != 0) { var selectededucation = new string[] { }; var refrepos = new ReferenceRepo(); //var acqtype = ObjectBuilder.GetObject<IReferencePersistence>("ReferencePersistence").GetAcquisitionType(acq.AcquisitionTypeCd); if (null != acq.AcquisitionType) { // pegawai if (acq.AcquisitionType.ServiceCd == "10") selectededucation = new string[] { "14", "13", "25", "11", "08", "20" }; // td if (acq.AcquisitionType.ServiceCd == "01") selectededucation = new string[] { "14", "13", "25", "26", "11" }; // tl if (acq.AcquisitionType.ServiceCd == "02") selectededucation = new string[] { "14", "13", "25", "15", "26", "11" }; // tu if (acq.AcquisitionType.ServiceCd == "03") selectededucation = new string[] { "14", "13", "25", "26", "08", "11" }; var he = refrepos.GetHighEduLevels().Where(a => selectededucation.Contains(a.HighEduLevelCd)); if (he.Any()) { he = he.OrderBy(a => a.IndexNo); if (ApplicantEducationSubmitteds != null && ApplicantEducationSubmitteds.Any()) { var ledu = new List<ApplicantEducationSubmitted>(); ledu.AddRange(ApplicantEducationSubmitteds); foreach (var ed in ledu.ToList()) { if (ed.HighEduLevelCd == "14") { var selectedsubject = ed.ApplicantEduSubjectSubmittedCollection.ToList().RemoveAll(a => !string.IsNullOrEmpty(a.GradeCd)); var subjects = refrepos.GetSubjects(ed.HighEduLevelCd); if (subjects.Any()) { foreach (var s in subjects.Take(10)) { // check already exist or not in subjects if (ed.ApplicantEduId != 0) { var subbs = ObjectBuilder.GetObject<IApplicantSubmittedPersistence>("ApplicantSubmittedPersistence").GetSubject(ed.ApplicantEduId, s.SubjectCd); if (null != subbs) { if (ed.ApplicantEduSubjectSubmittedCollection.All(a => a.SubjectCd != subbs.SubjectCd)) ed.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted() { SubjectCd = subbs.SubjectCd, Subject = subbs.Subject }); } else { if (!ed.ApplicantEduSubjectSubmittedCollection.Any(a => subbs != null && a.SubjectCd == subbs.SubjectCd)) ed.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted() { SubjectCd = s.SubjectCd, Subject = s.SubjectDescription }); } } else { if (ed.ApplicantEduSubjectSubmittedCollection.All(a => a.SubjectCd != s.SubjectCd)) ed.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted() { SubjectCd = s.SubjectCd, Subject = s.SubjectDescription }); } } } var totalsubject = 16 - ed.ApplicantEduSubjectSubmittedCollection.Count(); for (int i = 0; i < totalsubject; i++) { ed.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted()); } } foreach (var h in he) { if (ledu.All(a => a.HighEduLevelCd != h.HighEduLevelCd)) { var edu = new ApplicantEducationSubmitted() { HighEduLevelCd = h.HighEduLevelCd, HighEduLevel = h.HighestEduLevel }; if (h.HighEduLevelCd == "14") { var subjects = refrepos.GetSubjects(h.HighEduLevelCd); if (subjects.Any()) foreach (var s in subjects.Take(10)) edu.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted() { SubjectCd = s.SubjectCd, Subject = s.SubjectDescription }); var totalsubject = 16 - ed.ApplicantEduSubjectSubmittedCollection.Count(); for (int i = 0; i < totalsubject; i++) { edu.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted()); } } ledu.Add(edu); } } } ApplicantEducationSubmitteds.Clear(); ApplicantEducationSubmitteds.AddRange(ledu.DistinctBy(a => a.HighEduLevelCd)); } else { foreach (var h in he) { var edu = new ApplicantEducationSubmitted() { HighEduLevelCd = h.HighEduLevelCd, HighEduLevel = h.HighestEduLevel }; if (h.HighEduLevelCd == "14") { var subjects = refrepos.GetSubjects(h.HighEduLevelCd); if (subjects.Any()) foreach (var s in subjects.Take(10)) edu.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted() { SubjectCd = s.SubjectCd, Subject = s.SubjectDescription }); for (int i = 0; i < 6; i++) { edu.ApplicantEduSubjectSubmittedCollection.Add(new ApplicantEduSubjectSubmitted()); } } ApplicantEducationSubmitteds.Add(edu); } } } var scount = 0; var kcount = 0; if (SportSubmitteds != null) { scount = SportSubmitteds.Count(); if (scount == 0) scount = 2; else if (scount == 1) scount = 1; else scount = 0; for (int i = 0; i < scount; i++) { SportSubmitteds.Add(new ApplicantSportSubmitted()); } kcount = KokoSubmitteds.Count(); if (kcount == 0) kcount = 2; else if (kcount == 1) kcount = 1; else kcount = 0; for (int i = 0; i < kcount; i++) { KokoSubmitteds.Add(new ApplicantSportSubmitted()); } } var skills = ObjectBuilder.GetObject<IReferencePersistence>("ReferencePersistence").GetSkills("L"); if (skills != null && skills.Any()) { skills = skills.Take(2); foreach (var s in skills) { if (!SkillSubmitteds.Any(a => a.SkillCd.Trim() == s.SkillCd.Trim())) SkillSubmitteds.Add(new ApplicantSkillSubmitted() { SkillCd = s.SkillCd.Trim(), SkillCatCd = "L", Skill = s.SkillDescription.Trim() }); } if (SkillSubmitteds.Count <= 2) SkillSubmitteds.Add(new ApplicantSkillSubmitted() { SkillCd = "", SkillCatCd = "L", Skill = "" }); } if (!OtherSubmitteds.Any()) { for (int i = 0; i < 2; i++) { OtherSubmitteds.Add(new ApplicantSportSubmitted()); } } else if (OtherSubmitteds.Count() == 1) { OtherSubmitteds.Add(new ApplicantSportSubmitted()); } } } } }