Beispiel #1
0
        public async Task Arrange()
        {
            BatchCertificateRequest request = Builder <BatchCertificateRequest> .CreateNew()
                                              .With(i => i.Uln               = 1234567899)
                                              .With(i => i.StandardCode      = 99)
                                              .With(i => i.StandardReference = null)
                                              .With(i => i.UkPrn             = 12345678)
                                              .With(i => i.CertificateData   = Builder <CertificateData> .CreateNew()
                                                                               .With(cd => cd.ContactPostCode = "AA11AA")
                                                                               .With(cd => cd.AchievementDate = DateTime.UtcNow)
                                                                               .With(cd => cd.OverallGrade    = CertificateGrade.Pass)
                                                                               .With(cd => cd.CourseOption    = "English")
                                                                               .Build())
                                              .Build();

            _validationResult = await Validator.ValidateAsync(request);
        }
Beispiel #2
0
        public static void PopulateMissingFields(this BatchCertificateRequest request, Standard standard, Certificate existingCertificate = null)
        {
            if (standard != null)
            {
                if (request.StandardCode < 1)
                {
                    request.StandardCode = standard.LarsCode;
                }
                else if (string.IsNullOrEmpty(request.StandardReference))
                {
                    request.StandardReference = standard.IfateReferenceNumber;
                }

                if (string.IsNullOrWhiteSpace(request.CertificateData.Version))
                {
                    // As version not specified, version and standardUid are calculated,
                    // but if existing certificate is not null, Prioritise those values
                    if (existingCertificate != null)
                    {
                        var certificateData = JsonConvert.DeserializeObject <CertificateData>(existingCertificate.CertificateData);
                        request.CertificateData.Version = certificateData.Version;
                        request.StandardUId             = existingCertificate.StandardUId;
                    }

                    // If certificate was null, or the values were not there... override with calculated
                    if (string.IsNullOrWhiteSpace(request.CertificateData.Version))
                    {
                        // if version is null or empty, set version to the calculated version as a default.
                        request.CertificateData.Version = standard.Version;
                        request.StandardUId             = standard.StandardUId;
                    }
                }
                else
                {
                    // If version isn't empty, we must have retrieved a specific version
                    // subject to it being valid, so set just the StandardUId
                    request.StandardUId = standard.StandardUId;
                }
            }
        }
Beispiel #3
0
 public static string GetStandardId(this BatchCertificateRequest request) => !string.IsNullOrWhiteSpace(request.StandardReference) ? request.StandardReference : request.StandardCode > 0 ? request.StandardCode.ToString() : string.Empty;