public void Serialize_Applicant_ValidateSchema() { XmlDocument actual = (new BSTSmartScholarshipSerializer<Applicant>()).Serialize(this.TestApplicant); XmlSchemaProvider provider = new XmlSchemaProvider(); actual.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.Applicant.xsd")); actual.Validate(null); }
public void ValidateSchema_Applicant_Invalid_StudentNumber() { Applicant applicant = this.TestApplicant; applicant.StudentNumber = "F"; XmlDocument actual = (new BSTSmartScholarshipSerializer<Applicant>()).Serialize(applicant); XmlSchemaProvider provider = new XmlSchemaProvider(); actual.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.Applicant.xsd")); try { actual.Validate(null); } catch (XmlSchemaValidationException e) { Assert.AreEqual(@"The 'http://bstsmartscholarship.sesmar.net/applicant:StudentNumber' element is invalid - The value 'F' is invalid according to its datatype 'http://bstsmartscholarship.sesmar.net/applicant:StudentNumberType' - The Pattern constraint failed.", e.Message); throw e; } }
public void Serialize_TuitionAmountResponse_ValidateSchema_Invalid_StudentNumber() { TuitionAmountResponse response = new TuitionAmountResponse() { StudentNumber = "88634351", TuitionAmount = 4500.00 }; response.StudentNumber = "F"; XmlDocument actual = (new BSTSmartScholarshipSerializer<TuitionAmountResponse>()).Serialize(response); XmlSchemaProvider provider = new XmlSchemaProvider(); actual.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.TuitionAmountResponse.xsd")); actual.Validate(null); }
public void Serialize_TuitionAmountRequest_ValidateSchema_Invalid_StudentNumber() { TuitionAmountRequest request = new TuitionAmountRequest() { StudentNumber = "88634351" }; request.StudentNumber = "F"; XmlDocument actual = (new BSTSmartScholarshipSerializer<TuitionAmountRequest>()).Serialize(request); XmlSchemaProvider provider = new XmlSchemaProvider(); actual.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.TuitionAmountRequest.xsd")); actual.Validate(null); }
public void Registrar_VerifyApplicant_Valid_StudentNumber() { Registrar registrar = new Registrar(); BSTSmartScholarshipSerializer<Applicant> serializer = new BSTSmartScholarshipSerializer<Applicant>(); XmlDocument applicantDoc = serializer.Serialize(this.TestApplicant); ISchemaProvider provider = new XmlSchemaProvider(); applicantDoc.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.Applicant.xsd")); applicantDoc.Validate(null); XmlDocument studentDoc = registrar.VerifyApplicant(applicantDoc); studentDoc.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.Student.xsd")); studentDoc.Validate(null); BSTSmartScholarshipSerializer<Student> deserializer = new BSTSmartScholarshipSerializer<Student>(); Student student = deserializer.Deserialize(studentDoc); Assert.AreEqual(student.StudentNumber, this.TestApplicant.StudentNumber); }
public void Registrar_RequestTutionAmount_Valid_StudentNumber() { Registrar registrar = new Registrar(); TuitionAmountRequest request = new TuitionAmountRequest() { StudentNumber = "88634352" }; BSTSmartScholarshipSerializer<TuitionAmountRequest> serializer = new BSTSmartScholarshipSerializer<TuitionAmountRequest>(); XmlDocument requestDoc = serializer.Serialize(request); ISchemaProvider provider = new XmlSchemaProvider(); requestDoc.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.TuitionAmountRequest.xsd")); requestDoc.Validate(null); XmlDocument responseDoc = registrar.RequestTuitionAmount(requestDoc); responseDoc.Schemas.Add(provider.GetSchemaFromResource("BSTSmartScholarship.Business.Schemas.TuitionAmountResponse.xsd")); responseDoc.Validate(null); BSTSmartScholarshipSerializer<TuitionAmountResponse> deserilaizer = new BSTSmartScholarshipSerializer<TuitionAmountResponse>(); TuitionAmountResponse response = deserilaizer.Deserialize(responseDoc); Assert.AreEqual(response.StudentNumber, request.StudentNumber); Assert.AreEqual(response.TuitionAmount, 5500.00); }
public ActionResult AwardApplicant(String sn) { List<Applicant> applicants = new List<Applicant>(ApplicantList.GetList(a => a.IsVerified.GetValueOrDefault(false) && a.IsEligible.GetValueOrDefault(false))); IEmailService emailService = new EmailService(); EmailUtility email = new EmailUtility(emailService); Applicant applicant = applicants.FirstOrDefault(a => a.StudentNumber.Equals(sn, StringComparison.OrdinalIgnoreCase)); //Notify other applicants that they did not win. foreach (String studentNumber in applicants.Where(a=> !a.StudentNumber.Equals(sn, StringComparison.OrdinalIgnoreCase)).Select(a => a.StudentNumber)) { email.SendNotAwardedEmail(studentNumber); } ///Prepare the request for the registrar. TuitionAmountRequest request = new TuitionAmountRequest(applicant.StudentNumber); XmlSchemaProvider provider = new XmlSchemaProvider(); XmlDocument requestDocument = (new BSTSmartScholarshipSerializer<TuitionAmountRequest>()).Serialize(request); Registrar registrar = new Registrar(); XmlDocument responseDocument = registrar.RequestTuitionAmount(requestDocument); TuitionAmountResponse response = (new BSTSmartScholarshipSerializer<TuitionAmountResponse>()).Deserialize(responseDocument); //Award the scholarship Award.AddAward(applicant.StudentNumber, applicant.FirstName, applicant.LastName, response.TuitionAmount); //Notify Accounting of the reimbursement amount. Award.NotifyAccounting(response.StudentNumber, response.TuitionAmount); //Send award emails. email.SendAwardedEmail(sn, response.TuitionAmount); return RedirectToAction("Awarded", "Admin"); }