private void SetupContext() { var ovoNumber = new OvoNumber("OVO000015"); _dataVlaanderenProviderMock = new Mock <IDataVlaanderenProvider>(); _wegwijsProviderMock = new Mock <IWegwijsProvider>(); _dataVlaanderenProviderMock .Setup(provider => provider.GetOrganisationAsync(ovoNumber)) .ReturnsAsync(() => Optional <Organisation> .Empty); _dataVlaanderenProviderMock .Setup(provider => provider.GetOrganisationNotFoundMessage()) .Returns("data.vlaanderen: not found"); _wegwijsProviderMock .Setup(provider => provider.GetOrganisationAsync(ovoNumber)) .ThrowsAsync(new Exception()); _wegwijsProviderMock .Setup(provider => provider.GetOrganisationFailedMessage()) .Returns("wegwijs: failed"); var sut = new OrganisationProvider( Mock.Of <ILogger <OrganisationProvider> >(), _dataVlaanderenProviderMock.Object, _wegwijsProviderMock.Object); _act = () => sut.GetOrganisationAsync(ovoNumber).GetAwaiter().GetResult(); }
private void SetupContext() { _ovoNumber = new OvoNumber("OVO000015"); _dataVlaanderenProviderMock = new Mock <IDataVlaanderenProvider>(); _wegwijsProviderMock = new Mock <IWegwijsProvider>(); _dataVlaanderenProviderMock .Setup(provider => provider.GetOrganisationAsync(_ovoNumber)) .ThrowsAsync(new Exception()); _dataVlaanderenProviderMock .Setup(provider => provider.GetOrganisationFailedMessage()) .Returns("error message"); _wegwijsProviderMock .Setup(provider => provider.GetOrganisationAsync(_ovoNumber)) .ReturnsAsync(() => new Optional <Organisation>( new Organisation { Name = new OrganisationName("Departement van verloren straten"), OvoNumber = _ovoNumber, Provenance = OrganisationProvenance.FromWegwijsSearch("uri//12") })); _sut = new OrganisationProvider( Mock.Of <ILogger <OrganisationProvider> >(), _dataVlaanderenProviderMock.Object, _wegwijsProviderMock.Object); }
private void SetupContext() { _ovoNumber = new OvoNumber("OVO000015"); _datavlaanderenOrganisationName = new OrganisationName("Departement van verloren gebouwen"); _provenanceUri = "uri//11"; var dataVlaanderenProviderMock = new Mock <IDataVlaanderenProvider>(); _wegwijsProviderMock = new Mock <IWegwijsProvider>(); dataVlaanderenProviderMock .Setup(provider => provider.GetOrganisationAsync(_ovoNumber)) .ReturnsAsync(() => new Optional <Organisation>( new Organisation { Name = _datavlaanderenOrganisationName, OvoNumber = _ovoNumber, Provenance = OrganisationProvenance.FromDataVlaanderen(_provenanceUri) })); _sut = new OrganisationProvider( Mock.Of <ILogger <OrganisationProvider> >(), dataVlaanderenProviderMock.Object, _wegwijsProviderMock.Object); }
private ProviderSummary Mapping(OrganisationProvider organisationProvider, string email, string providerCode) { if (organisationProvider != null) { var enrichment = _enrichmentService.GetProviderEnrichment(providerCode, email); return(new ProviderSummary() { ProviderName = organisationProvider.Provider.ProviderName, ProviderCode = organisationProvider.Provider.ProviderCode, TotalCourses = organisationProvider.Provider.Courses.Select(c => c.CourseCode).Distinct() .Count(), EnrichmentWorkflowStatus = enrichment?.Status }); } return(null); }
public IdentityController( UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, IEmailSender emailSender, ISmsSender smsSender, ILoggerFactory loggerFactory) { _userManager = userManager; _signInManager = signInManager; _emailSender = emailSender; _smsSender = smsSender; _logger = loggerFactory.CreateLogger <IdentityController>(); _dbContext = new ApplicationDbContext(); _addressProvider = new AddressProvider(); _emailProvider = new EmailProvider(); _authEmail = new AuthEmail(); _organisationProvider = new OrganisationProvider(); }
// POST: /Organisation/Dashboard public async Task <ActionResult> Dashboard(OrganisationMembershipActionViewModel model) { Organisation organisation = await db.Organisations.FindAsync(userContext.ItemId); if (organisation == null) { return(HttpNotFound()); } if (ModelState.IsValid) { OrganisationProvider item = organisation.OrganisationProviders.FirstOrDefault(x => x.ProviderId == model.Id); if (model.Action != "switchto" && !Permission.HasPermission(false, true, Permission.PermissionName.CanManageOrganisationProviderMembership)) { model.Action = "notpermitted"; } switch (model.Action) { case "invite": if (item != null) { ViewBag.Message = AppGlobal.Language.GetText(this, "AlreadyAssociated", "This provider is already associated with your organisation."); break; } OrganisationProvider op = db.OrganisationProviders.Create(); op.OrganisationId = organisation.OrganisationId; op.ProviderId = model.Id; op.IsAccepted = false; op.IsRejected = false; op.CanOrganisationEditProvider = false; op.Reason = null; organisation.OrganisationProviders.Add(op); ProvisionUtilities.SendProviderMembershipEmail( db, Constants.EmailTemplates.ProviderInviteNotification, model.Id, userContext.ItemId.Value, null); ShowGenericSavedMessage(); break; case "remove": ProvisionUtilities.SendProviderMembershipEmail( db, Constants.EmailTemplates.ProviderRemovedFromOrganisation, model.Id, userContext.ItemId.Value, null); db.OrganisationProviders.Remove(item); ShowGenericSavedMessage(); break; case "withdraw": ProvisionUtilities.SendProviderMembershipEmail( db, Constants.EmailTemplates.ProviderInviteWithdrawn, model.Id, userContext.ItemId.Value, null); db.OrganisationProviders.Remove(item); ShowGenericSavedMessage(); break; case "switchto": if (Permission.HasPermission(false, true, Permission.PermissionName.CanViewAdministratorHomePage)) { new RecentProvisions(Permission.GetCurrentUserId()).Add("P" + model.Id, model.Name); } bool success = item != null && item.CanOrganisationEditProvider && UserContext.SetUserContext(db, UserContext.UserContextName.Provider, model.Id); if (!success) { ViewBag.Message = AppGlobal.Language.GetText(this, "UnableToSwitch", "Unable to switch to the selected provider."); } else { return(RedirectToAction("Dashboard", "Provider")); } break; default: ViewBag.Message = AppGlobal.Language.GetText(this, "NotPermitted", "Unable to perform that action."); break; } await db.SaveChangesAsync(); } // Something happened so return the model var viewModel = new OrganisationDashboardViewModel(organisation); return(View(viewModel)); }
public async Task <ActionResult> Membership(OrganisationMembershipActionViewModel model) { Provider provider = await db.Providers.FindAsync(userContext.ItemId); if (provider == null) { return(HttpNotFound()); } if (ModelState.IsValid) { OrganisationProvider item = provider.OrganisationProviders.FirstOrDefault(x => x.OrganisationId == model.Id); if (item == null) { return(HttpNotFound()); } switch (model.Action) { case "accept": item.IsAccepted = true; item.IsRejected = false; item.CanOrganisationEditProvider = model.Flag.HasValue && !model.Flag.Value; item.RespondedByUserId = Permission.GetCurrentUserId(); item.RespondedByDateTimeUtc = DateTime.UtcNow; ProvisionUtilities.SendOrganisationMembershipEmail( db, item.CanOrganisationEditProvider ? Constants.EmailTemplates.ProviderInviteAcceptedCanEdit : Constants.EmailTemplates.ProviderInviteAcceptedCannotEdit, userContext.ItemId.Value, model.Id, null); ShowGenericSavedMessage(); break; case "reject": item.IsAccepted = false; item.IsRejected = true; item.Reason = model.Reason; item.RespondedByUserId = Permission.GetCurrentUserId(); item.RespondedByDateTimeUtc = DateTime.UtcNow; ProvisionUtilities.SendOrganisationMembershipEmail( db, Constants.EmailTemplates.ProviderInviteRejected, userContext.ItemId.Value, model.Id, new List <EmailParameter> { new EmailParameter("%REASONS%", model.Reason) }); ShowGenericSavedMessage(); break; case "leave": item.IsAccepted = true; item.IsRejected = true; item.Reason = model.Reason; item.RespondedByUserId = Permission.GetCurrentUserId(); item.RespondedByDateTimeUtc = DateTime.UtcNow; ProvisionUtilities.SendOrganisationMembershipEmail( db, Constants.EmailTemplates.ProviderLeftOrganisation, userContext.ItemId.Value, model.Id, new List <EmailParameter> { new EmailParameter("%REASONS%", model.Reason) }); ShowGenericSavedMessage(); break; case "toggleorg": item.CanOrganisationEditProvider = model.Flag.HasValue && model.Flag.Value; ProvisionUtilities.SendOrganisationMembershipEmail( db, item.CanOrganisationEditProvider ? Constants.EmailTemplates.ProviderAllowedOrganisationToManageData : Constants.EmailTemplates.ProviderDisallowedOrganisationToManageData, userContext.ItemId.Value, model.Id, null); ShowGenericSavedMessage(); break; default: ViewBag.Message = AppGlobal.Language.GetText(this, "NotPermitted", "Unable to perform that action."); break; } await db.SaveChangesAsync(); } var viewModel = new ProviderOrganisationsViewModel(provider); return(View(viewModel)); }
public OrganisationsController() { _orgRepo = new OrganisationProvider(); }