From 55428f92f35a01374d8aa24e5d1d4a96778598a5 Mon Sep 17 00:00:00 2001 From: Andrey Shabarshov Date: Wed, 2 Feb 2022 17:25:54 +0000 Subject: [PATCH] Logging support added. --- QRBee/QRBee.Android/Services/LocalSettings.cs | 2 +- QRBee/QRBee/ViewModels/RegisterViewModel.cs | 21 ++++++++++-- QRBeeApi/Controllers/QRBeeController.cs | 5 ++- QRBeeApi/Program.cs | 9 +++++ QRBeeApi/Properties/launchSettings.json | 13 ++----- QRBeeApi/QRBee.Api.csproj | 1 + QRBeeApi/log4net.config | 34 +++++++++++++++++++ 7 files changed, 71 insertions(+), 14 deletions(-) create mode 100644 QRBeeApi/log4net.config diff --git a/QRBee/QRBee.Android/Services/LocalSettings.cs b/QRBee/QRBee.Android/Services/LocalSettings.cs index 2007351..4068d77 100644 --- a/QRBee/QRBee.Android/Services/LocalSettings.cs +++ b/QRBee/QRBee.Android/Services/LocalSettings.cs @@ -9,7 +9,7 @@ namespace QRBee.Droid.Services { internal class LocalSettings : ILocalSettings { - public string QRBeeApiUrl => "https://localhost:5000"; + public string QRBeeApiUrl => "https://192.169.0.12:5000"; public async Task SaveSettings(Settings settings) { diff --git a/QRBee/QRBee/ViewModels/RegisterViewModel.cs b/QRBee/QRBee/ViewModels/RegisterViewModel.cs index ba9bea1..49a0e86 100644 --- a/QRBee/QRBee/ViewModels/RegisterViewModel.cs +++ b/QRBee/QRBee/ViewModels/RegisterViewModel.cs @@ -16,6 +16,19 @@ namespace QRBee.ViewModels public RegisterViewModel() { RegisterCommand = new Command(OnRegisterClicked); + + var localSettings = DependencyService.Resolve(); + var settings = localSettings.LoadSettings(); + + Name = settings.Name; + Email = settings.Email; + DateOfBirth = settings.DateOfBirth; + CardNumber = settings.CardNumber; + ValidFrom = settings.ValidFrom; + ExpirationDate = settings.ExpirationDate; + CardHolderName = settings.CardHolderName; + CVC = settings.CVC; + IssueNo = settings.IssueNo; } public Command RegisterCommand @@ -102,12 +115,16 @@ namespace QRBee.ViewModels RegisterAsMerchant = false }); + var page = Application.Current.MainPage.Navigation.NavigationStack.LastOrDefault(); + await page.DisplayAlert("Success", "You have been registered successfully", "Ok"); + await Shell.Current.GoToAsync($"//{nameof(MainPage)}"); } - catch (Exception) + catch (Exception e) { + //TODO: delete exception message in error message var page = Application.Current.MainPage.Navigation.NavigationStack.LastOrDefault(); - await page.DisplayAlert("Error", "The Backend isn't working", "Ok"); + await page.DisplayAlert("Error", $"The Backend isn't working: {e.Message}", "Ok"); } } diff --git a/QRBeeApi/Controllers/QRBeeController.cs b/QRBeeApi/Controllers/QRBeeController.cs index 308b221..a9f30e7 100644 --- a/QRBeeApi/Controllers/QRBeeController.cs +++ b/QRBeeApi/Controllers/QRBeeController.cs @@ -12,15 +12,18 @@ namespace QRBee.Api.Controllers public class QRBeeController : ControllerBase { private readonly IQRBeeAPI _service; + private readonly ILogger _logger; - public QRBeeController(IQRBeeAPI service) + public QRBeeController(IQRBeeAPI service, ILogger logger) { _service = service; + _logger = logger; } [HttpPost("Register")] public Task Register([FromBody] RegistrationRequest value) { + _logger.LogDebug($"Trying to register user {value.Name}"); return _service.Register(value); } diff --git a/QRBeeApi/Program.cs b/QRBeeApi/Program.cs index 7e8c52e..fbd52c1 100644 --- a/QRBeeApi/Program.cs +++ b/QRBeeApi/Program.cs @@ -1,3 +1,4 @@ +using log4net; using Microsoft.Extensions.Options; using MongoDB.Driver; using QRBee.Api; @@ -6,6 +7,14 @@ using QRBee.Api.Services.Database; var builder = WebApplication.CreateBuilder(args); + +builder.Host.ConfigureLogging(logging => +{ + logging.ClearProviders(); + GlobalContext.Properties["LOGS_ROOT"] = Environment.GetEnvironmentVariable("LOGS_ROOT") ?? ""; + logging.AddLog4Net("log4net.config"); +}); + // Add services to the container. builder.Services.AddControllers(); diff --git a/QRBeeApi/Properties/launchSettings.json b/QRBeeApi/Properties/launchSettings.json index 1203f3f..8f3ba71 100644 --- a/QRBeeApi/Properties/launchSettings.json +++ b/QRBeeApi/Properties/launchSettings.json @@ -12,19 +12,12 @@ "QRBeeApi": { "commandName": "Project", "dotnetRunMessages": true, - "launchBrowser": true, + "launchBrowser": false, "launchUrl": "swagger", "applicationUrl": "https://localhost:7000;http://localhost:5000", "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "launchUrl": "swagger", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" + "ASPNETCORE_ENVIRONMENT": "Development", + "LOGS_ROOT": "C:\\Users\\andre\\logs" } } } diff --git a/QRBeeApi/QRBee.Api.csproj b/QRBeeApi/QRBee.Api.csproj index dd68915..298d8da 100644 --- a/QRBeeApi/QRBee.Api.csproj +++ b/QRBeeApi/QRBee.Api.csproj @@ -8,6 +8,7 @@ + diff --git a/QRBeeApi/log4net.config b/QRBeeApi/log4net.config new file mode 100644 index 0000000..fd10972 --- /dev/null +++ b/QRBeeApi/log4net.config @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +