Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        internal async Task <SchemaExtension> AddTestProjectSchemaExtension(SchemaExtensionTypes types)
        {
            var schemaExtension = SchemaExtensionBuilder(types);
            var result          = await graphClient.SchemaExtensions.Request().AddAsync(schemaExtension);

            return(result);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public string GetSchemaExtensionId(SchemaExtensionTypes types)
        {
            switch (types)
            {
            case SchemaExtensionTypes.ManagedEvent:
                return(ManagedEventSchemaExtension.schemaid);

            case SchemaExtensionTypes.TestExtension:
                return(TestExtensionSchemaExtension.schemaid);
            }

            throw new ArgumentException(nameof(types));
        }
Esempio n. 5
0
        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 }));
            }
        }
Esempio n. 10
0
 public async Task DeleteSchemaExtension(SchemaExtensionTypes types)
 {
     await graphClient.SchemaExtensions[GetSchemaExtensionId(types)].Request().DeleteAsync().ConfigureAwait(continueOnCapturedContext: false);
 }
Esempio n. 11
0
        public async Task <SchemaExtension> SetSchemaExtensionStatusDeprecated(SchemaExtensionTypes types)
        {
            var result = await SetSchemaExtensionStatus(types, JsonHelpers.SchemaExtensionStatusTypes.Deprecated);

            return(result);
        }
Esempio n. 12
0
        public async Task <SchemaExtension> SetSchemaExtensionStatusInDevelopment(SchemaExtensionTypes types)
        {
            var result = await SetSchemaExtensionStatus(types, JsonHelpers.SchemaExtensionStatusTypes.InDevelopment);

            return(result);
        }
Esempio n. 13
0
        internal async Task <SchemaExtension> SetSchemaExtensionStatusAvailable(SchemaExtensionTypes types)
        {
            var result = await SetSchemaExtensionStatus(types, JsonHelpers.SchemaExtensionStatusTypes.Available);

            return(result);
        }
Esempio n. 14
0
        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));
 }