public static ApprenticeshipQACompliance ToEntity(this AddEditApprenticeshipQAForComplianceModel model, ProviderPortalEntities db) { Apprenticeship apprenticeship = db.Apprenticeships.Find(model.ApprenticeshipId); ApprenticeshipQACompliance QA; if (model.ApprenticeshipQAComplianceId.HasValue) { QA = db.ApprenticeshipQACompliances.Find(model.ApprenticeshipQAComplianceId); } else { QA = new ApprenticeshipQACompliance { ApprenticeshipId = model.ApprenticeshipId, CreatedByUserId = Permission.GetCurrentUserId(), CreatedDateTimeUtc = DateTime.UtcNow, TextQAd = apprenticeship.MarketingInformation }; } // If adding new properties here please also add them to the bulk upload // otherwise data loss will occur. Bulk upload deletes and re-creates // apprenticeships. It also deletes all QA records associated with // apprenticeships and these have to be re-added after the bulk upload has finished. // This is handled in the LoadApprenticeships method of the ApprenticeshipConverter class QA.DetailsOfUnverifiableClaim = model.DetailsOfUnverifiableClaim; QA.DetailsOfComplianceFailure = model.DetailsOfComplianceFailure; QA.Passed = model.Passed == "1"; // Add the failure reasons foreach (Int32 frId in model.SelectedComplianceFailureReasons) { QAComplianceFailureReason fr = db.QAComplianceFailureReasons.Find(frId); if (fr != null) { QA.QAComplianceFailureReasons.Add(fr); } } return(QA); }
public static ProviderQACompliance ToEntity(this AddEditProviderQAForComplianceModel model, ProviderPortalEntities db) { Provider Provider = db.Providers.Find(model.ProviderId); ProviderQACompliance QA; if (model.ProviderQAComplianceId.HasValue) { QA = db.ProviderQACompliances.Find(model.ProviderQAComplianceId); } else { QA = new ProviderQACompliance { ProviderId = model.ProviderId, CreatedByUserId = Permission.GetCurrentUserId(), CreatedDateTimeUtc = DateTime.UtcNow, TextQAd = Provider.MarketingInformation }; } QA.DetailsOfUnverifiableClaim = model.DetailsOfUnverifiableClaim; QA.DetailsOfComplianceFailure = model.DetailsOfComplianceFailure; QA.Passed = model.Passed == "1"; // Add the failure reasons foreach (Int32 frId in model.SelectedComplianceFailureReasons) { QAComplianceFailureReason fr = db.QAComplianceFailureReasons.Find(frId); if (fr != null) { QA.QAComplianceFailureReasons.Add(fr); } } return(QA); }