Task Type Master manages different categories of tasks in the Task Management System. It allows administrators to define and maintain task types that can be assigned to tasks.
Table Structure
CREATETABLE TaskTypeMaster (
Id INT PRIMARYKEYIDENTITY(1,1),
TaskTypeId NVARCHAR(3) NOTNULL, - TaskTypeCode
TaskTypeName NVARCHAR(25) NOTNULL,
IsActive BIT NOTNULLDEFAULT1-- Take NVARCHAR (1) 'Y','N'
);
1. Index Page — Fields
Label Name
Property Name
Task Type ID
TaskTypeId
Task Type Name
TaskTypeName
Is Active
IsActiveName
Actions
Create
Modify
Delete
2. Details Page — Fields
Label Name
Property Name
Task Type ID
TaskTypeId
Task Type Name
TaskTypeName
Is Active
IsActiveName
Actions
Create
Modify
Delete
3. Modify Page — Fields
Label Name
Property Name
Editable?
Task Type ID
TaskTypeId
ReadOnly
Task Type Name
TaskTypeName
Editable
Is Active
IsActive
Editable
4. Create Page — Fields
Label Name
Property Name
Task Type Name
TaskTypeName
5. Model Class
publicclassTaskTypeMaster{
publicint Id { get; set; }
publicstring TaskTypeId { get; set; } = string.Empty;
[Required(ErrorMessage = "Task Type Name needs to be filled.")] [StringLength(25, ErrorMessage = "Task Type Name can be upto 25 characters only.")]publicstring TaskTypeName { get; set; } = string.Empty;
publicbool IsActive { get; set; } = true;
publicstring IsActiveName => IsActive ? "Yes" : "No"; //We will use Sql Only}
Task User Master manages users who can be assigned tasks in the Task Management System. It links ERP users with task management capabilities and maintains their contact information.
Table Structure
CREATETABLE TaskUserMaster (
Id INT IDENTITY(1,1) PRIMARYKEY,
TaskUserId NVARCHAR(3) NOTNULL, -- TaskUserCode
UserName NVARCHAR(25) NOTNULL,
Email NVARCHAR(100) NOTNULL,
Phone NVARCHAR(15) NOTNULL,
ErpUserId NVARCHAR(8) NOTNULL,
IsActive BIT NOTNULLDEFAULT1);
1. Index Page — Fields
Label Name
Property Name
Task User ID
TaskUserId
User Name
UserName
Email
Email
Phone
Phone
ERP User
ErpUserName
Is Active
IsActiveName
Actions
Create
Details
Modify
Delete
2. Details Page — Fields
Label Name
Property Name
Task User ID
TaskUserId
User Name
UserName
Email
Email
Phone
Phone
ERP User
ErpUserName
Is Active
IsActiveName
Actions
Create
Modify
Delete
3. Modify Page — Fields
Label Name
Property Name
Editable?
Task User ID
TaskUserId
ReadOnly
User Name
UserName
Editable
Email
Email
Editable
Phone
Phone
Editable
ERP User
ErpUserNameId
Editable
Is Active
IsActive
Editable
4. Create Page — Fields
Label Name
Property Name
User Name
UserName
Email
Email
Phone
Phone
ERP User
ErpUserNameId
Changes
We will only all user of login db like udit_demo then only demo db user should show in combo
We will only show user Type U only
5. Model Class
publicclassTaskUserMaster{
publicint Id { get; set; }
publicstring TaskUserId { get; set; } = string.Empty;
[Required(ErrorMessage = "User Name needs to be filled.")] [StringLength(25, ErrorMessage = "User Name can be upto 25 characters only.")]publicstring UserName { get; set; } = string.Empty;
[Required(ErrorMessage = "Email needs to be filled.")] [EmailAddress(ErrorMessage = "Please enter a valid email address.")]publicstring Email { get; set; } = string.Empty;
[Required(ErrorMessage = "Phone needs to be filled.")] [Phone(ErrorMessage = "Please enter a valid phone number.")]publicstring Phone { get; set; } = string.Empty;
publicstring ErpUserId { get; set; } = string.Empty;
publicbool IsActive { get; set; } = true;
publicstring IsActiveName => IsActive ? "Yes" : "No";
publicstring ErpUserName { get; set; } = string.Empty; // For display [Required(ErrorMessage = "ERP User ID needs to be filled.")]publicstring ErpUserNameId { get; set; } = string.Empty; // For MudAutocomplete binding}
Task Planner is the main module for creating, assigning, tracking, and managing tasks in the Task Management System. It supports task lifecycle management, approval workflows, repeating tasks, and comprehensive reporting.
Table Structure
CREATETABLE TaskPlanner (
Id INT PRIMARYKEYIDENTITY(1,1),
TaskId NVARCHAR(8) NOTNULLUNIQUE, -- TaskFlowPlanId
TaskType NVARCHAR(3) NOTNULL, -- TaskFlowType
RefTaskId NVARCHAR(8) NULL,
Title NVARCHAR(50) NOTNULL,
Description NVARCHAR(250) NULL,
Priority NVARCHAR(10) NULL,
AssignedBy NVARCHAR(3) NOTNULL,
AssignedTo NVARCHAR(3) NOTNULL,
AssignedByName NVARCHAR(25) NULL, -- No Need We will join with task Flow User Table
AssignedToName NVARCHAR(25) NULL, -- No Need We will join with task Flow User Table
StartDate DATETIME NOTNULL,
TargetDate DATETIME NOTNULL,
CommitDate DATETIME NULL, -- CommitedDate
CompletedDate DATETIME NULL,
Party NVARCHAR(6) NULLDEFAULT'000000', -- PartyId , DEFAULT No need
SoMfgDate DATETIME NULL, -- RefDate
ItemRm NVARCHAR(6) NULLDEFAULT'000000', -- ItemRmId , DEFAULT No need
ItemFg NVARCHAR(6) NULLDEFAULT'000000', -- ItemFgId , DEFAULT No need
Quantity DECIMAL(18,3) NULL,
IsRepeating BIT NOTNULLDEFAULT0, -- NVARCHAR(1) , Y,N
Frequency NVARCHAR(20) NULL,
RepeatUntil DATETIME NULL,
Status CHAR(1) NOTNULLDEFAULT'T'CHECK (Status IN ('T', 'U', 'R', 'D')), -- NVARCHAR (1), No need of CHECK and DEFAULT
RemarksAssigner NVARCHAR(500) NULL,
RemarksAssignee NVARCHAR(500) NULL,
CreatedAt DATETIME NOTNULLDEFAULT GETDATE(),
UpdatedAt DATETIME NOTNULLDEFAULT GETDATE()
);
1. Index Page — Fields
Label Name
Property Name
Task ID
TaskId
Task Type
TaskType
Title
Title
Assigned By
AssignedByName
Assigned To
AssignedToName
Start Date
StartDate
Status
StatusName
Actions
Create
Details
Modify
Delete
2. Details Page — Fields
Label Name
Property Name
Task ID
TaskId
Task Type
TaskType
Title
Title
Description
Description
Priority
Priority
Assigned By
AssignedByName
Assigned To
AssignedToName
Start Date
StartDate
Target Date
TargetDate
Commit Date
CommitDate
Completed Date
CompletedDate
Party
Party
SO/MFG Date
SoMfgDate
Item RM
ItemRm
Item FG
ItemFg
Quantity
Quantity
Status
StatusName
Is Repeating
IsRepeating
Frequency
Frequency
Repeat Until
RepeatUntil
Reference Task ID
RefTaskId
Remarks (Assigner)
RemarksAssigner
Remarks (Assignee)
RemarksAssignee
Actions
Create
Modify
Delete
Request Completion (if assignee and status = T)
Approve Completion (if assigner and status = I)
Rework Task (if assigner and status = I)
Make Repeating Task (if status = T and no RefTaskId)
When discuss in depth > right now we will delete all
3. Modify Page — Fields
Label Name
Property Name
Editable?
Task ID
TaskId
ReadOnly
Task Type
TaskType
ReadOnly
Title
Title
ReadOnly
Description
Description
Editable
Priority
Priority
Editable
Assigned By
AssignedBy
ReadOnly
Assigned To
AssignedTo
ReadOnly
Start Date
StartDate
ReadOnly
Target Date
TargetDate
ReadOnly
Commit Date
CommitDate
Editable (assignee only)
Party
Party
Editable
SO/MFG Date
SoMfgDate
Editable
Item RM
ItemRm
Editable
Item FG
ItemFg
Editable
Quantity
Quantity
Editable
Remarks (Assigner)
RemarksAssigner
Editable
Remarks (Assignee)
RemarksAssignee
Editable
Changes
If Task Is Done Modify is not allowed.
We will have 2 page and will be implemeted in next part for assignee and Assigner
Admin user will not able to Assignee task , only he can manage