Skip to content

Commit

Permalink
Merge pull request #66 from DFE-Digital/feature/192452-note-of-visit
Browse files Browse the repository at this point in the history
Feature/192452 note of visit
  • Loading branch information
paullocknimble authored Jan 23, 2025
2 parents 45c7a75 + e006c43 commit 8353788
Show file tree
Hide file tree
Showing 18 changed files with 698 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
using Dfe.RegionalImprovementForStandardsAndExcellence.Domain.Interfaces.Repositories;
using Dfe.RegionalImprovementForStandardsAndExcellence.Domain.ValueObjects;
using Dfe.RegionalImprovementForStandardsAndExcellence.Utils;
using MediatR;

namespace Dfe.RegionalImprovementForStandardsAndExcellence.Application.SupportProject.Commands.UpdateSupportProject;

public class SetNoteOfVisitDetails
{
public record SetNoteOfVisitDetailsCommand(SupportProjectId SupportProjectId,
bool? giveTheAdviserTheNoteOfVisitTemplate,
bool? askTheAdviserToSendYouTheirNotes,
DateTime? dateNoteOfVisitSavedInSharePoint) : IRequest<bool>;

public class SetNoteOfVisitDetailsCommandHandler(ISupportProjectRepository supportProjectRepository, IDateTimeProvider _dateTimeProvider)
: IRequestHandler<SetNoteOfVisitDetailsCommand, bool>
{
public async Task<bool> Handle(SetNoteOfVisitDetailsCommand request, CancellationToken cancellationToken)
{

var supportProject = await supportProjectRepository.FindAsync(x => x.Id == request.SupportProjectId, cancellationToken);

if (supportProject is null)
{
return false;
}

supportProject.SetNoteOfVisitDetails(request.giveTheAdviserTheNoteOfVisitTemplate,
request.askTheAdviserToSendYouTheirNotes,
request.dateNoteOfVisitSavedInSharePoint);

await supportProjectRepository.UpdateAsync(supportProject);

return true;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ public record SupportProjectDto(int id,
DateTime? SavedAssessmentTemplateInSharePointDate,
bool? HasTalkToAdvisor,
bool? HasCompleteAssessmentTemplate,
bool? GiveTheAdviserTheNoteOfVisitTemplate,
bool? AskTheAdviserToSendYouTheirNotes,
DateTime? DateNoteOfVisitSavedInSharePoint,
IEnumerable<SupportProjectNote> notes
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public SupportProject(
public bool? HasShareEmailTemplateWithAdvisor { get; private set; }

public bool? RemindAdvisorToCopyRiseTeamWhenSentEmail { get; private set; }

public DateTime? AdviserVisitDate { get; private set; }

public DateTime? SavedAssessmentTemplateInSharePointDate { get; private set; }
Expand All @@ -89,7 +89,10 @@ public SupportProject(

public bool? HasCompleteAssessmentTemplate { get; private set; }

public bool ShowError { get; set; }

public bool? GiveTheAdviserTheNoteOfVisitTemplate { get; private set; }
public bool? AskTheAdviserToSendYouTheirNotes { get; private set; }
public DateTime? DateNoteOfVisitSavedInSharePoint { get; private set; }

#endregion

Expand Down Expand Up @@ -176,5 +179,14 @@ public void SetCompleteAndSaveAssessmentTemplate(DateTime? savedAssessmentTempla
HasCompleteAssessmentTemplate = hasCompleteAssessmentTemplate;
}

public void SetNoteOfVisitDetails(bool? giveTheAdviserTheNoteOfVisitTemplate,
bool? askTheAdviserToSendYouTheirNotes,
DateTime? dateNoteOfVisitSavedInSharePoint)
{
GiveTheAdviserTheNoteOfVisitTemplate = giveTheAdviserTheNoteOfVisitTemplate;
AskTheAdviserToSendYouTheirNotes = askTheAdviserToSendYouTheirNotes;
DateNoteOfVisitSavedInSharePoint = dateNoteOfVisitSavedInSharePoint;
}

#endregion
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace Dfe.RegionalImprovementForStandardsAndExcellence.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class setnoteofvisitdetails : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "AskTheAdviserToSendYouTheirNotes",
schema: "RISE",
table: "SupportProject",
type: "bit",
nullable: true)
.Annotation("SqlServer:IsTemporal", true)
.Annotation("SqlServer:TemporalHistoryTableName", "SupportProjectHistory")
.Annotation("SqlServer:TemporalHistoryTableSchema", "RISE")
.Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd")
.Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart");

migrationBuilder.AddColumn<DateTime>(
name: "DateNoteOfVisitSavedInSharePoint",
schema: "RISE",
table: "SupportProject",
type: "datetime2",
nullable: true)
.Annotation("SqlServer:IsTemporal", true)
.Annotation("SqlServer:TemporalHistoryTableName", "SupportProjectHistory")
.Annotation("SqlServer:TemporalHistoryTableSchema", "RISE")
.Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd")
.Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart");

migrationBuilder.AddColumn<bool>(
name: "GiveTheAdviserTheNoteOfVisitTemplate",
schema: "RISE",
table: "SupportProject",
type: "bit",
nullable: true)
.Annotation("SqlServer:IsTemporal", true)
.Annotation("SqlServer:TemporalHistoryTableName", "SupportProjectHistory")
.Annotation("SqlServer:TemporalHistoryTableSchema", "RISE")
.Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd")
.Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart");
}

/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "AskTheAdviserToSendYouTheirNotes",
schema: "RISE",
table: "SupportProject")
.Annotation("SqlServer:IsTemporal", true)
.Annotation("SqlServer:TemporalHistoryTableName", "SupportProjectHistory")
.Annotation("SqlServer:TemporalHistoryTableSchema", "RISE")
.Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd")
.Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart");

migrationBuilder.DropColumn(
name: "DateNoteOfVisitSavedInSharePoint",
schema: "RISE",
table: "SupportProject")
.Annotation("SqlServer:IsTemporal", true)
.Annotation("SqlServer:TemporalHistoryTableName", "SupportProjectHistory")
.Annotation("SqlServer:TemporalHistoryTableSchema", "RISE")
.Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd")
.Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart");

migrationBuilder.DropColumn(
name: "GiveTheAdviserTheNoteOfVisitTemplate",
schema: "RISE",
table: "SupportProject")
.Annotation("SqlServer:IsTemporal", true)
.Annotation("SqlServer:TemporalHistoryTableName", "SupportProjectHistory")
.Annotation("SqlServer:TemporalHistoryTableSchema", "RISE")
.Annotation("SqlServer:TemporalPeriodEndColumnName", "PeriodEnd")
.Annotation("SqlServer:TemporalPeriodStartColumnName", "PeriodStart");
}
}
}
Loading

0 comments on commit 8353788

Please sign in to comment.