public AddEditApprenticeshipQAForComplianceModel(ApprenticeshipQACompliance apprenticeshipQACompliance) : this() { this.ApprenticeshipQAComplianceId = apprenticeshipQACompliance.ApprenticeshipQAComplianceId; this.ApprenticeshipId = apprenticeshipQACompliance.ApprenticeshipId; this.DetailsOfUnverifiableClaim = apprenticeshipQACompliance.DetailsOfUnverifiableClaim; this.DetailsOfComplianceFailure = apprenticeshipQACompliance.DetailsOfComplianceFailure; this.Passed = apprenticeshipQACompliance.Passed ? "1" : "0"; foreach (QAComplianceFailureReason fr in apprenticeshipQACompliance.QAComplianceFailureReasons) { this.SelectedComplianceFailureReasons.Add(fr.QAComplianceFailureReasonId); } }
public ActionResult QAForComplianceFromDialog(AddEditApprenticeshipQAForComplianceModel model) { if (userContext.ContextName != UserContext.UserContextName.Provider) { return(HttpNotFound()); } Provider provider = db.Providers.Find(userContext.ItemId); if (provider == null) { return(HttpNotFound()); } Apprenticeship apprenticeship = db.Apprenticeships.Find(model.ApprenticeshipId); if (apprenticeship == null || apprenticeship.ProviderId != provider.ProviderId) { return(HttpNotFound()); } // If passed compliance checks is No then failure reasons should be mandatory if (model.Passed == "0" && model.SelectedComplianceFailureReasons.Count == 0) { ModelState.AddModelError("SelectedComplianceFailureReasons", AppGlobal.Language.GetText(this, "SelectedComplianceFailureReasonsMandatory", "Please select a reason for failure")); } else if (model.Passed == "1" && model.SelectedComplianceFailureReasons.Count > 0) { ModelState.AddModelError("Passed", AppGlobal.Language.GetText(this, "CannotPassComplianceQAWithFailureReasons", "Passed compliance checks should only be Yes when no failure reasons have been selected")); } if (ModelState.IsValid) { ApprenticeshipQACompliance QA = model.ToEntity(db); apprenticeship.ApprenticeshipQACompliances.Add(QA); db.Entry(apprenticeship).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return(Json(new ApprenticeshipQAForComplianceJsonModel(QA))); } // Populate drop downs GetLookups(model); return(View(model)); }
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 ApprenticeshipQAForComplianceJsonModel(ApprenticeshipQACompliance apprenticeshipQACompliance) : this() { this.ApprenticeshipQAForComplianceId = apprenticeshipQACompliance.ApprenticeshipQAComplianceId; this.Passed = apprenticeshipQACompliance.Passed; }