/// <summary> /// /// </summary> /// <param name="services"></param> public void ConfigureServices(IServiceCollection services) { SwaggerConfiguration.AddService(services); DbContextExtension.AddService(services, Configuration); CorsExtension.AddService(services); RouteExtension.AddService(services); RouteAnalyzerExtension.AddService(services); services.AddMemoryCache(); services.AddHttpContextAccessor(); services.AddSingleton <IActionContextAccessor, ActionContextAccessor>(); try { #pragma warning disable 618 AuthenticationConfiguration.AddService(services, Configuration); services.AddAutoMapper(); #pragma warning disable 618 } catch { } WebEncoderConfiguration.AddService(services); ValidateConfiguration.AddService(services); JsonExtension.AddService(services); SetCompatibilityVersionExtension.AddService(services); }
/// <summary> /// /// </summary> /// <param name="app"></param> /// <param name="env"></param> // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { SwaggerConfiguration.AddConfigure(app); AuthenticationConfiguration.AddConfigure(app); DevelopmentConfiguration.AddConfigure(app, env); app.UseStaticFiles(); app.UseFileServer(); CorsExtension.AddConfigure(app); ExceptionConfiguration.AddConfigure(app); var serviceProvider = app.ApplicationServices; var httpContextAccessor = serviceProvider.GetRequiredService <IHttpContextAccessor>(); AuthenticationContextService.AddConfigure(httpContextAccessor); RouteExtension.AddConfigure(app); RouteAnalyzerExtension.AddConfigure(app); }
public async Task <IActionResult> ListDescendants([FromRoute] int parentAssetID, [FromRoute] RouteExtension extension) { if (parentAssetID <= 0) { ErrorObject.Add(new ArgumentNullException(nameof(parentAssetID))); return(ErrorObject); } try { // ReSharper disable PossibleInvalidOperationException (var assets, var taskActualities) = extension == RouteExtension.All ? await _assetHelper.ListDescendantsAsync(TenantID.Value, TenantMemberID.Value, parentAssetID) : await _assetHelper.ListChildrenAsync(TenantID.Value, TenantMemberID.Value, parentAssetID); // ReSharper restore PossibleInvalidOperationException var result = BuildResut(assets, taskActualities); if (result == null || !result.Any()) { return(NoContent()); } return(Ok(result)); } catch (AssetDeletedException ex) { ErrorObject.Add(ex); return(ErrorObject); } catch (AssetArchivedException ex) { ErrorObject.Add(ex); return(ErrorObject); } catch (Exception ex) { ErrorObject.StatusCode = (int)HttpStatusCode.InternalServerError; ErrorObject.Add(ex); return(ErrorObject); } }