public async Task <IActionResult> DeleteRegistrationAsync(DeleteRegistrationViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } if (!viewModel.DeleteRegistration.Value) { return(RedirectToRoute(RouteConstants.RegistrationDetails, new { profileId = viewModel.ProfileId })); } var isSuccess = await _registrationLoader.DeleteRegistrationAsync(User.GetUkPrn(), viewModel.ProfileId); if (isSuccess) { await _cacheService.SetAsync(CacheKey, new RegistrationCancelledConfirmationViewModel { Uln = viewModel.Uln }, CacheExpiryTime.XSmall); return(RedirectToRoute(RouteConstants.RegistrationCancelledConfirmation)); } else { _logger.LogWarning(LogEvent.RegistrationNotDeleted, $"Unable to delete registration. Method: DeleteRegistrationAsync(Ukprn: {User.GetUkPrn()}, id: {viewModel.ProfileId}), User: {User.GetUserEmail()}"); return(RedirectToRoute(RouteConstants.Error, new { StatusCode = 500 })); } }
public async Task <IActionResult> DeleteRegistrationAsync(int profileId) { var registrationDetails = await _registrationLoader.GetRegistrationAssessmentAsync(User.GetUkPrn(), profileId, RegistrationPathwayStatus.Active); if (registrationDetails == null || registrationDetails.IsResultExist || registrationDetails.IsIndustryPlacementExist) { return(RedirectToRoute(RouteConstants.PageNotFound)); } var viewModel = new DeleteRegistrationViewModel { ProfileId = registrationDetails.ProfileId, Uln = registrationDetails.Uln }; return(View(viewModel)); }
public override void Setup() { AoUkprn = 12345678; ProfileId = 99; HttpContextAccessor = Substitute.For <IHttpContextAccessor>(); RegistrationLoader = Substitute.For <IRegistrationLoader>(); CacheService = Substitute.For <ICacheService>(); Logger = Substitute.For <ILogger <RegistrationController> >(); Controller = new RegistrationController(RegistrationLoader, CacheService, Logger); var httpContext = new ClaimsIdentityBuilder <RegistrationController>(Controller) .Add(CustomClaimTypes.Ukprn, AoUkprn.ToString()) .Add(CustomClaimTypes.UserId, Guid.NewGuid().ToString()) .Build() .HttpContext; HttpContextAccessor.HttpContext.Returns(httpContext); CacheKey = CacheKeyHelper.GetCacheKey(httpContext.User.GetUserId(), CacheConstants.RegistrationCacheKey); ViewModel = new DeleteRegistrationViewModel { Uln = 1234567890, ProfileId = ProfileId }; }