Microsoft.Graph.SchemaExtension SchemaExtensionBuilder(SchemaExtensionTypes types) { switch (types) { case SchemaExtensionTypes.ManagedEvent: return(new Microsoft.Graph.SchemaExtension { Id = GetSchemaExtensionId(types), Description = "Extensions for EventManagerDemo", TargetTypes = new string[] { "Group" }, Properties = JsonHelpers.ManagedEventSchemaExtensionProperties.Get() // TO DO: infer the schema from a POCO JsonClass }); case SchemaExtensionTypes.TestExtension: return(new Microsoft.Graph.SchemaExtension { Id = GetSchemaExtensionId(types), Description = "Extension for EventManagerDemo", TargetTypes = new string[] { "Group" }, Properties = ToSchemaExtensionPropertiesCollection(typeof(JsonHelpers.TestExtension)) }); } throw new ArgumentException(nameof(types)); }
internal async Task <SchemaExtension> AddTestProjectSchemaExtension(SchemaExtensionTypes types) { var schemaExtension = SchemaExtensionBuilder(types); var result = await graphClient.SchemaExtensions.Request().AddAsync(schemaExtension); return(result); }
public async Task <SchemaExtension> SetSchemaExtensionStatus(SchemaExtensionTypes types, JsonHelpers.SchemaExtensionStatusTypes status) { var schemaExtension = new SchemaExtension { Id = GetSchemaExtensionId(types), Status = status.ToString() }; var result = await graphClient.SchemaExtensions[schemaExtension.Id].Request().UpdateAsync(schemaExtension); return(result); }
public string GetSchemaExtensionId(SchemaExtensionTypes types) { switch (types) { case SchemaExtensionTypes.ManagedEvent: return(ManagedEventSchemaExtension.schemaid); case SchemaExtensionTypes.TestExtension: return(TestExtensionSchemaExtension.schemaid); } throw new ArgumentException(nameof(types)); }
public async Task <bool> IsSchemaExtensionPresent(SchemaExtensionTypes types) { try { var response = await graphClient.SchemaExtensions[GetSchemaExtensionId(types)].Request().GetAsync(); return(true); } catch (ServiceException se) { if (se.StatusCode == System.Net.HttpStatusCode.NotFound) { return(false); } throw se; } }
public async Task <ActionResult> IsSchemaExtensionPresent(SchemaExtensionTypes SchemaExtension) { bool b = true; bool successful = true; b = await schemaExtensionsRepository.IsSchemaExtensionPresent(SchemaExtension); if (successful) { ViewBag.Title = b ? $"SchemaExtension {SchemaExtension} is present" : $"SchemaExtension {SchemaExtension} is not present"; } else { ViewBag.Title = "Unsuccessful"; ViewBag.Message = $"{SchemaExtension} not supported"; } return(View("Message")); }
public async Task <ActionResult> DeleteSchemaExtension(SchemaExtensionTypes SchemaExtension) { try { await schemaExtensionsRepository.DeleteSchemaExtension(SchemaExtension); //await schemaExtensionsRepository.SetSchemaExtensionStatusInDevelopment<Models.JsonHelpers.ManagedEventSchemaExtension>(); ViewBag.Title = $"Deleting of schema extension {SchemaExtension} successful"; return(View("Message")); } catch (Exception ex) { if (ex is AdalException) { throw ex; } return(RedirectToAction("Index", "Error", new { message = ex.Message })); } }
public async Task <ActionResult> SetStatus(SchemaExtensionTypes SchemaExtension, Models.JsonHelpers.SchemaExtensionStatusTypes status) { try { await schemaExtensionsRepository.SetSchemaExtensionStatus(SchemaExtension, status); ViewBag.Title = "Successful"; ViewBag.Message = $"{schemaExtensionsRepository.GetSchemaExtensionId(SchemaExtension)} status set to {status}"; return(View("Message")); } catch (Exception ex) { if (ex is AdalException) { throw ex; } return(RedirectToAction("Index", "Error", new { message = ex.Message })); } }
public async Task <ActionResult> AddSchemaExtension(SchemaExtensionTypes SchemaExtension) { try { // add a new schema extension. Throws an exception when it already exists await schemaExtensionsRepository.AddSchemaExtension(SchemaExtension); ViewBag.Title = "Successful"; ViewBag.Message = $"{SchemaExtension} added"; return(View("Message")); } catch (Exception ex) { if (ex is AdalException) { throw ex; } return(RedirectToAction("Index", "Error", new { message = ex.Message })); } }
public async Task DeleteSchemaExtension(SchemaExtensionTypes types) { await graphClient.SchemaExtensions[GetSchemaExtensionId(types)].Request().DeleteAsync().ConfigureAwait(continueOnCapturedContext: false); }
public async Task <SchemaExtension> SetSchemaExtensionStatusDeprecated(SchemaExtensionTypes types) { var result = await SetSchemaExtensionStatus(types, JsonHelpers.SchemaExtensionStatusTypes.Deprecated); return(result); }
public async Task <SchemaExtension> SetSchemaExtensionStatusInDevelopment(SchemaExtensionTypes types) { var result = await SetSchemaExtensionStatus(types, JsonHelpers.SchemaExtensionStatusTypes.InDevelopment); return(result); }
internal async Task <SchemaExtension> SetSchemaExtensionStatusAvailable(SchemaExtensionTypes types) { var result = await SetSchemaExtensionStatus(types, JsonHelpers.SchemaExtensionStatusTypes.Available); return(result); }
public async Task <SchemaExtension> AddSchemaExtension(SchemaExtensionTypes types) { var schemaExtension = SchemaExtensionBuilder(types); return(await graphClient.SchemaExtensions.Request().AddAsync(schemaExtension)); }
public async Task <ActionResult> SetStatusToAvailable(SchemaExtensionTypes SchemaExtension) { // Patch the added schema extension. Throws an exception when it does not yet exist return(await SetStatus(SchemaExtension, Models.JsonHelpers.SchemaExtensionStatusTypes.Available)); }