Skip to content

Commit 08f8e4d

Browse files
authored
Merge pull request #1061 from microting/copilot/fix-5241e716-5df9-4b71-9940-c26933641a61
Eliminate all C# warnings by adding nullable annotations context and fixing null reference issues
2 parents deadabd + 58830c2 commit 08f8e4d

File tree

11 files changed

+77
-42
lines changed

11 files changed

+77
-42
lines changed

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn.Test/TestBaseSetup.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
using NUnit.Framework;
1010
using Testcontainers.MariaDb;
1111

12+
#nullable enable
1213
namespace BackendConfiguration.Pn.Integration.Test;
1314

14-
public class TestBaseSetup
15+
public abstract class TestBaseSetup
1516
{
1617
private readonly MariaDbContainer _mariadbTestcontainer = new MariaDbBuilder()
1718
.WithDatabase(

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Controllers/TimePlanningPlanningController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1818
SOFTWARE.
1919
*/
2020

21+
#nullable enable
2122
namespace TimePlanning.Pn.Controllers;
2223

2324
using System.Collections.Generic;

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Controllers/TimePlanningWorkingHoursController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1818
SOFTWARE.
1919
*/
2020

21+
#nullable enable
2122
using System;
2223
using System.Text;
2324
using Microsoft.AspNetCore.Authorization;

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Helpers/GoogleSheetHelper.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ public static async Task PullEverythingFromGoogleSheet(Core core, TimePlanningPn
167167
}
168168

169169
var applicationName = "Google Sheets API Integration";
170-
var sheetName = "PlanTimer";
171170

172171
//var core = await coreHelper.GetCore();
173172
await using var sdkDbContext = core.DbContextHelper.GetDbContext();

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Helpers/PlanRegistrationHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1886,7 +1886,7 @@ await dbContext.PlanRegistrations.AsNoTracking()
18861886
await planRegistration.Update(dbContext).ConfigureAwait(false);
18871887
}
18881888
}
1889-
catch (Exception e)
1889+
catch (Exception)
18901890
{
18911891
SentrySdk.CaptureMessage(
18921892
$"Could not parse PlanText for planning with id: {planRegistration.Id} the PlanText was: {planRegistration.PlanText}");

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Infrastructure/Models/WorkingHours/Index/TimePlanningWorkingHourSimpleModel.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,19 @@ namespace TimePlanning.Pn.Infrastructure.Models.WorkingHours.Index;
2828
/// </summary>
2929
public class TimePlanningWorkingHourSimpleModel
3030
{
31-
public string Date { get; set; }
32-
public string YesterDay { get; set; }
33-
public string Worker { get; set; }
34-
public string PlanText { get; set; }
31+
public string Date { get; set; } = null!;
32+
public string YesterDay { get; set; } = null!;
33+
public string Worker { get; set; } = null!;
34+
public string PlanText { get; set; } = null!;
3535
public double PlanHours { get; set; }
3636
public double NettoHours { get; set; }
3737
public double FlexHours { get; set; }
38-
public string SumFlexStart { get; set; }
39-
public string SumFlexEnd { get; set; }
38+
public string SumFlexStart { get; set; } = null!;
39+
public string SumFlexEnd { get; set; } = null!;
4040
public double PaidOutFlex { get; set; }
41-
public string Message { get; set; }
42-
public string CommentWorker { get; set; }
43-
public string CommentOffice { get; set; }
41+
public string Message { get; set; } = null!;
42+
public string CommentWorker { get; set; } = null!;
43+
public string CommentOffice { get; set; } = null!;
4444
public string? Start1StartedAt { get; set; }
4545
public string? Stop1StoppedAt { get; set; }
4646
public string? Pause1StartedAt { get; set; }

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningPlanningService/ITimePlanningPlanningService.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2222
SOFTWARE.
2323
*/
2424

25+
#nullable enable
2526
namespace TimePlanning.Pn.Services.TimePlanningPlanningService;
2627

2728
using System.Collections.Generic;

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningPlanningService/TimePlanningPlanningService.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2222
SOFTWARE.
2323
*/
2424

25+
#nullable enable
2526
using System.Text.RegularExpressions;
2627
using Microting.EformAngularFrontendBase.Infrastructure.Data;
2728
using Microting.eFormApi.BasePn.Infrastructure.Helpers.PluginDbOptions;
@@ -297,6 +298,13 @@ public async Task<OperationDataResult<TimePlanningPlanningModel>> IndexByCurrent
297298
.Where(x => x.WorkflowState != Constants.WorkflowStates.Removed)
298299
.FirstOrDefaultAsync(x => x.SiteId == site.MicrotingUid);
299300

301+
if (dbAssignedSite == null)
302+
{
303+
return new OperationDataResult<TimePlanningPlanningModel>(
304+
false,
305+
localizationService.GetString("AssignedSiteNotFound"));
306+
}
307+
300308
var datesInPeriod = new List<DateTime>();
301309
var midnightOfDateFrom = new DateTime(model.DateFrom!.Value.Year, model.DateFrom.Value.Month, model.DateFrom.Value.Day, 0, 0, 0);
302310
var midnightOfDateTo = new DateTime(model.DateTo!.Value.Year, model.DateTo.Value.Month, model.DateTo.Value.Day, 23, 59, 59);
@@ -317,7 +325,8 @@ public async Task<OperationDataResult<TimePlanningPlanningModel>> IndexByCurrent
317325

318326
try
319327
{
320-
siteModel.SoftwareVersionIsValid = int.Parse(currentUser.TimeRegistrationSoftwareVersion.Replace(".", "")) >= 3114;
328+
siteModel.SoftwareVersionIsValid = currentUser.TimeRegistrationSoftwareVersion != null &&
329+
int.Parse(currentUser.TimeRegistrationSoftwareVersion.Replace(".", "")) >= 3114;
321330
}
322331
catch (Exception)
323332
{
@@ -895,6 +904,8 @@ await dbContext.PlanRegistrations.AsNoTracking()
895904
.OrderByDescending(x => x.Date)
896905
.FirstOrDefaultAsync();
897906

907+
if (preTimePlanningAfterThisPlanning == null) continue;
908+
898909
planningAfterThisPlanning.SumFlexStart = preTimePlanningAfterThisPlanning.SumFlexEnd;
899910
if (planningAfterThisPlanning.NettoHoursOverrideActive)
900911
{
@@ -1366,6 +1377,8 @@ await dbContext.PlanRegistrations.AsNoTracking()
13661377
.OrderByDescending(x => x.Date)
13671378
.FirstOrDefaultAsync();
13681379

1380+
if (preTimePlanningAfterThisPlanning == null) continue;
1381+
13691382
planningAfterThisPlanning.SumFlexStart = preTimePlanningAfterThisPlanning.SumFlexEnd;
13701383
planningAfterThisPlanning.SumFlexEnd = preTimePlanningAfterThisPlanning.SumFlexEnd +
13711384
planningAfterThisPlanning.NettoHours -

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningSettingService/TimeSettingService.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public class TimeSettingService(
5656
IEFormCoreService core)
5757
: ISettingService
5858
{
59-
public async Task<OperationDataResult<TimePlanningSettingsModel>> GetSettings()
59+
public Task<OperationDataResult<TimePlanningSettingsModel>> GetSettings()
6060
{
6161
try
6262
{
@@ -93,16 +93,16 @@ public async Task<OperationDataResult<TimePlanningSettingsModel>> GetSettings()
9393
};
9494

9595
//timePlanningSettingsModel.AssignedSites = assignedSites;
96-
return new OperationDataResult<TimePlanningSettingsModel>(true, timePlanningSettingsModel);
96+
return Task.FromResult(new OperationDataResult<TimePlanningSettingsModel>(true, timePlanningSettingsModel));
9797
}
9898
catch (Exception e)
9999
{
100100
SentrySdk.CaptureException(e);
101101
Console.WriteLine(e);
102102
logger.LogError(e.Message);
103-
return new OperationDataResult<TimePlanningSettingsModel>(
103+
return Task.FromResult(new OperationDataResult<TimePlanningSettingsModel>(
104104
false,
105-
localizationService.GetString("ErrorWhileObtainingSettings"));
105+
localizationService.GetString("ErrorWhileObtainingSettings")));
106106
}
107107
}
108108

eFormAPI/Plugins/TimePlanning.Pn/TimePlanning.Pn/Services/TimePlanningWorkingHoursService/ITimePlanningWorkingHoursService.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1818
SOFTWARE.
1919
*/
2020

21+
#nullable enable
2122
using System;
2223
using System.IO;
2324
using Microsoft.AspNetCore.Http;

0 commit comments

Comments
 (0)