Skip to content

Commit ceede1b

Browse files
committed
Updating
1 parent 8c54a60 commit ceede1b

File tree

5 files changed

+74
-22
lines changed

5 files changed

+74
-22
lines changed

AzureDevOpsStateTracker.Functions/AzureDevOpsStateTracker.Functions.csproj

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<TargetFramework>netcoreapp3.1</TargetFramework>
44
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
5+
<UserSecretsId>035287d5-0b94-46fd-b3a9-b927fdb7b8ed</UserSecretsId>
56
</PropertyGroup>
67
<ItemGroup>
78
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
9+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.17">
10+
<PrivateAssets>all</PrivateAssets>
11+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12+
</PackageReference>
13+
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.17">
14+
<PrivateAssets>all</PrivateAssets>
15+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
16+
</PackageReference>
17+
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="3.1.13" />
818
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.13" />
919
</ItemGroup>
1020
<ItemGroup>
21+
<ProjectReference Include="..\..\azure-devops-state-tracker\AzureDevopsStateTracker\AzureDevopsStateTracker.csproj" />
22+
</ItemGroup>
23+
<ItemGroup>
24+
<None Update="local.settings.json">
25+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
26+
</None>
1127
<None Update="host.json">
1228
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
1329
</None>

AzureDevOpsStateTracker.Functions/AzureDevOpsStateTracker.Functions.sln

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 16
44
VisualStudioVersion = 16.0.31229.75
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureDevOpsStateTracker.Functions", "AzureDevOpsStateTracker.Functions.csproj", "{3C86C085-C8C6-46BB-8315-D4348928034C}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureDevOpsStateTracker.Functions", "AzureDevOpsStateTracker.Functions.csproj", "{3C86C085-C8C6-46BB-8315-D4348928034C}"
7+
EndProject
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureDevopsStateTracker", "..\..\azure-devops-state-tracker\AzureDevopsStateTracker\AzureDevopsStateTracker.csproj", "{E71EE8C3-7D74-4C91-B244-2394160F7486}"
79
EndProject
810
Global
911
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +17,10 @@ Global
1517
{3C86C085-C8C6-46BB-8315-D4348928034C}.Debug|Any CPU.Build.0 = Debug|Any CPU
1618
{3C86C085-C8C6-46BB-8315-D4348928034C}.Release|Any CPU.ActiveCfg = Release|Any CPU
1719
{3C86C085-C8C6-46BB-8315-D4348928034C}.Release|Any CPU.Build.0 = Release|Any CPU
20+
{E71EE8C3-7D74-4C91-B244-2394160F7486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21+
{E71EE8C3-7D74-4C91-B244-2394160F7486}.Debug|Any CPU.Build.0 = Debug|Any CPU
22+
{E71EE8C3-7D74-4C91-B244-2394160F7486}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{E71EE8C3-7D74-4C91-B244-2394160F7486}.Release|Any CPU.Build.0 = Release|Any CPU
1824
EndGlobalSection
1925
GlobalSection(SolutionProperties) = preSolution
2026
HideSolutionNode = FALSE

AzureDevOpsStateTracker.Functions/Extensions/HttpRequestExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace AzureDevOpsStateTracker.Functions.Extensions
66
{
77
public static class HttpRequestExtensions
88
{
9-
public static string ObterCorpo(this HttpRequest request)
9+
public static string GetBody(this HttpRequest request)
1010
{
1111
string corpo;
1212
using (StreamReader reader = new StreamReader(request.Body,
Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
using AzureDevOpsStateTracker.Functions;
1+
using AzureDevopsStateTracker.Configurations;
2+
using AzureDevopsStateTracker.Data;
3+
using AzureDevopsStateTracker.Services;
4+
using AzureDevOpsStateTracker.Functions;
25
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
36
using Microsoft.Extensions.DependencyInjection;
47

@@ -10,20 +13,12 @@ public class Startup : FunctionsStartup
1013
{
1114
public override void Configure(IFunctionsHostBuilder builder)
1215
{
13-
builder.Services.AddScoped<ServiceToInject>();
14-
15-
//builder.Services.AddHttpClient();
16+
var configuration = builder.GetContext().Configuration;
1617

17-
//builder.Services.AddSingleton<IMyService>((s) => {
18-
// return new MyService();
19-
//});
20-
21-
//builder.Services.AddSingleton<ILoggerProvider, MyLoggerProvider>();
22-
}
23-
24-
public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
25-
{
18+
builder.Services.AddScoped<ServiceToInject>();
19+
builder.Services.AddScoped<AzureDevopsStateTrackerService>();
2620

21+
builder.Services.AddAzureDevopsStateTracker(new DataBaseConfig(configuration["ConnectionStrings:DefaultConnection1"], "StateTracker"));
2722
}
2823
}
2924
}

AzureDevOpsStateTracker.Functions/WorkItemFunctions.cs

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,61 @@
33
using Microsoft.Azure.WebJobs.Extensions.Http;
44
using Microsoft.AspNetCore.Http;
55
using Microsoft.Extensions.Logging;
6+
using AzureDevopsStateTracker.Services;
7+
using AzureDevOpsStateTracker.Functions.Extensions;
8+
using Newtonsoft.Json;
9+
using AzureDevopsStateTracker.DTOs.Create;
10+
using AzureDevopsStateTracker.DTOs.Update;
11+
using System.Net;
12+
using System;
613

714
namespace AzureDevOpsStateTracker.Functions
815
{
916
public class WorkItemFunctions
1017
{
11-
private readonly ServiceToInject _serviceToInject;
18+
private readonly AzureDevopsStateTrackerService _azureDevopsStateTrackerService;
1219

13-
public WorkItemFunctions(ServiceToInject serviceToInject)
20+
public WorkItemFunctions(
21+
AzureDevopsStateTrackerService azureDevopsStateTrackerService)
1422
{
15-
_serviceToInject = serviceToInject;
23+
_azureDevopsStateTrackerService = azureDevopsStateTrackerService;
1624
}
1725

1826
[FunctionName("workitem")]
19-
public IActionResult Run(
27+
public IActionResult Create(
2028
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
2129
ILogger log)
2230
{
23-
_serviceToInject.DoSomething();
2431

25-
return new OkObjectResult("Ok - Run");
32+
try
33+
{
34+
var workItemDTO = JsonConvert.DeserializeObject<CreateWorkItemDTO>(req.GetBody());
35+
_azureDevopsStateTrackerService.Create(workItemDTO);
36+
}
37+
catch (Exception ex)
38+
{
39+
return new OkObjectResult(ex.Message);
40+
}
41+
42+
return new OkObjectResult(HttpStatusCode.OK);
43+
}
44+
45+
[FunctionName("workitem-update")]
46+
public IActionResult Update(
47+
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
48+
ILogger log)
49+
{
50+
try
51+
{
52+
var workItemDTO = JsonConvert.DeserializeObject<UpdatedWorkItemDTO>(req.GetBody());
53+
_azureDevopsStateTrackerService.Update(workItemDTO);
54+
}
55+
catch (Exception ex)
56+
{
57+
return new OkObjectResult(ex.Message);
58+
}
59+
60+
return new OkObjectResult(HttpStatusCode.OK);
2661
}
2762

2863
[FunctionName("ping")]

0 commit comments

Comments
 (0)