Exemplo n.º 1
0
        private static string InitializeHelpUrl()
        {
            var versionParts = StandardVersion.Split('.');
            var helpPostData = "os=" + OSString + "&ver=" + versionParts[0] + versionParts[1];

            return(BaseProductUrl + "help/?" + helpPostData);
        }
        private XmlPersistence()
        {
            _version = StandardVersion.GetInstance();

            _ingredients = new HashSet <Ingredient>();
            LoadIngredientsFromXml("../../Resources/Ingredients.xml");

            _dishes = new HashSet <Dish>();
            LoadDishesFromXml("../../Resources/Dishes.xml");

            _profiles = new List <UserProfile>();
            LoadProfilesFromXml("../../Resources/Users.xml");
        }
Exemplo n.º 3
0
        public StartRecord()
        {
            // Set default values.
            StandardVersion    = 4;
            StandardSubversion = 2;
            MessageCode        = 117;

            // Make this a test message by default.
            Type = MessageType.Test;

            InvoiceId    = string.Empty;
            CurrencyCode = "EUR";

            // Define the fields for this record.
            MapField(2, 3, "Code").Numeric().Getter(x => MessageCode.ToString("000"));
            MapField(5, 2, "Versienummer berichtstandaard").Numeric().Getter(x => StandardVersion.ToString());
            MapField(7, 2, "Subversienummer berichtstandaard").Numeric().Getter(x => StandardSubversion.ToString());
            MapField(9, 1, "Soortbericht").Numeric().Getter(x =>
            {
                switch (Type)
                {
                case MessageType.Production:
                    return("P");

                case MessageType.Test:
                    return("T");

                default:
                    throw new InvalidOperationException("Message type is not specified.");
                }
            });

            MapField(10, 6, "Code informatiesysteem softwareleverancier").Numeric();

            MapField(26, 4, "UZOVI-nummer").Numeric().Getter(x => UzoviId.ToString());
            MapField(30, 8, "Code servicebureau").Numeric();
            MapField(38, 8, "Zorgverlenerscode").Numeric().Getter(x => CareProviderAgbId.ToString());
            MapField(46, 8, "Praktijkcode").Numeric();
            MapField(54, 8, "Instellingcode").Numeric();

            MapField(62, 2, "Identificatiecode betaling aan").Numeric().Getter(x => PaymentRecipientCode.ToString("D"));
            MapField(64, 8, "Begindatum declaratieperiode").Numeric().Getter(x => StartDate.ToString("yyyyMMdd"));
            MapField(72, 8, "Einddatum declaratieperiode").Numeric().Getter(x => EndDate.ToString("yyyyMMdd"));

            MapField(80, 12, "Factuurnummer declarant").Alphanumeric().Getter(x => InvoiceId);
            MapField(92, 8, "Dagtekening factuur").Numeric().Getter(x => InvoiceDate.ToString("yyyyMMdd"));

            MapField(114, 3, "Valutacode").Alphanumeric().Getter(x => CurrencyCode);
        }
Exemplo n.º 4
0
        public async Task WhenPostingToSelectAVersion_WhenSavingModel_IfVersionHasNoOptions_RedirectToDeclarationPage(CertificateVersionViewModel vm, StandardVersion standardVersion, CertificateSession session, List <StandardVersion> approvedVersions)
        {
            var sessionString = JsonConvert.SerializeObject(session);

            _mockSessionService.Setup(s => s.Get(nameof(CertificateSession))).Returns(sessionString);

            standardVersion.StandardUId = vm.StandardUId;
            approvedVersions.Add(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetStandardVersionById(vm.StandardUId)).ReturnsAsync(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetEpaoRegisteredStandardVersions(EpaoId, session.StandardCode)).ReturnsAsync(approvedVersions);
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(vm.StandardUId)).ReturnsAsync(new StandardOptions());

            var result = await _certificateVersionController.Version(vm) as RedirectToActionResult;

            result.ControllerName.Should().Be("CertificateOption");
            result.ActionName.Should().Be("Option");
            _mockSessionService.Verify(s => s.Set("RedirectedFromVersion", true), Times.Never);
        }
Exemplo n.º 5
0
        public async Task WhenPostingToSelectAVersion_WhenSavingModel_ClearOptionSessionCache(CertificateVersionViewModel vm, StandardVersion standardVersion, CertificateSession session, List <StandardVersion> approvedVersions)
        {
            standardVersion.StandardUId = vm.StandardUId;
            approvedVersions.Add(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetStandardVersionById(vm.StandardUId)).ReturnsAsync(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetEpaoRegisteredStandardVersions(EpaoId, session.StandardCode)).ReturnsAsync(approvedVersions);
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(vm.StandardUId)).ReturnsAsync(new StandardOptions());


            var sessionString = JsonConvert.SerializeObject(session);

            _mockSessionService.Setup(s => s.Get(nameof(CertificateSession))).Returns(sessionString);

            var result = await _certificateVersionController.Version(vm) as RedirectToActionResult;

            _mockSessionService.Verify(s => s.Set(nameof(CertificateSession), It.Is <CertificateSession>(v => v.Options == null && v.StandardUId == vm.StandardUId)));
        }
Exemplo n.º 6
0
        public async Task WhenPostingToSelectAVersion_WhenSavingModel_IfVersionNotChanged_AndRedirectToCheckSet_AndVersionHasOptions_ButOptionsNotSet_RedirectToOptionsPageWithRedirectToCheck(CertificateVersionViewModel vm, StandardVersion standardVersion, StandardOptions options, CertificateSession session, List <StandardVersion> approvedVersions)
        {
            var sessionString = JsonConvert.SerializeObject(session);

            _mockSessionService.Setup(s => s.Get(nameof(CertificateSession))).Returns(sessionString);

            vm.StandardUId = StandardUId;
            standardVersion.StandardUId = StandardUId;
            approvedVersions.Add(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetStandardVersionById(vm.StandardUId)).ReturnsAsync(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetEpaoRegisteredStandardVersions(EpaoId, session.StandardCode)).ReturnsAsync(approvedVersions);
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(vm.StandardUId)).ReturnsAsync(options);

            var expectedValue = true;

            _mockSessionService.Setup(s => s.TryGet <bool>("RedirectToCheck", out expectedValue)).Returns(true);

            var result = await _certificateVersionController.Version(vm) as RedirectToActionResult;

            result.ControllerName.Should().Be("CertificateOption");
            result.ActionName.Should().Be("Option");
            result.RouteValues.Should().ContainKey("RedirectToCheck");
            result.RouteValues.Should().ContainValue(true);
            _mockSessionService.Verify(s => s.Set("RedirectedFromVersion", true), Times.Once);
        }
Exemplo n.º 7
0
        public async Task When_SelectingVersion_And_UpdateCertificateFails_Then_RedirectToError(CertificateVersionViewModel vm, StandardVersion standardVersion, CertificateSession session, List <StandardVersion> approvedVersions)
        {
            var sessionString = JsonConvert.SerializeObject(session);

            _mockSessionService.Setup(s => s.Get(nameof(CertificateSession))).Returns(sessionString);
            standardVersion.StandardUId = vm.StandardUId;
            approvedVersions.Add(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetStandardVersionById(vm.StandardUId)).ReturnsAsync(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetEpaoRegisteredStandardVersions(EpaoId, session.StandardCode)).ReturnsAsync(approvedVersions);
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(vm.StandardUId)).ReturnsAsync(new StandardOptions());

            _mockCertificateApiClient.Setup(c => c.UpdateCertificate(It.IsAny <UpdateCertificateRequest>())).ThrowsAsync(new Exception());

            var result = await _certificateVersionController.Version(vm) as RedirectToActionResult;

            result.ControllerName.Should().Be("Home");
            result.ActionName.Should().Be("Error");
        }
Exemplo n.º 8
0
        public async Task WhenPostingToSelectAVersion_WhenSavingModel_UpdatesCertificateWithStandardUId(CertificateVersionViewModel vm, StandardVersion standardVersion, CertificateSession session, List <StandardVersion> approvedVersions)
        {
            var sessionString = JsonConvert.SerializeObject(session);

            _mockSessionService.Setup(s => s.Get(nameof(CertificateSession))).Returns(sessionString);
            standardVersion.StandardUId = vm.StandardUId;
            approvedVersions.Add(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetStandardVersionById(vm.StandardUId)).ReturnsAsync(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetEpaoRegisteredStandardVersions(EpaoId, session.StandardCode)).ReturnsAsync(approvedVersions);
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(vm.StandardUId)).ReturnsAsync(new StandardOptions());

            var result = await _certificateVersionController.Version(vm) as RedirectToActionResult;

            _mockCertificateApiClient.Verify(v => v.UpdateCertificate(It.Is <UpdateCertificateRequest>(c =>
                                                                                                       c.Certificate.StandardUId == vm.StandardUId)));

            result.ControllerName.Should().Be("CertificateDeclaration");
            result.ActionName.Should().Be("Declare");
        }
Exemplo n.º 9
0
        public async Task WhenPostingToSelectAVersion_AndEpaoIsNotApprovedForSelectedVersion_ThenRedirectToNotApprovedToAssessPage(CertificateVersionViewModel vm, StandardVersion standardVersion, CertificateSession session)
        {
            var sessionString = JsonConvert.SerializeObject(session);

            _mockSessionService.Setup(s => s.Get(nameof(CertificateSession))).Returns(sessionString);
            var expectedValue = true;

            _mockSessionService.Setup(s => s.TryGet("RedirectToCheck", out expectedValue)).Returns(true);
            var approvedVersions = new List <StandardVersion>();

            _mockStandardVersionClient.Setup(s => s.GetStandardVersionById(vm.StandardUId)).ReturnsAsync(standardVersion);
            _mockStandardVersionClient.Setup(s => s.GetEpaoRegisteredStandardVersions(EpaoId, session.StandardCode)).ReturnsAsync(approvedVersions);
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(vm.StandardUId)).ReturnsAsync(new StandardOptions());

            var result = await _certificateVersionController.Version(vm) as RedirectToActionResult;

            result.ActionName.Should().Be("NotApprovedToAssess");
            result.ControllerName.Should().Be("CertificateVersionNotApproved");
        }
Exemplo n.º 10
0
        public async Task WhenStartingANewCertificate_WithoutApprovalsData_WithSingleVersionNoOptions_GoesToDeclaration(CertificateStartViewModel model, ApprovalsLearnerResult learner, StandardVersion standard)
        {
            CertificateSession setSession = new CertificateSession();

            learner.Version      = null;
            learner.CourseOption = null;

            _mockStandardVersionClient.Setup(s => s.GetStandardVersionsByLarsCode(model.StdCode)).ReturnsAsync(new List <StandardVersion> {
                standard
            });
            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(standard.StandardUId)).ReturnsAsync(new StandardOptions());
            _mockLearnerApiClient.Setup(c => c.GetLearnerRecord(model.StdCode, model.Uln)).ReturnsAsync(learner);


            _mockSessionService.Setup(c => c.Set(nameof(CertificateSession), It.IsAny <object>()))
            .Callback <string, object>((key, session) =>
            {
                if (key == nameof(CertificateSession) && session is CertificateSession)
                {
                    setSession = (CertificateSession)session;
                }
            });

            var result = await _certificateController.Start(model) as RedirectToActionResult;

            _mockCertificateApiClient.Verify(s => s.Start(It.Is <StartCertificateRequest>(
                                                              m => m.StandardCode == model.StdCode && m.Uln == model.Uln &&
                                                              m.Username == Username && m.UkPrn == Ukprn)));

            setSession.CertificateId.Should().Be(CertificateId);
            setSession.Uln.Should().Be(model.Uln);
            setSession.StandardCode.Should().Be(model.StdCode);
            setSession.Options.Should().BeEmpty();
            setSession.Versions.Should().BeEquivalentTo(new List <StandardVersionViewModel> {
                Mapper.Map <StandardVersionViewModel>(standard)
            });

            result.ControllerName.Should().Be("CertificateDeclaration");
            result.ActionName.Should().Be("Declare");
        }
Exemplo n.º 11
0
        public async Task WhenStartingANewCertificate_WithVersionSetFromApprovals_OptionRequiredButNotSet_GoesToOptionsPage(CertificateStartViewModel model, ApprovalsLearnerResult learner, StandardVersion version, StandardOptions options)
        {
            CertificateSession setSession = new CertificateSession();

            version.LarsCode         = model.StdCode;
            learner.Version          = version.Version;
            learner.VersionConfirmed = true;
            learner.CourseOption     = string.Empty;

            _mockLearnerApiClient.Setup(c => c.GetLearnerRecord(It.IsAny <int>(), It.IsAny <long>()))
            .ReturnsAsync(learner);

            _mockStandardVersionClient.Setup(c => c.GetStandardVersionsByLarsCode(It.IsAny <int>()))
            .ReturnsAsync(new List <StandardVersion> {
                version
            });

            _mockStandardVersionClient.Setup(s => s.GetStandardOptions(version.StandardUId))
            .ReturnsAsync(options);

            _mockSessionService.Setup(c => c.Set(nameof(CertificateSession), It.IsAny <object>()))
            .Callback <string, object>((key, session) =>
            {
                if (key == nameof(CertificateSession) && session is CertificateSession)
                {
                    setSession = (CertificateSession)session;
                }
            });

            var result = await _certificateController.Start(model) as RedirectToActionResult;

            _mockCertificateApiClient.Verify(s => s.Start(It.Is <StartCertificateRequest>(
                                                              m => m.StandardCode == model.StdCode &&
                                                              m.Uln == model.Uln &&
                                                              m.Username == Username &&
                                                              m.UkPrn == Ukprn &&
                                                              m.StandardUId == version.StandardUId &&
                                                              m.CourseOption == null)));

            setSession.CertificateId.Should().Be(CertificateId);
            setSession.Uln.Should().Be(model.Uln);
            setSession.StandardCode.Should().Be(model.StdCode);
            setSession.Options.Should().BeEquivalentTo(options.CourseOption.ToList());
            setSession.Versions.Count().Should().Be(1);
            setSession.Versions.Single().StandardUId.Should().Be(version.StandardUId);

            result.ControllerName.Should().Be("CertificateOption");
            result.ActionName.Should().Be("Option");
        }
        private MockPersistence()
        {
            _version = StandardVersion.GetInstance();

            _ingredients = new HashSet <Ingredient>();
            _ingredients.Add("nasello");
            _ingredients.Add("maiale");
            _ingredients.Add("pasta");
            _ingredients.Add("cipolla");
            _ingredients.Add("pomodorini");
            _ingredients.Add("ragù di carne");
            _ingredients.Add("pollo");
            _ingredients.Add("tacchino");
            _ingredients.Add("vitello");
            _ingredients.Add("maionese");
            _ingredients.Add("tonno");
            _ingredients.Add("capperi");
            _ingredients.Add("mozzarella");
            _ingredients.Add("salsiccia");
            _ingredients.Add("patate");
            _ingredients.Add("seppia");
            _ingredients.Add("calamaro");
            _ingredients.Add("gambero");
            _ingredients.Add("pane");
            _ingredients.Add("insalata");
            _ingredients.Add("pomodoro");
            _ingredients.Add("scamorza");
            _ingredients.Add("formaggio");
            _ingredients.Add("grana");
            _ingredients.Add("Cipolla");
            _ingredients.Add("Origano");
            _ingredients.Add("Paprica");
            _ingredients.Add("Prezzemolo");
            _ingredients.Add("Pastinaca");
            _ingredients.Add("Piselli");
            _ingredients.Add("Peperoni");
            _ingredients.Add("pimento");
            _ingredients.Add("fagioli");
            _ingredients.Add("pianta");
            _ingredients.Add("Patata");
            _ingredients.Add("Zucca");
            _ingredients.Add("radicchio");
            _ingredients.Add("Ravanello");
            _ingredients.Add("peperoncino");
            _ingredients.Add("rabarbaro");
            _ingredients.Add("Tuberi");
            _ingredients.Add("rosmarino");
            _ingredients.Add("rapa");
            _ingredients.Add("saggio");
            _ingredients.Add("Scalogno");
            _ingredients.Add("piselli");
            _ingredients.Add("soia");
            _ingredients.Add("zucca");
            _ingredients.Add("Spinaci");
            _ingredients.Add("Cipollotto");
            _ingredients.Add("Schiacciare");
            _ingredients.Add("zucche");
            _ingredients.Add("svedese");
            _ingredients.Add("Patata dolce");
            _ingredients.Add("Mais");
            _ingredients.Add("pepe");
            _ingredients.Add("Timo");
            _ingredients.Add("Pomodoro");
            _ingredients.Add("tuberi");
            _ingredients.Add("Rapa");
            _ingredients.Add("Rapa");
            _ingredients.Add("Wasabi");
            _ingredients.Add("Castagna");
            _ingredients.Add("Crescione");
            _ingredients.Add("ravanello bianco");
            _ingredients.Add("patata dolce");
            _ingredients.Add("Zucchine");


            _dishes = new HashSet <Dish>();
            NonEmptyList <Ingredient> ingredients = new NonEmptyList <Ingredient>("pasta");

            ingredients.Add("ragù di carne");
            _dishes.Add(new Dish("Pasta al ragù alla bolognese", 406, 15.43, 3.23, 76.61, ingredients));
            ingredients = new NonEmptyList <Ingredient>("nasello");
            ingredients.Add("cipolla");
            ingredients.Add("pomodorini");
            _dishes.Add(new Dish("Nasello alla cipolla con pomodorini", 234, 17.31, 1.52, 23.35, ingredients));
            ingredients = new NonEmptyList <Ingredient>("carne di maiale");
            _dishes.Add(new Dish("Braciola di maiale", 217, 24.28, 12.67, 0, ingredients));
            ingredients = new NonEmptyList <Ingredient>("gambero");
            ingredients.Add("pane");
            _dishes.Add(new Dish("Spiedini di gamberi", 217, 24.28, 12.67, 0, ingredients));
            ingredients = new NonEmptyList <Ingredient>("seppia");
            ingredients.Add("pane");
            _dishes.Add(new Dish("Spiedini di seppie", 217, 24.28, 12.67, 0, ingredients));
            ingredients = new NonEmptyList <Ingredient>("salsiccia");
            ingredients.Add("patate");
            _dishes.Add(new Dish("Salsiccia al forno con patate", 436, 24.28, 12.67, 0, ingredients));

            _profiles = new List <UserProfile>();
            PersonalDetails   details     = new PersonalDetails("Pippa", "Labamba", new DateTime(1994, 08, 25), 58, 161, Sex.FEMALE, 30, Load.HEAVY, 15, Load.NORMAL);
            List <Ingredient> preferences = new List <Ingredient>();

            preferences.Add("pasta");
            preferences.Add("maiale");
            preferences.Add("pane");
            _profiles.Add(new UserProfile(preferences, DietCalculators.Goal.WEIGHT_LOSS, null, details));

            details     = new PersonalDetails("Giro", "Ditalia", new DateTime(1994, 10, 11), 120, 178, Sex.MALE, 40, Load.LIGHT, 1, Load.LIGHT);
            preferences = new List <Ingredient>();
            preferences.Add("pasta");
            preferences.Add("maiale");
            preferences.Add("pane");
            _profiles.Add(new UserProfile(preferences, DietCalculators.Goal.WEIGHT_LOSS, null, details));
        }