Add a foreign key for WorkCategory table to the WorkItem model #45
2511
Marco.Pms.DataAccess/Migrations/20250511170748_Added_Foreign_key_For_WorkCategery_To_WorkItem.Designer.cs
generated
Normal file
2511
Marco.Pms.DataAccess/Migrations/20250511170748_Added_Foreign_key_For_WorkCategery_To_WorkItem.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,50 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Marco.Pms.DataAccess.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Added_Foreign_key_For_WorkCategery_To_WorkItem : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<Guid>(
|
||||||
|
name: "WorkCategoryId",
|
||||||
|
table: "WorkItems",
|
||||||
|
type: "char(36)",
|
||||||
|
nullable: true,
|
||||||
|
collation: "ascii_general_ci");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_WorkItems_WorkCategoryId",
|
||||||
|
table: "WorkItems",
|
||||||
|
column: "WorkCategoryId");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_WorkItems_WorkCategoryMasters_WorkCategoryId",
|
||||||
|
table: "WorkItems",
|
||||||
|
column: "WorkCategoryId",
|
||||||
|
principalTable: "WorkCategoryMasters",
|
||||||
|
principalColumn: "Id");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_WorkItems_WorkCategoryMasters_WorkCategoryId",
|
||||||
|
table: "WorkItems");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_WorkItems_WorkCategoryId",
|
||||||
|
table: "WorkItems");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "WorkCategoryId",
|
||||||
|
table: "WorkItems");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1596,6 +1596,9 @@ namespace Marco.Pms.DataAccess.Migrations
|
|||||||
b.Property<Guid>("WorkAreaId")
|
b.Property<Guid>("WorkAreaId")
|
||||||
.HasColumnType("char(36)");
|
.HasColumnType("char(36)");
|
||||||
|
|
||||||
|
b.Property<Guid?>("WorkCategoryId")
|
||||||
|
.HasColumnType("char(36)");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("ActivityId");
|
b.HasIndex("ActivityId");
|
||||||
@ -1604,6 +1607,8 @@ namespace Marco.Pms.DataAccess.Migrations
|
|||||||
|
|
||||||
b.HasIndex("WorkAreaId");
|
b.HasIndex("WorkAreaId");
|
||||||
|
|
||||||
|
b.HasIndex("WorkCategoryId");
|
||||||
|
|
||||||
b.ToTable("WorkItems");
|
b.ToTable("WorkItems");
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2404,11 +2409,17 @@ namespace Marco.Pms.DataAccess.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Marco.Pms.Model.Master.WorkCategoryMaster", "WorkCategoryMaster")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("WorkCategoryId");
|
||||||
|
|
||||||
b.Navigation("ActivityMaster");
|
b.Navigation("ActivityMaster");
|
||||||
|
|
||||||
b.Navigation("Tenant");
|
b.Navigation("Tenant");
|
||||||
|
|
||||||
b.Navigation("WorkArea");
|
b.Navigation("WorkArea");
|
||||||
|
|
||||||
|
b.Navigation("WorkCategoryMaster");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Marco.Pms.Model.Roles.ApplicationRole", b =>
|
modelBuilder.Entity("Marco.Pms.Model.Roles.ApplicationRole", b =>
|
||||||
|
@ -7,7 +7,7 @@ namespace Marco.Pms.Model.Dtos.Project
|
|||||||
[Key]
|
[Key]
|
||||||
public Guid? Id { get; set; }
|
public Guid? Id { get; set; }
|
||||||
public Guid WorkAreaID { get; set; }
|
public Guid WorkAreaID { get; set; }
|
||||||
|
public Guid WorkCategoryId { get; set; }
|
||||||
public Guid ActivityID { get; set; }
|
public Guid ActivityID { get; set; }
|
||||||
public int PlannedWork { get; set; }
|
public int PlannedWork { get; set; }
|
||||||
public int CompletedWork { get; set; }
|
public int CompletedWork { get; set; }
|
||||||
|
@ -56,6 +56,7 @@ namespace Marco.Pms.Model.Mapper
|
|||||||
ActivityId = model.ActivityID,
|
ActivityId = model.ActivityID,
|
||||||
CompletedWork = model.CompletedWork,
|
CompletedWork = model.CompletedWork,
|
||||||
PlannedWork = model.PlannedWork,
|
PlannedWork = model.PlannedWork,
|
||||||
|
WorkCategoryId = model.WorkCategoryId,
|
||||||
TaskDate = DateTime.Now,
|
TaskDate = DateTime.Now,
|
||||||
TenantId = tenantId,
|
TenantId = tenantId,
|
||||||
WorkAreaId = model.WorkAreaID
|
WorkAreaId = model.WorkAreaID
|
||||||
|
@ -9,17 +9,20 @@ namespace Marco.Pms.Model.Projects
|
|||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public Guid ActivityId { get; set; }
|
public Guid ActivityId { get; set; }
|
||||||
|
public Guid? WorkCategoryId { get; set; }
|
||||||
public Guid WorkAreaId { get; set; }
|
public Guid WorkAreaId { get; set; }
|
||||||
|
|
||||||
[ForeignKey("WorkAreaId")]
|
[ForeignKey("WorkAreaId")]
|
||||||
[ValidateNever]
|
[ValidateNever]
|
||||||
public WorkArea? WorkArea { get; set; }
|
public WorkArea? WorkArea { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[ForeignKey("ActivityId")]
|
[ForeignKey("ActivityId")]
|
||||||
[ValidateNever]
|
[ValidateNever]
|
||||||
public ActivityMaster? ActivityMaster { get; set; }
|
public ActivityMaster? ActivityMaster { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("WorkCategoryId")]
|
||||||
|
[ValidateNever]
|
||||||
|
public WorkCategoryMaster? WorkCategoryMaster { get; set; }
|
||||||
public double PlannedWork { get; set; }
|
public double PlannedWork { get; set; }
|
||||||
public double CompletedWork { get; set; }
|
public double CompletedWork { get; set; }
|
||||||
public DateTime TaskDate { get; set; }
|
public DateTime TaskDate { get; set; }
|
||||||
|
@ -207,7 +207,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
// Create Identity User
|
// Create Identity User
|
||||||
var result = await _userManager.CreateAsync(user, "User@123");
|
var result = await _userManager.CreateAsync(user, "User@123");
|
||||||
if (!result.Succeeded)
|
if (!result.Succeeded)
|
||||||
return Ok(ApiResponse<object>.ErrorResponse("Failed to create user", result.Errors, 400));
|
return BadRequest(ApiResponse<object>.ErrorResponse("Failed to create user", result.Errors, 400));
|
||||||
|
|
||||||
if (existingEmployee == null)
|
if (existingEmployee == null)
|
||||||
{
|
{
|
||||||
|
@ -208,7 +208,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
List<WorkArea> workAreas = await _context.WorkAreas.Where(c => idList.Contains(c.FloorId)).ToListAsync();
|
List<WorkArea> workAreas = await _context.WorkAreas.Where(c => idList.Contains(c.FloorId)).ToListAsync();
|
||||||
|
|
||||||
idList = workAreas.Select(o => o.Id).ToList();
|
idList = workAreas.Select(o => o.Id).ToList();
|
||||||
List<WorkItem> workItems = await _context.WorkItems.Where(c => idList.Contains(c.WorkAreaId)).Include(c => c.ActivityMaster).ToListAsync();
|
List<WorkItem> workItems = await _context.WorkItems.Include(c => c.WorkCategoryMaster).Where(c => idList.Contains(c.WorkAreaId)).Include(c => c.ActivityMaster).ToListAsync();
|
||||||
// List <WorkItem> workItems = _unitOfWork.WorkItem.GetAll(c => idList.Contains(c.WorkAreaId), includeProperties: "ActivityMaster").ToList();
|
// List <WorkItem> workItems = _unitOfWork.WorkItem.GetAll(c => idList.Contains(c.WorkAreaId), includeProperties: "ActivityMaster").ToList();
|
||||||
|
|
||||||
vm.project = project;
|
vm.project = project;
|
||||||
@ -522,6 +522,7 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
workItems.Add(result);
|
workItems.Add(result);
|
||||||
}
|
}
|
||||||
var activity = await _context.ActivityMasters.ToListAsync();
|
var activity = await _context.ActivityMasters.ToListAsync();
|
||||||
|
var category = await _context.WorkCategoryMasters.ToListAsync();
|
||||||
return Ok(ApiResponse<object>.SuccessResponse(workItems, responseMessage, 200));
|
return Ok(ApiResponse<object>.SuccessResponse(workItems, responseMessage, 200));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,8 @@
|
|||||||
"AllowedHeaders": "*"
|
"AllowedHeaders": "*"
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2"
|
//"DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2"
|
||||||
|
"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMS10"
|
||||||
},
|
},
|
||||||
"MongoDB": {
|
"MongoDB": {
|
||||||
"SerilogDatabaseUrl": "mongodb://localhost:27017/DotNetLogs"
|
"SerilogDatabaseUrl": "mongodb://localhost:27017/DotNetLogs"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user