public IActionResult SaveIsPreviousPrincipalAuthority(IsPreviousPrincipalAuthorityViewModel model)
        {
            Session.SetSubmittedPage(FormSection.DirectorOrPartner, 1);

            if (!ModelState.IsValid || !model.IsPreviousPrincipalAuthority.HasValue)
            {
                return(View(GetViewPath(FormSection.DirectorOrPartner, 1), model));
            }

            var dopId = LicenceApplicationPostDataHandler.Update(Session.GetCurrentLicenceId(), l => l.DirectorOrPartners, model,
                                                                 Session.GetCurrentDopId());

            Session.SetCurrentDopStatus(dopId, model.IsPreviousPrincipalAuthority.Value);

            if (model.IsPreviousPrincipalAuthority.Value)
            {
                var paId = LicenceApplicationPostDataHandler.UpsertPrincipalAuthorityAndLinkToDirectorOrPartner(
                    Session.GetCurrentLicenceId(), dopId, Session.GetCurrentPaId(), model);
                Session.SetCurrentPaStatus(paId, true);
            }
            else
            {
                LicenceApplicationPostDataHandler.UnlinkPrincipalAuthorityFromDirectorOrPartner(Session.GetCurrentDopId());
            }

            return(CheckParentValidityAndRedirect(FormSection.DirectorOrPartner, 1));
        }
        public void it_should_map_the_is_previous_authority_view_model_to_the_director_or_partner_entity()
        {
            var input = new IsPreviousPrincipalAuthorityViewModel {
                IsPreviousPrincipalAuthority = true
            };
            var result = new DirectorOrPartner();

            this.mapper.Map(input, result);

            Assert.IsNotNull(result.IsPreviousPrincipalAuthority);
            Assert.AreEqual(true, result.IsPreviousPrincipalAuthority);
        }