public static ApprenticeshipQAStyle ToEntity(this AddEditApprenticeshipQAForStyleModel model, ProviderPortalEntities db)
        {
            Apprenticeship apprenticeship = db.Apprenticeships.Find(model.ApprenticeshipId);

            ApprenticeshipQAStyle QA;

            if (model.ApprenticeshipQAStyleId.HasValue)
            {
                QA = db.ApprenticeshipQAStyles.Find(model.ApprenticeshipQAStyleId);
            }
            else
            {
                QA = new ApprenticeshipQAStyle
                {
                    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.Passed      = model.Passed == "1";
            QA.DetailsOfQA = model.DetailsOfQA;

            // Add the failure reasons
            foreach (Int32 frId in model.SelectedStyleFailureReasons)
            {
                QAStyleFailureReason fr = db.QAStyleFailureReasons.Find(frId);
                if (fr != null)
                {
                    QA.QAStyleFailureReasons.Add(fr);
                }
            }

            return(QA);
        }
        public static ProviderQAStyle ToEntity(this AddEditProviderQAForStyleModel model, ProviderPortalEntities db)
        {
            Provider Provider = db.Providers.Find(model.ProviderId);

            ProviderQAStyle QA;

            if (model.ProviderQAStyleId.HasValue)
            {
                QA = db.ProviderQAStyles.Find(model.ProviderQAStyleId);
            }
            else
            {
                QA = new ProviderQAStyle
                {
                    ProviderId         = model.ProviderId,
                    CreatedByUserId    = Permission.GetCurrentUserId(),
                    CreatedDateTimeUtc = DateTime.UtcNow,
                    TextQAd            = Provider.MarketingInformation
                };
            }

            QA.Passed      = model.Passed == "1";
            QA.DetailsOfQA = model.DetailsOfQA;

            // Add the failure reasons
            foreach (Int32 frId in model.SelectedStyleFailureReasons)
            {
                QAStyleFailureReason fr = db.QAStyleFailureReasons.Find(frId);
                if (fr != null)
                {
                    QA.QAStyleFailureReasons.Add(fr);
                }
            }

            return(QA);
        }