mirror of
https://github.com/NecroticBamboo/QRBee.git
synced 2025-12-21 12:11:53 +00:00
Logging fixed. The connectivity between Android application and API Server fixed.
This commit is contained in:
parent
55428f92f3
commit
edfdfacb2d
@ -9,7 +9,7 @@ namespace QRBee.Droid.Services
|
|||||||
{
|
{
|
||||||
internal class LocalSettings : ILocalSettings
|
internal class LocalSettings : ILocalSettings
|
||||||
{
|
{
|
||||||
public string QRBeeApiUrl => "https://192.169.0.12:5000";
|
public string QRBeeApiUrl => "https://10.0.2.2:7000";
|
||||||
|
|
||||||
public async Task SaveSettings(Settings settings)
|
public async Task SaveSettings(Settings settings)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -7,12 +7,13 @@ namespace QRBee.Services
|
|||||||
{
|
{
|
||||||
public class Settings
|
public class Settings
|
||||||
{
|
{
|
||||||
|
//TODO add ClientId
|
||||||
public string PIN { get; set; }
|
public string PIN { get; set; }
|
||||||
public bool IsRegistered { get; set; }
|
public bool IsRegistered { get; set; }
|
||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Email { get; set; }
|
public string Email { get; set; }
|
||||||
public string DateOfBirth { get; set; }
|
public DateTime DateOfBirth { get; set; }
|
||||||
public string CardNumber { get; set; }
|
public string CardNumber { get; set; }
|
||||||
public string ValidFrom { get; set; }
|
public string ValidFrom { get; set; }
|
||||||
public string ExpirationDate { get; set; }
|
public string ExpirationDate { get; set; }
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net.Http;
|
using System.Net.Http;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using QRBee.Core;
|
using QRBee.Core;
|
||||||
using QRBee.Core.Data;
|
using QRBee.Core.Data;
|
||||||
using QRBee.Services;
|
using QRBee.Services;
|
||||||
@ -38,7 +39,7 @@ namespace QRBee.ViewModels
|
|||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Email { get; set; }
|
public string Email { get; set; }
|
||||||
public string DateOfBirth { get; set; }
|
public DateTime DateOfBirth { get; set; }
|
||||||
public string CardNumber { get; set; }
|
public string CardNumber { get; set; }
|
||||||
public string ValidFrom { get; set; }
|
public string ValidFrom { get; set; }
|
||||||
public string ExpirationDate { get; set; }
|
public string ExpirationDate { get; set; }
|
||||||
@ -58,12 +59,23 @@ namespace QRBee.ViewModels
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_password1 = value;
|
_password1 = value;
|
||||||
Password1Color = (string.IsNullOrWhiteSpace(_password1) || _password1.Length < 8 ) ? Color.Red : Color.Green;
|
Password1Color = (CheckPassword(_password1)) ? Color.Green : Color.Red;
|
||||||
OnPropertyChanged(nameof(Password1));
|
OnPropertyChanged(nameof(Password1));
|
||||||
OnPropertyChanged(nameof(Password1Color));
|
OnPropertyChanged(nameof(Password1Color));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static bool CheckPassword(string password)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(password) || password.Length < 7)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Regex.IsMatch(password, "(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])");
|
||||||
|
//return string.IsNullOrWhiteSpace(password) || password.Length<8 && Regex.IsMatch(password, "[a-zA-Z0-9]");
|
||||||
|
}
|
||||||
|
|
||||||
public string Password2
|
public string Password2
|
||||||
{
|
{
|
||||||
get => _password2;
|
get => _password2;
|
||||||
@ -82,13 +94,14 @@ namespace QRBee.ViewModels
|
|||||||
|
|
||||||
private async void OnRegisterClicked(object obj)
|
private async void OnRegisterClicked(object obj)
|
||||||
{
|
{
|
||||||
using var client = new HttpClient();
|
using var client = new HttpClient(GetInsecureHandler());
|
||||||
var localSettings = DependencyService.Resolve<ILocalSettings>();
|
var localSettings = DependencyService.Resolve<ILocalSettings>();
|
||||||
|
|
||||||
var service = new Core.Client.Client(localSettings.QRBeeApiUrl,client);
|
var service = new Core.Client.Client(localSettings.QRBeeApiUrl,client);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//TODO Check if ClientId already in LocalSettings. If Yes update data in database
|
||||||
|
|
||||||
//save local settings
|
//save local settings
|
||||||
var settings = new Settings
|
var settings = new Settings
|
||||||
@ -109,7 +122,7 @@ namespace QRBee.ViewModels
|
|||||||
|
|
||||||
await service.RegisterAsync(new RegistrationRequest
|
await service.RegisterAsync(new RegistrationRequest
|
||||||
{
|
{
|
||||||
DateOfBirth = DateOfBirth,
|
DateOfBirth = DateOfBirth.ToString("yyyy-MM-dd"),
|
||||||
Email = Email,
|
Email = Email,
|
||||||
Name = Name,
|
Name = Name,
|
||||||
RegisterAsMerchant = false
|
RegisterAsMerchant = false
|
||||||
@ -128,5 +141,19 @@ namespace QRBee.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This method must be in a class in a platform project, even if
|
||||||
|
// the HttpClient object is constructed in a shared project.
|
||||||
|
public HttpClientHandler GetInsecureHandler()
|
||||||
|
{
|
||||||
|
var handler = new HttpClientHandler();
|
||||||
|
handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) =>
|
||||||
|
{
|
||||||
|
if (cert.Issuer.Equals("CN=localhost"))
|
||||||
|
return true;
|
||||||
|
return errors == System.Net.Security.SslPolicyErrors.None;
|
||||||
|
};
|
||||||
|
return handler;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ namespace QRBee.Api.Controllers
|
|||||||
[HttpPost("Register")]
|
[HttpPost("Register")]
|
||||||
public Task<RegistrationResponse> Register([FromBody] RegistrationRequest value)
|
public Task<RegistrationResponse> Register([FromBody] RegistrationRequest value)
|
||||||
{
|
{
|
||||||
_logger.LogDebug($"Trying to register user {value.Name}");
|
_logger.LogInformation($"Trying to register user {value.Name}");
|
||||||
return _service.Register(value);
|
return _service.Register(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,6 +12,7 @@ builder.Host.ConfigureLogging(logging =>
|
|||||||
{
|
{
|
||||||
logging.ClearProviders();
|
logging.ClearProviders();
|
||||||
GlobalContext.Properties["LOGS_ROOT"] = Environment.GetEnvironmentVariable("LOGS_ROOT") ?? "";
|
GlobalContext.Properties["LOGS_ROOT"] = Environment.GetEnvironmentVariable("LOGS_ROOT") ?? "";
|
||||||
|
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
|
||||||
logging.AddLog4Net("log4net.config");
|
logging.AddLog4Net("log4net.config");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -26,12 +26,13 @@ namespace QRBee.Api.Services
|
|||||||
Validate(request);
|
Validate(request);
|
||||||
|
|
||||||
var info = Convert(request);
|
var info = Convert(request);
|
||||||
|
//TODO Check that user doesn't exist(name,surname,dateOfBirth or Telephone number(get from Android))
|
||||||
|
|
||||||
var clientId = await _storage.PutUserInfo(info);
|
var clientId = await _storage.PutUserInfo(info);
|
||||||
|
|
||||||
return new RegistrationResponse{ClientId = clientId};
|
return new RegistrationResponse{ClientId = clientId};
|
||||||
}
|
}
|
||||||
|
//TODO Write an UpdateUser command
|
||||||
private static void Validate(RegistrationRequest request)
|
private static void Validate(RegistrationRequest request)
|
||||||
{
|
{
|
||||||
if (request == null)
|
if (request == null)
|
||||||
|
|||||||
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
"Logging": {
|
"Logging": {
|
||||||
"LogLevel": {
|
"LogLevel": {
|
||||||
"Default": "Information",
|
"Default": "Trace"
|
||||||
"Microsoft.AspNetCore": "Warning"
|
//"Microsoft.AspNetCore": "Debug"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AllowedHosts": "*"
|
"AllowedHosts": "*"
|
||||||
|
|||||||
@ -6,10 +6,18 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<appender name="Console" type="log4net.Appender.ConsoleAppender">
|
<appender name="Console" type="log4net.Appender.ColoredConsoleAppender">
|
||||||
|
<mapping>
|
||||||
|
<level value="ERROR" />
|
||||||
|
<foreColor value="White" />
|
||||||
|
<backColor value="Red, HighIntensity" />
|
||||||
|
</mapping>
|
||||||
|
<mapping>
|
||||||
|
<level value="DEBUG" />
|
||||||
|
<foreColor value="White" />
|
||||||
|
</mapping>
|
||||||
<layout type="log4net.Layout.PatternLayout">
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
<!-- Pattern to output the caller's file name and line number -->
|
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
|
||||||
<conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
|
|
||||||
</layout>
|
</layout>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
@ -25,10 +33,15 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<root>
|
<appender name="BufferingForwardingAppender" type="log4net.Appender.BufferingForwardingAppender" >
|
||||||
<level value="ALL"/>
|
<bufferSize value="1"/>
|
||||||
<appender-ref ref="DebugAppender" />
|
<appender-ref ref="DebugAppender" />
|
||||||
<appender-ref ref="Console" />
|
<appender-ref ref="Console" />
|
||||||
<appender-ref ref="RollingFile" />
|
<appender-ref ref="RollingFile" />
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root>
|
||||||
|
<level value="ALL"/>
|
||||||
|
<appender-ref ref="BufferingForwardingAppender" />
|
||||||
</root>
|
</root>
|
||||||
</log4net>
|
</log4net>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user