Skip to content

Commit 9be9ebb

Browse files
first steps to add multilanguage support
1 parent 55e73db commit 9be9ebb

File tree

9 files changed

+475
-0
lines changed

9 files changed

+475
-0
lines changed

AzureDevopsTracker/AzureDevopsTracker.csproj

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
<ItemGroup>
2727
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.7" />
2828
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="1.1.2" />
29+
<PackageReference Include="Microsoft.Extensions.Localization" Version="6.0.1" />
30+
<PackageReference Include="System.Net.Http.Json" Version="6.0.0" />
2931
</ItemGroup>
3032

3133
<ItemGroup>
@@ -35,6 +37,30 @@
3537
</None>
3638
</ItemGroup>
3739

40+
<ItemGroup>
41+
<Compile Update="Resources\SharedResource.pt-BR.Designer.cs">
42+
<DependentUpon>SharedResource.pt-BR.resx</DependentUpon>
43+
<DesignTime>True</DesignTime>
44+
<AutoGen>True</AutoGen>
45+
</Compile>
46+
<Compile Update="Resources\SharedResource.Designer.cs">
47+
<DesignTime>True</DesignTime>
48+
<AutoGen>True</AutoGen>
49+
<DependentUpon>SharedResource.resx</DependentUpon>
50+
</Compile>
51+
</ItemGroup>
52+
53+
<ItemGroup>
54+
<EmbeddedResource Update="Resources\SharedResource.pt-BR.resx">
55+
<LastGenOutput>SharedResource.pt-BR.Designer.cs</LastGenOutput>
56+
<Generator>ResXFileCodeGenerator</Generator>
57+
</EmbeddedResource>
58+
<EmbeddedResource Update="Resources\SharedResource.resx">
59+
<Generator>ResXFileCodeGenerator</Generator>
60+
<LastGenOutput>SharedResource.Designer.cs</LastGenOutput>
61+
</EmbeddedResource>
62+
</ItemGroup>
63+
3864
<ItemGroup>
3965
<None Update="adt_icon.png">
4066
<Pack>True</Pack>

AzureDevopsTracker/Configurations/Configuration.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public static IServiceCollection AddAzureDevopsTracker(this IServiceCollection s
3131
services.AddScoped<IChangeLogItemRepository, ChangeLogItemRepository>();
3232
services.AddScoped<IChangeLogRepository, ChangeLogRepository>();
3333

34+
services.AddLocalization(options => options.ResourcesPath = "Resources");
35+
3436
return services;
3537
}
3638

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
5+
namespace AzureDevopsTracker.Integrations
6+
{
7+
internal abstract class MessageBaseIntegration
8+
{
9+
10+
}
11+
}

AzureDevopsTracker/Integrations/MessageIntegration.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,14 @@ namespace AzureDevopsTracker.Integrations
88
internal abstract class MessageIntegration
99
{
1010
internal abstract void Send(ChangeLog changeLog);
11+
12+
internal string GetTitle(ChangeLog changeLog)
13+
{
14+
System.Resources.ResourceManager mgr = new
15+
System.Resources.ResourceManager("AzureDvevopsTracker.Resource",
16+
System.Reflection.Assembly.GetExecutingAssembly());
17+
18+
return "";
19+
}
1120
}
1221
}

AzureDevopsTracker/Integrations/MicrosoftTeamsIntegration.cs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,64 @@
11
using AzureDevopsTracker.Entities;
22
using System;
33
using System.Collections.Generic;
4+
using System.Net.Http;
5+
using System.Net.Http.Json;
46
using System.Text;
57

68
namespace AzureDevopsTracker.Integrations
79
{
810
internal class MicrosoftTeamsIntegration : MessageIntegration
911
{
12+
public class MicrosoftTeamsMessage
13+
{
14+
public string type { get; set; }
15+
public string context { get; set; }
16+
public string themeColor { get; set; }
17+
public string summary { get; set; }
18+
public string priority { get; set; }
19+
public Section[] sections { get; set; }
20+
}
21+
22+
public class Section
23+
{
24+
public string activityTitle { get; set; }
25+
public string activitySubtitle { get; set; }
26+
public string activityImage { get; set; }
27+
public string text { get; set; }
28+
public bool markdown { get; set; }
29+
}
30+
31+
32+
internal static class MicrosoftTeamsStrings
33+
{
34+
internal static string Type = "MessageCard";
35+
internal static string Context = "http://schema.org/extensions";
36+
internal static string ThemeColor = "7bd1d7";
37+
}
38+
1039
internal override void Send(ChangeLog changeLog)
1140
{
1241
//Formatar o texto com o MicrosoftTeamsHelper
1342

1443
//Faz o Post com a URL
1544
var url = MessageConfig.URL;
45+
var values = new MicrosoftTeamsMessage()
46+
{
47+
type = MicrosoftTeamsStrings.Type,
48+
context = MicrosoftTeamsStrings.Context,
49+
themeColor = MicrosoftTeamsStrings.ThemeColor,
50+
//summary = MicrosoftTeamsStrings.
51+
52+
53+
};
54+
55+
var json = JsonContent.Create(values);
56+
57+
HttpClient client = new HttpClient();
58+
var response = client.PostAsync(MessageConfig.URL, json).Result;
59+
60+
//var responseString = await response.Content.ReadAsStringAsync();
61+
1662

1763
//Seta o retorno no ChangeLog
1864

AzureDevopsTracker/Resources/SharedResource.Designer.cs

Lines changed: 72 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AzureDevopsTracker/Resources/SharedResource.pt-BR.Designer.cs

Lines changed: 63 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)