public async Task <IActionResult> PostProceduresAsync([FromBody] CreateProcedureRequest createProcedureRequest) { if (!ModelState.IsValid) { return(BadRequest("Model is invalid")); } var model = _mapper.Map <ProcedureModel>(createProcedureRequest); await _procedureRepository.InsertAsync(model); var response = _mapper.Map <CreateProcedureResponse>(model); return(Ok(response)); }
public void Initialize(string connectionString) { Requests = new RequestProcessor(connectionString); var types = Assembly.GetCallingAssembly().DefinedTypes; foreach (var type in types) { if (type.GetCustomAttribute(typeof(DataModelAttribute)) != null) { Mapper.Map(type); } } Requests.Initialize(); var prepareRequest = new SqlRequest("IF EXISTS(SELECT* FROM sys.objects WHERE object_id = OBJECT_ID(N'DatabaseHealthCheck') AND type in (N'P', N'PC')) " + "DROP PROCEDURE DatabaseHealthCheck;"); var healthCheckRequest = new CreateProcedureRequest(@" SELECT @@ServerName AS ServerName , DB_NAME() AS DBName , OBJECT_NAME(ddius.object_id) AS TableName , SUM(ddius.user_seeks + ddius.user_scans + ddius.user_lookups) AS Reads , SUM(ddius.user_updates) AS Writes , SUM(ddius.user_seeks + ddius.user_scans + ddius.user_lookups + ddius.user_updates) AS [Reads&Writes] , ( SELECT DATEDIFF(s, create_date, GETDATE()) / 86400.0 FROM master.sys.databases WHERE name = 'tempdb' ) AS SampleDays , ( SELECT DATEDIFF(s, create_date, GETDATE()) AS SecoundsRunnig FROM master.sys.databases WHERE name = 'tempdb' ) AS SampleSeconds FROM sys.dm_db_index_usage_stats ddius INNER JOIN sys.indexes i ON ddius.object_id = i.object_id AND i.index_id = ddius.index_id WHERE OBJECTPROPERTY(ddius.object_id, 'IsUserTable') = 1 AND ddius.database_id = DB_ID() GROUP BY OBJECT_NAME(ddius.object_id) ORDER BY [Reads&Writes] DESC; ", "DatabaseHealthCheck"); Requests.Execute(prepareRequest); Requests.Execute(healthCheckRequest); }