BugSetTimeSlice
This commit is contained in:
@@ -40,8 +40,20 @@ public class GetBugRequestTimeModalDetailsQueryHandler : IBaseQueryHandler<GetBu
|
||||
.ToListAsync(cancellationToken: cancellationToken);
|
||||
var lastTimeRequest = "";
|
||||
if (bugSection.BugSectionAdditionalTimes.Any())
|
||||
lastTimeRequest = bugSection.BugSectionAdditionalTimes.MaxBy(x => x.CreationDate)!.RequestedTime.ToString(@"hh\:mm");
|
||||
var response = new GetBugRequestTimeModalDetailsResponse(bugSection.Id, projectTask.Name, projectTask.Phase.Name, projectTask.Phase.Project.Name, bugSection.InitialDescription, date, time, files, lastTimeRequest);
|
||||
{
|
||||
var requestTime = bugSection.BugSectionAdditionalTimes.MaxBy(x => x.CreationDate)!.RequestedTime;
|
||||
int totalHours = (int)requestTime.TotalHours;
|
||||
|
||||
lastTimeRequest = requestTime.ToString(@"hh\:mm");
|
||||
if (totalHours > 23)
|
||||
{
|
||||
lastTimeRequest = $"{totalHours}:{requestTime.Minutes:00}";
|
||||
}
|
||||
}
|
||||
|
||||
var timeSlices =await _context.BugSetTimeSlices.Select(x=>x.TimeSlice).ToListAsync(cancellationToken);
|
||||
|
||||
var response = new GetBugRequestTimeModalDetailsResponse(bugSection.Id, projectTask.Name, projectTask.Phase.Name, projectTask.Phase.Project.Name, bugSection.InitialDescription, date, time, files, lastTimeRequest, timeSlices);
|
||||
return OperationResult<GetBugRequestTimeModalDetailsResponse>.Success(response);
|
||||
|
||||
}
|
||||
@@ -49,5 +61,5 @@ public class GetBugRequestTimeModalDetailsQueryHandler : IBaseQueryHandler<GetBu
|
||||
|
||||
public record GetBugRequestTimeModalDetailsQuery(Guid BugSectionId) : IBaseQuery<GetBugRequestTimeModalDetailsResponse>;
|
||||
|
||||
public record GetBugRequestTimeModalDetailsResponse(Guid BugSectionId, string TaskName, string PhaseName, string ProjectName, string Description, string Date, string Time, List<UploadedFileDto> Files, string LastTimeRequest);
|
||||
public record GetBugRequestTimeModalDetailsResponse(Guid BugSectionId, string TaskName, string PhaseName, string ProjectName, string Description, string Date, string Time, List<UploadedFileDto> Files, string LastTimeRequest,List<TimeSpan> TimeSlices);
|
||||
|
||||
|
||||
@@ -31,7 +31,9 @@ public interface IProgramManagerDbContext
|
||||
DbSet<PhaseSection> PhaseSections { get; set; }
|
||||
DbSet<BugSection> BugSections { get; set; }
|
||||
DbSet<ProjectTask> ProjectTasks { get; set; }
|
||||
|
||||
DbSet<BugSectionAdditionalTime> BugSectionAdditionalTimes { get; set; }
|
||||
DbSet<BugSetTimeSlice> BugSetTimeSlices { get; set; }
|
||||
|
||||
DbSet<TaskChatMessage> TaskChatMessages { get; set; }
|
||||
DbSet<UploadedFile> UploadedFiles { get; set; }
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
using GozareshgirProgramManager.Domain._Common;
|
||||
|
||||
namespace GozareshgirProgramManager.Domain.ProjectAgg.Entities.Bug;
|
||||
|
||||
public class BugSetTimeSlice : EntityBase<Guid>
|
||||
{
|
||||
public BugSetTimeSlice(TimeSpan timeSlice)
|
||||
{
|
||||
TimeSlice = timeSlice;
|
||||
}
|
||||
|
||||
public TimeSpan TimeSlice { get; set; }
|
||||
|
||||
public void Edit(TimeSpan timeSlice)
|
||||
{
|
||||
TimeSlice = timeSlice;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace GozareshgirProgramManager.Infrastructure.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class BugSetTimeSliceInit : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "BugSetTimeSlices",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TimeSlice = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: false),
|
||||
CreationDate = table.Column<DateTime>(type: "datetime2", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_BugSetTimeSlices", x => x.Id);
|
||||
});
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "BugSetTimeSlices");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -293,6 +293,24 @@ namespace GozareshgirProgramManager.Infrastructure.Migrations
|
||||
b.ToTable("BugSectionAdditionalTimes", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Bug.BugSetTimeSlice", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<DateTime>("CreationDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<string>("TimeSlice")
|
||||
.IsRequired()
|
||||
.HasMaxLength(30)
|
||||
.HasColumnType("nvarchar(30)");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("BugSetTimeSlices", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("GozareshgirProgramManager.Domain.ProjectAgg.Entities.Phase.PhaseSection", b =>
|
||||
{
|
||||
b.Property<Guid>("Id")
|
||||
|
||||
@@ -31,6 +31,7 @@ public class ProgramManagerDbContext : DbContext, IProgramManagerDbContext
|
||||
public DbSet<PhaseSection> PhaseSections { get; set; } = null!;
|
||||
public DbSet<BugSection> BugSections { get; set; } = null!;
|
||||
public DbSet<BugSectionAdditionalTime> BugSectionAdditionalTimes { get; set; } = null!;
|
||||
public DbSet<BugSetTimeSlice> BugSetTimeSlices { get; set; } = null!;
|
||||
|
||||
// New Hierarchy entities
|
||||
public DbSet<Project> Projects { get; set; } = null!;
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using GozareshgirProgramManager.Domain.ProjectAgg.Entities.Bug;
|
||||
using GozareshgirProgramManager.Infrastructure.Persistence._Common;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace GozareshgirProgramManager.Infrastructure.Persistence.Mappings;
|
||||
|
||||
public class BugSetTimeSliceMapping : IEntityTypeConfiguration<BugSetTimeSlice>
|
||||
{
|
||||
public void Configure(EntityTypeBuilder<BugSetTimeSlice> builder)
|
||||
{
|
||||
builder.ToTable("BugSetTimeSlices");
|
||||
|
||||
builder.HasKey(x => x.Id);
|
||||
|
||||
builder.Property(x => x.Id)
|
||||
.ValueGeneratedNever();
|
||||
|
||||
builder.Property(x => x.TimeSlice)
|
||||
.HasTimeSpanConversion();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user