public void TransferRegistration(TqRegistrationProfile profile, Provider transferTo) { var toProvider = DbContext.TlProvider.FirstOrDefault(x => x.UkPrn == (long)transferTo); var transferToTqProvider = ProviderDataProvider.CreateTqProvider(DbContext, TqAwardingOrganisation, toProvider, true); foreach (var pathway in profile.TqRegistrationPathways) { pathway.Status = RegistrationPathwayStatus.Transferred; pathway.EndDate = DateTime.UtcNow; foreach (var specialism in pathway.TqRegistrationSpecialisms) { specialism.IsOptedin = true; specialism.EndDate = DateTime.UtcNow; } } var industryPlacement = profile.TqRegistrationPathways.FirstOrDefault()?.IndustryPlacements?.FirstOrDefault(); var tqRegistrationPathway = RegistrationsDataProvider.CreateTqRegistrationPathway(DbContext, profile, transferToTqProvider); var tqRegistrationSpecialism = RegistrationsDataProvider.CreateTqRegistrationSpecialism(DbContext, tqRegistrationPathway, Specialism); DbContext.SaveChanges(); if (industryPlacement != null) { IndustryPlacementProvider.CreateIndustryPlacement(DbContext, tqRegistrationPathway.Id, industryPlacement.Status); } DbContext.SaveChanges(); }
private TqRegistrationProfile SeedRegistrationData(long uln, bool seedIndustryPlacement = false) { var profile = new TqRegistrationProfileBuilder().BuildList().FirstOrDefault(p => p.UniqueLearnerNumber == uln); var tqRegistrationProfile = RegistrationsDataProvider.CreateTqRegistrationProfile(DbContext, profile); var tqRegistrationPathway = RegistrationsDataProvider.CreateTqRegistrationPathway(DbContext, tqRegistrationProfile, TqProviders.First()); tqRegistrationPathway.IsBulkUpload = false; if (seedIndustryPlacement) { var industryPlacement = IndustryPlacementProvider.CreateIndustryPlacement(DbContext, new IndustryPlacement { Status = IndustryPlacementStatus.Completed, CreatedBy = "Test User" }); tqRegistrationPathway.IndustryPlacements.Add(industryPlacement); } foreach (var specialism in Specialisms) { var specialismToAdd = RegistrationsDataProvider.CreateTqRegistrationSpecialism(DbContext, tqRegistrationPathway, specialism); specialismToAdd.IsBulkUpload = false; tqRegistrationPathway.TqRegistrationSpecialisms.Add(specialismToAdd); } DbContext.SaveChangesAsync(); return(profile); }
public void BuildLearnerRecordCriteria(TqRegistrationProfile profile, bool?isEngishAndMathsAchieved, bool seedIndustryPlacement = false, IndustryPlacementStatus ipStatus = IndustryPlacementStatus.Completed) { if (profile == null) { return; } profile.IsEnglishAndMathsAchieved = isEngishAndMathsAchieved; if (seedIndustryPlacement) { var pathway = profile.TqRegistrationPathways.OrderByDescending(x => x.CreatedOn).FirstOrDefault(); IndustryPlacementProvider.CreateIndustryPlacement(DbContext, pathway.Id, ipStatus); } }
public void BuildLearnerRecordCriteria(TqRegistrationProfile profile, bool?isRcFeed, bool seedQualificationAchieved, bool isSendQualification, bool?isEngishAndMathsAchieved, bool seedIndustryPlacement = false, bool?isSendLearner = null, IndustryPlacementStatus ipStatus = IndustryPlacementStatus.Completed) { if (profile == null) { return; } profile.IsRcFeed = isRcFeed; profile.IsEnglishAndMathsAchieved = isEngishAndMathsAchieved; profile.IsSendLearner = isSendLearner; if (seedQualificationAchieved) { var engQual = Qualifications.FirstOrDefault(e => e.TlLookup.Code == "Eng" && e.IsSendQualification == isSendQualification); var mathQual = Qualifications.FirstOrDefault(e => e.TlLookup.Code == "Math"); var engQualifcationGrade = engQual.QualificationType.QualificationGrades.FirstOrDefault(x => x.IsAllowable == isEngishAndMathsAchieved); var mathsQualifcationGrade = mathQual.QualificationType.QualificationGrades.FirstOrDefault(x => x.IsAllowable == isEngishAndMathsAchieved); profile.QualificationAchieved.Add(new QualificationAchieved { TqRegistrationProfileId = profile.Id, QualificationId = engQual.Id, QualificationGradeId = engQualifcationGrade.Id, IsAchieved = engQualifcationGrade.IsAllowable }); profile.QualificationAchieved.Add(new QualificationAchieved { TqRegistrationProfileId = profile.Id, QualificationId = mathQual.Id, QualificationGradeId = mathsQualifcationGrade.Id, IsAchieved = mathsQualifcationGrade.IsAllowable }); } if (seedIndustryPlacement) { var pathway = profile.TqRegistrationPathways.OrderByDescending(x => x.CreatedOn).FirstOrDefault(); IndustryPlacementProvider.CreateIndustryPlacement(DbContext, pathway.Id, ipStatus); } }
public TqRegistrationProfile SeedRegistrationData(long uln, TqProvider tqProvider = null, RegistrationPathwayStatus status = RegistrationPathwayStatus.Active, bool isBulkUpload = true, bool seedIndustryPlacement = false) { var profile = new TqRegistrationProfileBuilder().BuildList().FirstOrDefault(p => p.UniqueLearnerNumber == uln); var tqRegistrationProfile = RegistrationsDataProvider.CreateTqRegistrationProfile(DbContext, profile); var tqRegistrationPathway = RegistrationsDataProvider.CreateTqRegistrationPathway(DbContext, tqRegistrationProfile, tqProvider ?? TqProviders.First()); if (seedIndustryPlacement) { var industryPlacement = IndustryPlacementProvider.CreateIndustryPlacement(DbContext, new IndustryPlacement { Status = IndustryPlacementStatus.Completed, CreatedBy = "Test User" }); tqRegistrationPathway.IndustryPlacements.Add(industryPlacement); } tqRegistrationPathway.IsBulkUpload = isBulkUpload; foreach (var specialism in TlSpecialisms) { var tqSpecialism = RegistrationsDataProvider.CreateTqRegistrationSpecialism(DbContext, tqRegistrationPathway, specialism); tqSpecialism.IsBulkUpload = isBulkUpload; tqRegistrationPathway.TqRegistrationSpecialisms.Add(tqSpecialism); } if (status == RegistrationPathwayStatus.Withdrawn) { tqRegistrationPathway.Status = status; tqRegistrationPathway.EndDate = DateTime.UtcNow.AddDays(-1); foreach (var tqRegistrationSpecialism in tqRegistrationPathway.TqRegistrationSpecialisms) { tqRegistrationSpecialism.IsOptedin = true; tqRegistrationSpecialism.EndDate = DateTime.UtcNow.AddDays(-1); } } DbContext.SaveChanges(); return(profile); }
private void SeedIndustyPlacementData(int uln) { var pathway = _registrations.FirstOrDefault(x => x.UniqueLearnerNumber == uln).TqRegistrationPathways.FirstOrDefault(); IndustryPlacementProvider.CreateIndustryPlacement(DbContext, pathway.Id, IndustryPlacementStatus.Completed); }