commit b3605e725f0013515b6267bca74c67daf77f0649 Author: Tomi Eckert Date: Wed Dec 10 10:59:48 2025 +0100 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce5a300 --- /dev/null +++ b/.gitignore @@ -0,0 +1,135 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates +.vs/ + +# Build results +./BlueberryUpdater/*.zip +FinalBuild/ +[Dd]ebug/ +[Rr]elease/ +x64/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.svclog +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml +*.azurePubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +packages/ +## TODO: If the tool you use requires repositories.config, also uncomment the next line +!packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +![Ss]tyle[Cc]op.targets +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml + +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +_NCrunch* diff --git a/BlueMine.sln b/BlueMine.sln new file mode 100644 index 0000000..9c77018 --- /dev/null +++ b/BlueMine.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36603.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlueMine", "BlueMine\BlueMine.csproj", "{201018E0-4328-4B0A-8BD7-0E3AC6155A68}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlueberryUpdater", "BlueberryUpdater\BlueberryUpdater.csproj", "{3DFA0D6A-39BE-471E-9839-8F36B5A487FA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {201018E0-4328-4B0A-8BD7-0E3AC6155A68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {201018E0-4328-4B0A-8BD7-0E3AC6155A68}.Debug|Any CPU.Build.0 = Debug|Any CPU + {201018E0-4328-4B0A-8BD7-0E3AC6155A68}.Release|Any CPU.ActiveCfg = Release|Any CPU + {201018E0-4328-4B0A-8BD7-0E3AC6155A68}.Release|Any CPU.Build.0 = Release|Any CPU + {3DFA0D6A-39BE-471E-9839-8F36B5A487FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3DFA0D6A-39BE-471E-9839-8F36B5A487FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3DFA0D6A-39BE-471E-9839-8F36B5A487FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3DFA0D6A-39BE-471E-9839-8F36B5A487FA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3C0CD25D-E10C-4E1B-88BC-C60755F9B5FB} + EndGlobalSection +EndGlobal diff --git a/BlueMine/App.xaml b/BlueMine/App.xaml new file mode 100644 index 0000000..9d1a0b5 --- /dev/null +++ b/BlueMine/App.xaml @@ -0,0 +1,18 @@ + + + + + + + + + + + diff --git a/BlueMine/App.xaml.cs b/BlueMine/App.xaml.cs new file mode 100644 index 0000000..ed8c930 --- /dev/null +++ b/BlueMine/App.xaml.cs @@ -0,0 +1,78 @@ +using BlueMine.Redmine; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using System.IO; +using System.Windows; +using System.Windows.Threading; + +namespace BlueMine +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + private static readonly IHost _host = Host + .CreateDefaultBuilder() + .ConfigureLogging(builder => { + builder.AddConsole(); + builder.SetMinimumLevel(LogLevel.Debug); + }) + .ConfigureAppConfiguration(c => { c.SetBasePath(Path.GetDirectoryName(AppContext.BaseDirectory) ?? throw new NullReferenceException()); }) + .ConfigureServices((context, services) => + { + services.AddSingleton(); + + services.AddSingleton(sp => + { + var manager = sp.GetRequiredService(); + return manager.Load(); + }); + + //services.AddTransient(); + services.AddHttpClient(client => client.BaseAddress = new Uri("http://localhost/")); + // .AddHttpMessageHandler(); + + services.AddSingleton(); + services.AddSingleton(); + }).Build(); + + /// + /// Gets services. + /// + public static IServiceProvider Services + { + get { return _host.Services; } + } + + /// + /// Occurs when the application is loading. + /// + private async void OnStartup(object sender, StartupEventArgs e) + { + await _host.StartAsync(); + var mainWindow = _host.Services.GetRequiredService(); + mainWindow.Show(); + } + + /// + /// Occurs when the application is closing. + /// + private async void OnExit(object sender, ExitEventArgs e) + { + await _host.StopAsync(); + + _host.Dispose(); + } + + /// + /// Occurs when an exception is thrown by an application but not handled. + /// + private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) + { + // For more info see https://docs.microsoft.com/en-us/dotnet/api/system.windows.application.dispatcherunhandledexception?view=windowsdesktop-6.0 + } + } +} diff --git a/BlueMine/AssemblyInfo.cs b/BlueMine/AssemblyInfo.cs new file mode 100644 index 0000000..b0ec827 --- /dev/null +++ b/BlueMine/AssemblyInfo.cs @@ -0,0 +1,10 @@ +using System.Windows; + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/BlueMine/BlueMine.csproj b/BlueMine/BlueMine.csproj new file mode 100644 index 0000000..6ad1072 --- /dev/null +++ b/BlueMine/BlueMine.csproj @@ -0,0 +1,43 @@ + + + + WinExe + net8.0-windows10.0.17763.0 + enable + enable + true + BlueMine.App + bb.ico + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + + diff --git a/BlueMine/Constants.cs b/BlueMine/Constants.cs new file mode 100644 index 0000000..f975e29 --- /dev/null +++ b/BlueMine/Constants.cs @@ -0,0 +1,49 @@ +using static BlueMine.Redmine.RedmineDto; + +namespace BlueMine +{ + internal class Constants + { + public static IssueItem[] StaticTickets = [ + new IssueItem() { + IssueNumber = 705, + SpentTime = 0, + ProjectName = "OnLiveIT", + IssueName = "Megbeszélés", + IssueDescription = "" + }, + new IssueItem() { + IssueNumber = 801, + SpentTime = 0, + ProjectName = "OnLiveIT", + IssueName = "Egyéb", + IssueDescription = "" + }, + ]; + + public static string[] GenericMessages = [ + "Config reszelés", + "Telefon, mail, chat", + "Meet, email és egyéb", + "Tanulás, dokumentálás", + "Adminisztrációs cuccok", + "Doksi készítés, tanulás", + "Doksi túrás, hibakeresés", + "Kollégákkal kommunikáció", + "Adminisztrációs feladatok", + "Napi admin körök, redmine", + "SAP dokumnetáció, önképzés", + "Általános admin és papírmunka", + "Belső egyeztetések, meetingek", + "Jegyezés, emailek, chat, stb.", + "SAP doksik olvasása, önképzés", + "Jegyek átnézése, adminisztráció", + "VPN szívás, emailek, chat, stb.", + "Saját gép karbantartása, updatek", + "Technikai utánaolvasás, research", + "SAP Note-ok böngészése, tesztelés", + "Nem elszámolható hívások, email, chat", + "Nem elszámolható telefon, chat, email kommunikáció", + ]; + } +} diff --git a/BlueMine/MainWindow.xaml b/BlueMine/MainWindow.xaml new file mode 100644 index 0000000..f1b19f0 --- /dev/null +++ b/BlueMine/MainWindow.xaml @@ -0,0 +1,215 @@ + + + /Resources/Roboto.ttf + /Resources/Zalando.ttf + /Resources/Inter.ttf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +