private Amendment Convert(CheckingWindow checkingWindow, rscd_Amendment amendment) { CurrentBuilder = RetrieveBuilderForAmendment(amendment.rscd_Amendmenttype); var amendmentDomain = CurrentBuilder.CreateAmendment(); amendmentDomain.Id = amendment.Id.ToString(); amendmentDomain.CheckingWindow = amendment.rscd_Checkingwindow.Value.ToDomainCheckingWindow(); amendmentDomain.Reference = amendment.rscd_Referencenumber; amendmentDomain.URN = amendment.rscd_URN; amendmentDomain.Pupil = new Pupil { Forename = amendment.rscd_Firstname, Surname = amendment.rscd_Lastname, Gender = amendment.rscd_Gender.Value.ToDomainGenderType(), DOB = amendment.rscd_Dateofbirth.Value, Age = amendment.rscd_Age.HasValue ? amendment.rscd_Age.Value : 0, AdmissionDate = amendment.rscd_Dateofadmission.GetValueOrDefault(), YearGroup = amendment.rscd_Yeargroup, UPN = amendment.rscd_UPN, ULN = amendment.rscd_ULN }; amendmentDomain.EvidenceStatus = amendment.rscd_Evidencestatus.Value.ToDomainEvidenceStatus(); amendmentDomain.CreatedDate = amendment.CreatedOn.Value; amendmentDomain.Status = GetStatus(checkingWindow, amendment); amendmentDomain.AmendmentDetail = GetAmendmentDetails(amendment); return(amendmentDomain); }
public AmendmentOutcome AddAmendment(Amendment amendment) { CurrentBuilder = RetrieveBuilderForAmendment(amendment.AmendmentType); var outcome = CurrentBuilder.BuildAmendments(amendment); if (outcome.IsComplete && outcome.IsAmendmentCreated) { var amendmentEstablishment = GetOrCreateEstablishment(amendment.CheckingWindow, amendment.URN); RelateEstablishmentToAmendment(amendmentEstablishment, outcome.NewAmendmentId); if (amendment.EvidenceStatus == EvidenceStatus.Now) { RelateEvidence(outcome.NewAmendmentId, amendment.EvidenceFolderName, false); } outcome.NewAmendmentReferenceNumber = GetAmendment(amendment.CheckingWindow, outcome.NewAmendmentId).Reference; } return(outcome); }