Optimized imports & removed redundant qualifiers

This commit is contained in:
Scorpoon
2024-11-10 14:57:50 +01:00
parent 89ece413c8
commit 039b30da4f
19 changed files with 61 additions and 58 deletions

View File

@@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Npgsql; using Npgsql;
using System.IO.Compression; using System.IO.Compression;
using JsonSerializer=System.Text.Json.JsonSerializer;
namespace CarCareTracker.Controllers namespace CarCareTracker.Controllers
{ {
@@ -105,7 +106,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
Vehicle vehicle = System.Text.Json.JsonSerializer.Deserialize<Vehicle>(reader["data"] as string); Vehicle vehicle = JsonSerializer.Deserialize<Vehicle>(reader["data"] as string);
vehicles.Add(vehicle); vehicles.Add(vehicle);
} }
} }
@@ -123,7 +124,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
repairrecords.Add(System.Text.Json.JsonSerializer.Deserialize<CollisionRecord>(reader["data"] as string)); repairrecords.Add(JsonSerializer.Deserialize<CollisionRecord>(reader["data"] as string));
} }
} }
foreach (var record in repairrecords) foreach (var record in repairrecords)
@@ -140,7 +141,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
upgraderecords.Add(System.Text.Json.JsonSerializer.Deserialize<UpgradeRecord>(reader["data"] as string)); upgraderecords.Add(JsonSerializer.Deserialize<UpgradeRecord>(reader["data"] as string));
} }
} }
foreach (var record in upgraderecords) foreach (var record in upgraderecords)
@@ -157,7 +158,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
servicerecords.Add(System.Text.Json.JsonSerializer.Deserialize<ServiceRecord>(reader["data"] as string)); servicerecords.Add(JsonSerializer.Deserialize<ServiceRecord>(reader["data"] as string));
} }
} }
foreach (var record in servicerecords) foreach (var record in servicerecords)
@@ -176,7 +177,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
gasrecords.Add(System.Text.Json.JsonSerializer.Deserialize<GasRecord>(reader["data"] as string)); gasrecords.Add(JsonSerializer.Deserialize<GasRecord>(reader["data"] as string));
} }
} }
foreach (var record in gasrecords) foreach (var record in gasrecords)
@@ -193,7 +194,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
noterecords.Add(System.Text.Json.JsonSerializer.Deserialize<Note>(reader["data"] as string)); noterecords.Add(JsonSerializer.Deserialize<Note>(reader["data"] as string));
} }
} }
foreach (var record in noterecords) foreach (var record in noterecords)
@@ -210,7 +211,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
odometerrecords.Add(System.Text.Json.JsonSerializer.Deserialize<OdometerRecord>(reader["data"] as string)); odometerrecords.Add(JsonSerializer.Deserialize<OdometerRecord>(reader["data"] as string));
} }
} }
foreach (var record in odometerrecords) foreach (var record in odometerrecords)
@@ -227,7 +228,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
reminderrecords.Add(System.Text.Json.JsonSerializer.Deserialize<ReminderRecord>(reader["data"] as string)); reminderrecords.Add(JsonSerializer.Deserialize<ReminderRecord>(reader["data"] as string));
} }
} }
foreach (var record in reminderrecords) foreach (var record in reminderrecords)
@@ -246,7 +247,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
planrecords.Add(System.Text.Json.JsonSerializer.Deserialize<PlanRecord>(reader["data"] as string)); planrecords.Add(JsonSerializer.Deserialize<PlanRecord>(reader["data"] as string));
} }
} }
foreach (var record in planrecords) foreach (var record in planrecords)
@@ -263,7 +264,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
planrecordtemplates.Add(System.Text.Json.JsonSerializer.Deserialize<PlanRecordInput>(reader["data"] as string)); planrecordtemplates.Add(JsonSerializer.Deserialize<PlanRecordInput>(reader["data"] as string));
} }
} }
foreach (var record in planrecordtemplates) foreach (var record in planrecordtemplates)
@@ -280,7 +281,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
supplyrecords.Add(System.Text.Json.JsonSerializer.Deserialize<SupplyRecord>(reader["data"] as string)); supplyrecords.Add(JsonSerializer.Deserialize<SupplyRecord>(reader["data"] as string));
} }
} }
foreach (var record in supplyrecords) foreach (var record in supplyrecords)
@@ -297,7 +298,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
taxrecords.Add(System.Text.Json.JsonSerializer.Deserialize<TaxRecord>(reader["data"] as string)); taxrecords.Add(JsonSerializer.Deserialize<TaxRecord>(reader["data"] as string));
} }
} }
foreach (var record in taxrecords) foreach (var record in taxrecords)
@@ -360,7 +361,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
userconfigrecords.Add(System.Text.Json.JsonSerializer.Deserialize<UserConfigData>(reader["data"] as string)); userconfigrecords.Add(JsonSerializer.Deserialize<UserConfigData>(reader["data"] as string));
} }
} }
foreach (var record in userconfigrecords) foreach (var record in userconfigrecords)
@@ -404,7 +405,7 @@ namespace CarCareTracker.Controllers
using (NpgsqlDataReader reader = ctext.ExecuteReader()) using (NpgsqlDataReader reader = ctext.ExecuteReader())
while (reader.Read()) while (reader.Read())
{ {
extrafields.Add(System.Text.Json.JsonSerializer.Deserialize<RecordExtraField>(reader["data"] as string)); extrafields.Add(JsonSerializer.Deserialize<RecordExtraField>(reader["data"] as string));
} }
} }
foreach (var record in extrafields) foreach (var record in extrafields)
@@ -475,7 +476,7 @@ namespace CarCareTracker.Controllers
using (var ctext = pgDataSource.CreateCommand(cmd)) using (var ctext = pgDataSource.CreateCommand(cmd))
{ {
ctext.Parameters.AddWithValue("id", vehicle.Id); ctext.Parameters.AddWithValue("id", vehicle.Id);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(vehicle)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(vehicle));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -491,7 +492,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -507,7 +508,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -523,7 +524,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -541,7 +542,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -557,7 +558,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -573,7 +574,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -589,7 +590,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -607,7 +608,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -623,7 +624,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -639,7 +640,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -655,7 +656,7 @@ namespace CarCareTracker.Controllers
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("vehicleId", record.VehicleId); ctext.Parameters.AddWithValue("vehicleId", record.VehicleId);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -706,7 +707,7 @@ namespace CarCareTracker.Controllers
using (var ctext = pgDataSource.CreateCommand(cmd)) using (var ctext = pgDataSource.CreateCommand(cmd))
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }
@@ -738,7 +739,7 @@ namespace CarCareTracker.Controllers
using (var ctext = pgDataSource.CreateCommand(cmd)) using (var ctext = pgDataSource.CreateCommand(cmd))
{ {
ctext.Parameters.AddWithValue("id", record.Id); ctext.Parameters.AddWithValue("id", record.Id);
ctext.Parameters.AddWithValue("data", System.Text.Json.JsonSerializer.Serialize(record)); ctext.Parameters.AddWithValue("data", JsonSerializer.Serialize(record));
ctext.ExecuteNonQuery(); ctext.ExecuteNonQuery();
} }
} }

View File

@@ -3,6 +3,7 @@ using CarCareTracker.Helper;
using CarCareTracker.MapProfile; using CarCareTracker.MapProfile;
using CarCareTracker.Models; using CarCareTracker.Models;
using CsvHelper; using CsvHelper;
using CsvHelper.Configuration;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Globalization; using System.Globalization;
@@ -259,7 +260,7 @@ namespace CarCareTracker.Controllers
{ {
using (var reader = new StreamReader(fullFileName)) using (var reader = new StreamReader(fullFileName))
{ {
var config = new CsvHelper.Configuration.CsvConfiguration(CultureInfo.InvariantCulture); var config = new CsvConfiguration(CultureInfo.InvariantCulture);
config.MissingFieldFound = null; config.MissingFieldFound = null;
config.HeaderValidated = null; config.HeaderValidated = null;
config.PrepareHeaderForMatch = args => { return args.Header.Trim().ToLower(); }; config.PrepareHeaderForMatch = args => { return args.Header.Trim().ToLower(); };

View File

@@ -1,7 +1,6 @@
using CarCareTracker.External.Interfaces; using CarCareTracker.External.Interfaces;
using CarCareTracker.Helper; using CarCareTracker.Helper;
using CarCareTracker.Models; using CarCareTracker.Models;
using LiteDB;
namespace CarCareTracker.External.Implementations namespace CarCareTracker.External.Implementations
{ {

View File

@@ -1,7 +1,6 @@
using CarCareTracker.External.Interfaces; using CarCareTracker.External.Interfaces;
using CarCareTracker.Helper; using CarCareTracker.Helper;
using CarCareTracker.Models; using CarCareTracker.Models;
using LiteDB;
namespace CarCareTracker.External.Implementations namespace CarCareTracker.External.Implementations
{ {

View File

@@ -1,7 +1,6 @@
using CarCareTracker.External.Interfaces; using CarCareTracker.External.Interfaces;
using CarCareTracker.Models; using CarCareTracker.Models;
using Npgsql; using Npgsql;
using System.Net.Mail;
namespace CarCareTracker.External.Implementations namespace CarCareTracker.External.Implementations
{ {

View File

@@ -2,6 +2,7 @@
using CarCareTracker.Models; using CarCareTracker.Models;
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Caching.Memory;
using System.Security.Claims; using System.Security.Claims;
using System.Text.Json;
namespace CarCareTracker.Helper namespace CarCareTracker.Helper
{ {
@@ -146,13 +147,13 @@ namespace CarCareTracker.Helper
if (!File.Exists(StaticHelper.UserConfigPath)) if (!File.Exists(StaticHelper.UserConfigPath))
{ {
//if file doesn't exist it might be because it's running on a mounted volume in docker. //if file doesn't exist it might be because it's running on a mounted volume in docker.
File.WriteAllText(StaticHelper.UserConfigPath, System.Text.Json.JsonSerializer.Serialize(new UserConfig())); File.WriteAllText(StaticHelper.UserConfigPath, JsonSerializer.Serialize(new UserConfig()));
} }
var configFileContents = File.ReadAllText(StaticHelper.UserConfigPath); var configFileContents = File.ReadAllText(StaticHelper.UserConfigPath);
configData.EnableAuth = bool.Parse(_config[nameof(UserConfig.EnableAuth)] ?? "false"); configData.EnableAuth = bool.Parse(_config[nameof(UserConfig.EnableAuth)] ?? "false");
configData.UserNameHash = _config[nameof(UserConfig.UserNameHash)] ?? string.Empty; configData.UserNameHash = _config[nameof(UserConfig.UserNameHash)] ?? string.Empty;
configData.UserPasswordHash = _config[nameof(UserConfig.UserPasswordHash)] ?? string.Empty; configData.UserPasswordHash = _config[nameof(UserConfig.UserPasswordHash)] ?? string.Empty;
File.WriteAllText(StaticHelper.UserConfigPath, System.Text.Json.JsonSerializer.Serialize(configData)); File.WriteAllText(StaticHelper.UserConfigPath, JsonSerializer.Serialize(configData));
_cache.Set<UserConfig>($"userConfig_{userId}", configData); _cache.Set<UserConfig>($"userConfig_{userId}", configData);
return true; return true;
} }

View File

@@ -1,6 +1,7 @@
using CarCareTracker.Models; using CarCareTracker.Models;
using MimeKit; using MimeKit;
using MailKit.Net.Smtp; using MailKit.Net.Smtp;
using MailKit.Security;
namespace CarCareTracker.Helper namespace CarCareTracker.Helper
{ {
@@ -151,7 +152,7 @@ namespace CarCareTracker.Helper
using (var client = new SmtpClient()) using (var client = new SmtpClient())
{ {
client.Connect(server, mailConfig.Port, MailKit.Security.SecureSocketOptions.Auto); client.Connect(server, mailConfig.Port, SecureSocketOptions.Auto);
//perform authentication if either username or password is provided. //perform authentication if either username or password is provided.
//do not perform authentication if neither are provided. //do not perform authentication if neither are provided.
if (!string.IsNullOrWhiteSpace(mailConfig.Username) || !string.IsNullOrWhiteSpace(mailConfig.Password)) { if (!string.IsNullOrWhiteSpace(mailConfig.Username) || !string.IsNullOrWhiteSpace(mailConfig.Password)) {

View File

@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.DataProtection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System.Security.Claims; using System.Security.Claims;
using System.Text;
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
using System.Text.Json; using System.Text.Json;
@@ -42,7 +43,7 @@ namespace CarCareTracker.Middleware
new(ClaimTypes.Role, nameof(UserData.IsRootUser)) new(ClaimTypes.Role, nameof(UserData.IsRootUser))
}; };
appIdentity.AddClaims(userIdentity); appIdentity.AddClaims(userIdentity);
AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), this.Scheme.Name); AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), Scheme.Name);
return AuthenticateResult.Success(ticket); return AuthenticateResult.Success(ticket);
} }
else else
@@ -59,7 +60,7 @@ namespace CarCareTracker.Middleware
{ {
var cleanedHeader = request_header.ToString().Replace("Basic ", "").Trim(); var cleanedHeader = request_header.ToString().Replace("Basic ", "").Trim();
byte[] data = Convert.FromBase64String(cleanedHeader); byte[] data = Convert.FromBase64String(cleanedHeader);
string decodedString = System.Text.Encoding.UTF8.GetString(data); string decodedString = Encoding.UTF8.GetString(data);
var splitString = decodedString.Split(":"); var splitString = decodedString.Split(":");
if (splitString.Count() != 2) if (splitString.Count() != 2)
{ {
@@ -85,7 +86,7 @@ namespace CarCareTracker.Middleware
userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsRootUser))); userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsRootUser)));
} }
appIdentity.AddClaims(userIdentity); appIdentity.AddClaims(userIdentity);
AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), this.Scheme.Name); AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), Scheme.Name);
return AuthenticateResult.Success(ticket); return AuthenticateResult.Success(ticket);
} }
} }
@@ -133,7 +134,7 @@ namespace CarCareTracker.Middleware
userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsRootUser))); userIdentity.Add(new(ClaimTypes.Role, nameof(UserData.IsRootUser)));
} }
appIdentity.AddClaims(userIdentity); appIdentity.AddClaims(userIdentity);
AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), this.Scheme.Name); AuthenticationTicket ticket = new AuthenticationTicket(new ClaimsPrincipal(appIdentity), Scheme.Name);
return AuthenticateResult.Success(ticket); return AuthenticateResult.Success(ticket);
} }
} }

View File

@@ -1,4 +1,5 @@
@using CarCareTracker.Helper @using CarCareTracker.Helper
@using System.Globalization
<!DOCTYPE html> <!DOCTYPE html>
@inject IConfigHelper config @inject IConfigHelper config
@inject ITranslationHelper translator @inject ITranslationHelper translator
@@ -11,9 +12,9 @@
var useMarkDown = userConfig.UseMarkDownOnSavedNotes; var useMarkDown = userConfig.UseMarkDownOnSavedNotes;
var useThreeDecimals = userConfig.UseThreeDecimalGasCost; var useThreeDecimals = userConfig.UseThreeDecimalGasCost;
var automaticDecimalFormat = userConfig.AutomaticDecimalFormat; var automaticDecimalFormat = userConfig.AutomaticDecimalFormat;
var shortDatePattern = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern; var shortDatePattern = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;
var firstDayOfWeek = (int)System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek; var firstDayOfWeek = (int)CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
var numberFormat = System.Globalization.CultureInfo.CurrentCulture.NumberFormat; var numberFormat = CultureInfo.CurrentCulture.NumberFormat;
var userLanguage = userConfig.UserLanguage; var userLanguage = userConfig.UserLanguage;
shortDatePattern = shortDatePattern.ToLower(); shortDatePattern = shortDatePattern.ToLower();
if (!shortDatePattern.Contains("dd")) if (!shortDatePattern.Contains("dd"))

View File

@@ -126,7 +126,7 @@
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@(collisionRecord.Mileage == default ? "---" : collisionRecord.Mileage.ToString())</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@(collisionRecord.Mileage == default ? "---" : collisionRecord.Mileage.ToString())</td>
<td class="col-3 col-xl-4 flex-grow-1 flex-shrink-1 text-truncate" data-column="description">@collisionRecord.Description</td> <td class="col-3 col-xl-4 flex-grow-1 flex-shrink-1 text-truncate" data-column="description">@collisionRecord.Description</td>
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && collisionRecord.Cost == default) ? "---" : collisionRecord.Cost.ToString("C"))</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && collisionRecord.Cost == default) ? "---" : collisionRecord.Cost.ToString("C"))</td>
<td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@CarCareTracker.Helper.StaticHelper.TruncateStrings(collisionRecord.Notes)</td> <td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@StaticHelper.TruncateStrings(collisionRecord.Notes)</td>
@foreach (string extraFieldColumn in extraFields) @foreach (string extraFieldColumn in extraFields)
{ {
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn"> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn">
@@ -134,7 +134,7 @@
var extraFieldValue = collisionRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = collisionRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute))
{ {
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} }
else else
{ {

View File

@@ -204,7 +204,7 @@
var extraFieldValue = gasRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = gasRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute))
{ {
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} }
else else
{ {

View File

@@ -52,7 +52,7 @@
{ {
<td class="col-3">@note.Description</td> <td class="col-3">@note.Description</td>
} }
<td class="col-9 text-truncate" data-record-type="cost">@CarCareTracker.Helper.StaticHelper.TruncateStrings(note.NoteText, 100)</td> <td class="col-9 text-truncate" data-record-type="cost">@StaticHelper.TruncateStrings(note.NoteText, 100)</td>
</tr> </tr>
} }
</tbody> </tbody>

View File

@@ -126,7 +126,7 @@
<td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="initialodometer">@odometerRecord.InitialMileage</td> <td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="initialodometer">@odometerRecord.InitialMileage</td>
<td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@odometerRecord.Mileage</td> <td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@odometerRecord.Mileage</td>
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="distance" data-record-type="distance">@(odometerRecord.DistanceTraveled == default ? "---" : odometerRecord.DistanceTraveled)</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="distance" data-record-type="distance">@(odometerRecord.DistanceTraveled == default ? "---" : odometerRecord.DistanceTraveled)</td>
<td class="col-2 col-xl-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@CarCareTracker.Helper.StaticHelper.TruncateStrings(odometerRecord.Notes, 75)</td> <td class="col-2 col-xl-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@StaticHelper.TruncateStrings(odometerRecord.Notes, 75)</td>
@foreach (string extraFieldColumn in extraFields) @foreach (string extraFieldColumn in extraFields)
{ {
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn"> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn">
@@ -134,7 +134,7 @@
var extraFieldValue = odometerRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = odometerRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute))
{ {
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} }
else else
{ {

View File

@@ -90,7 +90,7 @@
</span> </span>
</td> </td>
<td class="text-truncate @(hasRefresh ? "col-3 col-md-4" : "col-5")" data-record-type='cost'>@reminderRecord.Description</td> <td class="text-truncate @(hasRefresh ? "col-3 col-md-4" : "col-5")" data-record-type='cost'>@reminderRecord.Description</td>
<td class="col-2 col-md-3 text-truncate">@CarCareTracker.Helper.StaticHelper.TruncateStrings(reminderRecord.Notes)</td> <td class="col-2 col-md-3 text-truncate">@StaticHelper.TruncateStrings(reminderRecord.Notes)</td>
@if (hasRefresh) @if (hasRefresh)
{ {
<td class="col-2 col-md-1 text-truncate"> <td class="col-2 col-md-1 text-truncate">

View File

@@ -126,14 +126,14 @@
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@(serviceRecord.Mileage == default ? "---" : serviceRecord.Mileage.ToString())</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@(serviceRecord.Mileage == default ? "---" : serviceRecord.Mileage.ToString())</td>
<td class="col-3 col-xl-4 flex-grow-1 flex-shrink-1 text-truncate" data-column="description">@serviceRecord.Description</td> <td class="col-3 col-xl-4 flex-grow-1 flex-shrink-1 text-truncate" data-column="description">@serviceRecord.Description</td>
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && serviceRecord.Cost == default) ? "---" : serviceRecord.Cost.ToString("C"))</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && serviceRecord.Cost == default) ? "---" : serviceRecord.Cost.ToString("C"))</td>
<td class="col-3 text-truncate flex-grow-1 flex-shrink-1" data-column="notes">@CarCareTracker.Helper.StaticHelper.TruncateStrings(serviceRecord.Notes)</td> <td class="col-3 text-truncate flex-grow-1 flex-shrink-1" data-column="notes">@StaticHelper.TruncateStrings(serviceRecord.Notes)</td>
@foreach (string extraFieldColumn in extraFields) @foreach (string extraFieldColumn in extraFields)
{ {
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn"> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn">
@{ @{
var extraFieldValue = serviceRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = serviceRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)){ if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)){
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} else } else
{ {
@extraFieldValue @extraFieldValue

View File

@@ -142,7 +142,7 @@
<td class="col-2 flex-grow-1 col-xl-3 text-truncate" data-column="description">@supplyRecord.Description</td> <td class="col-2 flex-grow-1 col-xl-3 text-truncate" data-column="description">@supplyRecord.Description</td>
<td class="col-1 flex-grow-1 flex-shrink-1 text-truncate" data-column="quantity">@supplyRecord.Quantity</td> <td class="col-1 flex-grow-1 flex-shrink-1 text-truncate" data-column="quantity">@supplyRecord.Quantity</td>
<td class="col-1 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && supplyRecord.Cost == default) ? "---" : supplyRecord.Cost.ToString("C"))</td> <td class="col-1 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && supplyRecord.Cost == default) ? "---" : supplyRecord.Cost.ToString("C"))</td>
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@CarCareTracker.Helper.StaticHelper.TruncateStrings(supplyRecord.Notes)</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@StaticHelper.TruncateStrings(supplyRecord.Notes)</td>
@foreach (string extraFieldColumn in extraFields) @foreach (string extraFieldColumn in extraFields)
{ {
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn"> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn">
@@ -150,7 +150,7 @@
var extraFieldValue = supplyRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = supplyRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute))
{ {
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} }
else else
{ {

View File

@@ -118,7 +118,7 @@
<td class="col-3 flex-grow-1 col-xl-1 text-truncate" data-column="date">@taxRecord.Date.ToShortDateString()</td> <td class="col-3 flex-grow-1 col-xl-1 text-truncate" data-column="date">@taxRecord.Date.ToShortDateString()</td>
<td class="col-4 flex-grow-1 col-xl-6 text-truncate" data-column="description">@taxRecord.Description</td> <td class="col-4 flex-grow-1 col-xl-6 text-truncate" data-column="description">@taxRecord.Description</td>
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && taxRecord.Cost == default) ? "---" : taxRecord.Cost.ToString("C"))</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && taxRecord.Cost == default) ? "---" : taxRecord.Cost.ToString("C"))</td>
<td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@CarCareTracker.Helper.StaticHelper.TruncateStrings(taxRecord.Notes)</td> <td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@StaticHelper.TruncateStrings(taxRecord.Notes)</td>
@foreach (string extraFieldColumn in extraFields) @foreach (string extraFieldColumn in extraFields)
{ {
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn"> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn">
@@ -126,7 +126,7 @@
var extraFieldValue = taxRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = taxRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute))
{ {
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} }
else else
{ {

View File

@@ -126,7 +126,7 @@
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@(upgradeRecord.Mileage == default ? "---" : upgradeRecord.Mileage.ToString())</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="odometer">@(upgradeRecord.Mileage == default ? "---" : upgradeRecord.Mileage.ToString())</td>
<td class="col-3 flex-grow-1 flex-shrink-1 col-xl-4 text-truncate" data-column="description">@upgradeRecord.Description</td> <td class="col-3 flex-grow-1 flex-shrink-1 col-xl-4 text-truncate" data-column="description">@upgradeRecord.Description</td>
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && upgradeRecord.Cost == default) ? "---" : upgradeRecord.Cost.ToString("C"))</td> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" data-column="cost" data-record-type="cost">@((hideZero && upgradeRecord.Cost == default) ? "---" : upgradeRecord.Cost.ToString("C"))</td>
<td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@CarCareTracker.Helper.StaticHelper.TruncateStrings(upgradeRecord.Notes)</td> <td class="col-3 flex-grow-1 flex-shrink-1 text-truncate" data-column="notes">@StaticHelper.TruncateStrings(upgradeRecord.Notes)</td>
@foreach (string extraFieldColumn in extraFields) @foreach (string extraFieldColumn in extraFields)
{ {
<td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn"> <td class="col-2 flex-grow-1 flex-shrink-1 text-truncate" style='display:none;' data-column="@extraFieldColumn">
@@ -134,7 +134,7 @@
var extraFieldValue = upgradeRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? ""; var extraFieldValue = upgradeRecord.ExtraFields.Where(x => x.Name == extraFieldColumn)?.FirstOrDefault()?.Value ?? "";
if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute)) if (!string.IsNullOrWhiteSpace(extraFieldValue) && Uri.IsWellFormedUriString(extraFieldValue, UriKind.Absolute))
{ {
<a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@CarCareTracker.Helper.StaticHelper.TruncateStrings(extraFieldValue)</a> <a href="@extraFieldValue" onclick="noPropagation()" target="_blank">@StaticHelper.TruncateStrings(extraFieldValue)</a>
} }
else else
{ {

View File

@@ -141,7 +141,7 @@
<td class="col-1">@(reportData.Odometer == default ? "---" : reportData.Odometer.ToString("N0"))</td> <td class="col-1">@(reportData.Odometer == default ? "---" : reportData.Odometer.ToString("N0"))</td>
<td class="col-3">@reportData.Description</td> <td class="col-3">@reportData.Description</td>
<td class="col-1">@((hideZero && reportData.Cost == default) ? "---" : reportData.Cost.ToString("C"))</td> <td class="col-1">@((hideZero && reportData.Cost == default) ? "---" : reportData.Cost.ToString("C"))</td>
<td class="col-4 text-wrap">@CarCareTracker.Helper.StaticHelper.TruncateStrings(reportData.Notes, 100)</td> <td class="col-4 text-wrap">@StaticHelper.TruncateStrings(reportData.Notes, 100)</td>
</tr> </tr>
} }
</tbody> </tbody>