Project List
This commit is contained in:
parent
fc124830f4
commit
43875b9af8
15 changed files with 333 additions and 211 deletions
|
|
@ -312,7 +312,7 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
IsOrganizationUnit = false,
|
IsOrganizationUnit = false,
|
||||||
Description = listFormName,
|
Description = listFormName,
|
||||||
SelectCommandType = SelectCommandTypeEnum.Table,
|
SelectCommandType = SelectCommandTypeEnum.Table,
|
||||||
SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.ProjectStatus)),
|
SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Projects)),
|
||||||
KeyFieldName = "Id",
|
KeyFieldName = "Id",
|
||||||
KeyFieldDbSourceType = DbType.Guid,
|
KeyFieldDbSourceType = DbType.Guid,
|
||||||
DefaultFilter = DefaultFilterJson,
|
DefaultFilter = DefaultFilterJson,
|
||||||
|
|
@ -324,10 +324,10 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
SelectionJson = DefaultSelectionSingleJson,
|
SelectionJson = DefaultSelectionSingleJson,
|
||||||
ColumnOptionJson = DefaultColumnOptionJson,
|
ColumnOptionJson = DefaultColumnOptionJson,
|
||||||
PermissionJson = DefaultPermissionJson(listFormName),
|
PermissionJson = DefaultPermissionJson(listFormName),
|
||||||
DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.ProjectStatus)),
|
DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Projects)),
|
||||||
DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson,
|
DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson,
|
||||||
PagerOptionJson = DefaultPagerOptionJson,
|
PagerOptionJson = DefaultPagerOptionJson,
|
||||||
EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 700, true, true, true, true, false),
|
EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 550, true, true, true, true, false),
|
||||||
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson,
|
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson,
|
||||||
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>()
|
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>()
|
||||||
{
|
{
|
||||||
|
|
@ -348,7 +348,7 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
new EditingFormItemDto { Order = 1, DataField="StartDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
|
new EditingFormItemDto { Order = 1, DataField="StartDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
|
||||||
new EditingFormItemDto { Order = 2, DataField="EndDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
|
new EditingFormItemDto { Order = 2, DataField="EndDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
|
||||||
new EditingFormItemDto { Order = 3, DataField="Budget", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
new EditingFormItemDto { Order = 3, DataField="Budget", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
||||||
new EditingFormItemDto { Order = 4, DataField="Currency", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox },
|
new EditingFormItemDto { Order = 4, DataField="Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
]},
|
]},
|
||||||
new() {
|
new() {
|
||||||
Order=3, ColCount=2, ColSpan=1, Caption="Actual", ItemType="group", Items =
|
Order=3, ColCount=2, ColSpan=1, Caption="Actual", ItemType="group", Items =
|
||||||
|
|
@ -363,6 +363,11 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
]}
|
]}
|
||||||
}),
|
}),
|
||||||
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
|
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
|
||||||
|
new() { FieldName = "StartDate", FieldDbType = DbType.DateTime , Value = "@DATE", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
|
||||||
|
new() { FieldName = "Progress", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "Budget", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "ActualCost", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
|
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
|
|
@ -464,7 +469,7 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsDeleted = false,
|
IsDeleted = false,
|
||||||
AllowSearch = true,
|
AllowSearch = true,
|
||||||
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Employee), "Id", "Name"),
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Employee), "Id", "FullName"),
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
|
@ -591,7 +596,6 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsDeleted = false,
|
IsDeleted = false,
|
||||||
AllowSearch = true,
|
AllowSearch = true,
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
|
||||||
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
PivotSettingsJson = DefaultPivotSettingsJson
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
|
@ -607,7 +611,6 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsDeleted = false,
|
IsDeleted = false,
|
||||||
AllowSearch = true,
|
AllowSearch = true,
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
|
||||||
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
PivotSettingsJson = DefaultPivotSettingsJson
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
|
@ -625,7 +628,6 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
IsActive = true,
|
IsActive = true,
|
||||||
IsDeleted = false,
|
IsDeleted = false,
|
||||||
AllowSearch = true,
|
AllowSearch = true,
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
|
||||||
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
PivotSettingsJson = DefaultPivotSettingsJson
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
|
@ -648,7 +650,6 @@ public class ListFormSeeder_Project : IDataSeedContributor, ITransientDependency
|
||||||
ValueExpr = "Key",
|
ValueExpr = "Key",
|
||||||
LookupQuery = LookupQueryValues.CustomerValues,
|
LookupQuery = LookupQueryValues.CustomerValues,
|
||||||
}),
|
}),
|
||||||
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
|
||||||
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
PivotSettingsJson = DefaultPivotSettingsJson
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
|
|
||||||
|
|
@ -152,18 +152,14 @@
|
||||||
"path": "/admin/menuManager",
|
"path": "/admin/menuManager",
|
||||||
"componentPath": "@/views/menu/MenuManager",
|
"componentPath": "@/views/menu/MenuManager",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Menus.Manager"]
|
||||||
"App.Menus.Manager"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.listFormManagement.wizard",
|
"key": "admin.listFormManagement.wizard",
|
||||||
"path": "/admin/listform/wizard",
|
"path": "/admin/listform/wizard",
|
||||||
"componentPath": "@/views/admin/listForm/Wizard",
|
"componentPath": "@/views/admin/listForm/Wizard",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Listforms.Wizard"]
|
||||||
"App.Listforms.Wizard"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.listFormManagement.edit",
|
"key": "admin.listFormManagement.edit",
|
||||||
|
|
@ -177,18 +173,14 @@
|
||||||
"path": "/admin/forumManagement",
|
"path": "/admin/forumManagement",
|
||||||
"componentPath": "@/views/forum/Management",
|
"componentPath": "@/views/forum/Management",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.ForumManagement"]
|
||||||
"App.ForumManagement"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.ai",
|
"key": "admin.ai",
|
||||||
"path": "/admin/ai",
|
"path": "/admin/ai",
|
||||||
"componentPath": "@/views/ai/Assistant",
|
"componentPath": "@/views/ai/Assistant",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["Abp.Identity.Ai"]
|
||||||
"Abp.Identity.Ai"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.profile.general",
|
"key": "admin.profile.general",
|
||||||
|
|
@ -230,36 +222,28 @@
|
||||||
"path": "/admin/settings",
|
"path": "/admin/settings",
|
||||||
"componentPath": "@/views/settings/Settings",
|
"componentPath": "@/views/settings/Settings",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Setting"]
|
||||||
"App.Setting"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.identity.user.detail",
|
"key": "admin.identity.user.detail",
|
||||||
"path": "/admin/users/detail/:userId",
|
"path": "/admin/users/detail/:userId",
|
||||||
"componentPath": "@/views/admin/user-management/Details",
|
"componentPath": "@/views/admin/user-management/Details",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["AbpIdentity.Users.Update"]
|
||||||
"AbpIdentity.Users.Update"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.identity.ous",
|
"key": "admin.identity.ous",
|
||||||
"path": "/admin/ous",
|
"path": "/admin/ous",
|
||||||
"componentPath": "@/views/admin/organization-unit/OrganizationUnits",
|
"componentPath": "@/views/admin/organization-unit/OrganizationUnits",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["Abp.Identity.OrganizationUnits"]
|
||||||
"Abp.Identity.OrganizationUnits"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.forum",
|
"key": "admin.forum",
|
||||||
"path": "/admin/forum",
|
"path": "/admin/forum",
|
||||||
"componentPath": "@/views/forum/Forum",
|
"componentPath": "@/views/forum/Forum",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.ForumManagement.Publish"]
|
||||||
"App.ForumManagement.Publish"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.list",
|
"key": "admin.list",
|
||||||
|
|
@ -301,216 +285,168 @@
|
||||||
"path": "/admin/developerkit",
|
"path": "/admin/developerkit",
|
||||||
"componentPath": "@/views/developerKit/DashboardPage",
|
"componentPath": "@/views/developerKit/DashboardPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit"]
|
||||||
"App.DeveloperKit"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.entities",
|
"key": "admin.developerkit.entities",
|
||||||
"path": "/admin/developerkit/entities",
|
"path": "/admin/developerkit/entities",
|
||||||
"componentPath": "@/views/developerKit/EntityPage",
|
"componentPath": "@/views/developerKit/EntityPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Entity"]
|
||||||
"App.DeveloperKit.Entity"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.entities.new",
|
"key": "admin.developerkit.entities.new",
|
||||||
"path": "/admin/developerkit/entities/new",
|
"path": "/admin/developerkit/entities/new",
|
||||||
"componentPath": "@/views/developerKit/EntityDetailPage",
|
"componentPath": "@/views/developerKit/EntityDetailPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Entity"]
|
||||||
"App.DeveloperKit.Entity"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.entities.edit",
|
"key": "admin.developerkit.entities.edit",
|
||||||
"path": "/admin/developerkit/entities/edit/:id",
|
"path": "/admin/developerkit/entities/edit/:id",
|
||||||
"componentPath": "@/views/developerKit/EntityDetailPage",
|
"componentPath": "@/views/developerKit/EntityDetailPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Entity"]
|
||||||
"App.DeveloperKit.Entity"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.migrations",
|
"key": "admin.developerkit.migrations",
|
||||||
"path": "/admin/developerkit/migrations",
|
"path": "/admin/developerkit/migrations",
|
||||||
"componentPath": "@/views/developerKit/MigrationPage",
|
"componentPath": "@/views/developerKit/MigrationPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Migrations"]
|
||||||
"App.DeveloperKit.Migrations"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.endpoints",
|
"key": "admin.developerkit.endpoints",
|
||||||
"path": "/admin/developerkit/endpoints",
|
"path": "/admin/developerkit/endpoints",
|
||||||
"componentPath": "@/views/developerKit/CrudEndpointPage",
|
"componentPath": "@/views/developerKit/CrudEndpointPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.CrudEndpoints"]
|
||||||
"App.DeveloperKit.CrudEndpoints"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.dynamic-services",
|
"key": "admin.developerkit.dynamic-services",
|
||||||
"path": "/admin/developerkit/dynamic-services",
|
"path": "/admin/developerkit/dynamic-services",
|
||||||
"componentPath": "@/views/developerKit/DynamicServicePage",
|
"componentPath": "@/views/developerKit/DynamicServicePage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.DynamicServices"]
|
||||||
"App.DeveloperKit.DynamicServices"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.components",
|
"key": "admin.developerkit.components",
|
||||||
"path": "/admin/developerkit/components",
|
"path": "/admin/developerkit/components",
|
||||||
"componentPath": "@/views/developerKit/ComponentPage",
|
"componentPath": "@/views/developerKit/ComponentPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Components"]
|
||||||
"App.DeveloperKit.Components"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.components.new",
|
"key": "admin.developerkit.components.new",
|
||||||
"path": "/admin/developerkit/components/new",
|
"path": "/admin/developerkit/components/new",
|
||||||
"componentPath": "@/views/developerKit/ComponentDetailPage",
|
"componentPath": "@/views/developerKit/ComponentDetailPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Components"]
|
||||||
"App.DeveloperKit.Components"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.components.view",
|
"key": "admin.developerkit.components.view",
|
||||||
"path": "/admin/developerkit/components/view/:id",
|
"path": "/admin/developerkit/components/view/:id",
|
||||||
"componentPath": "@/views/developerKit/ComponentDetailPage",
|
"componentPath": "@/views/developerKit/ComponentDetailPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Components"]
|
||||||
"App.DeveloperKit.Components"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.developerkit.components.edit",
|
"key": "admin.developerkit.components.edit",
|
||||||
"path": "/admin/developerkit/components/edit/:id",
|
"path": "/admin/developerkit/components/edit/:id",
|
||||||
"componentPath": "@/views/developerKit/CodePage",
|
"componentPath": "@/views/developerKit/CodePage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.DeveloperKit.Components"]
|
||||||
"App.DeveloperKit.Components"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.reportManagement",
|
"key": "admin.reportManagement",
|
||||||
"path": "/admin/reports/management",
|
"path": "/admin/reports/management",
|
||||||
"componentPath": "@/views/report/DashboardPage",
|
"componentPath": "@/views/report/DashboardPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Reports.Management"]
|
||||||
"App.Reports.Management"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.reports.view",
|
"key": "admin.reports.view",
|
||||||
"path": "/admin/reports/:id",
|
"path": "/admin/reports/:id",
|
||||||
"componentPath": "@/views/report/ReportViewerPage",
|
"componentPath": "@/views/report/ReportViewerPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Reports.Categories"]
|
||||||
"App.Reports.Categories"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.fileManagement",
|
"key": "admin.fileManagement",
|
||||||
"path": "/admin/files",
|
"path": "/admin/files",
|
||||||
"componentPath": "@/views/admin/files/FileManager",
|
"componentPath": "@/views/admin/files/FileManager",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Files"]
|
||||||
"App.Files"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.classroom.dashboard",
|
"key": "admin.coordinator.classroom.dashboard",
|
||||||
"path": "/admin/coordinator/classroom/dashboard",
|
"path": "/admin/coordinator/classroom/dashboard",
|
||||||
"componentPath": "@/views/coordinator/Classroom/Dashboard",
|
"componentPath": "@/views/coordinator/Classroom/Dashboard",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Classroom.Dashboard"]
|
||||||
"App.Coordinator.Classroom.Dashboard"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.classroom.classes",
|
"key": "admin.coordinator.classroom.classes",
|
||||||
"path": "/admin/coordinator/classroom/classes",
|
"path": "/admin/coordinator/classroom/classes",
|
||||||
"componentPath": "@/views/coordinator/Classroom/ClassList",
|
"componentPath": "@/views/coordinator/Classroom/ClassList",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Classroom.List"]
|
||||||
"App.Coordinator.Classroom.List"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.classroom.classroom",
|
"key": "admin.coordinator.classroom.classroom",
|
||||||
"path": "/admin/coordinator/classroom/room/:id",
|
"path": "/admin/coordinator/classroom/room/:id",
|
||||||
"componentPath": "@/views/coordinator/Classroom/RoomDetail",
|
"componentPath": "@/views/coordinator/Classroom/RoomDetail",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Classroom.RoomDetail"]
|
||||||
"App.Coordinator.Classroom.RoomDetail"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.classroom.planning",
|
"key": "admin.coordinator.classroom.planning",
|
||||||
"path": "/admin/coordinator/classroom/planning/:id",
|
"path": "/admin/coordinator/classroom/planning/:id",
|
||||||
"componentPath": "@/views/coordinator/Classroom/PlanningPage",
|
"componentPath": "@/views/coordinator/Classroom/PlanningPage",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Classroom.Planning"]
|
||||||
"App.Coordinator.Classroom.Planning"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.exams",
|
"key": "admin.coordinator.exams",
|
||||||
"path": "/admin/coordinator/exams",
|
"path": "/admin/coordinator/exams",
|
||||||
"componentPath": "@/views/coordinator/Exams",
|
"componentPath": "@/views/coordinator/Exams",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Exams"]
|
||||||
"App.Coordinator.Exams"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.examDetail",
|
"key": "admin.coordinator.examDetail",
|
||||||
"path": "/admin/coordinator/exam/:id",
|
"path": "/admin/coordinator/exam/:id",
|
||||||
"componentPath": "@/views/coordinator/ExamInterface/ExamInterface",
|
"componentPath": "@/views/coordinator/ExamInterface/ExamInterface",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Exams"]
|
||||||
"App.Coordinator.Exams"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.assignments",
|
"key": "admin.coordinator.assignments",
|
||||||
"path": "/admin/coordinator/assignments",
|
"path": "/admin/coordinator/assignments",
|
||||||
"componentPath": "@/views/coordinator/Assignments",
|
"componentPath": "@/views/coordinator/Assignments",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Assignments"]
|
||||||
"App.Coordinator.Assignments"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.assignmentDetail",
|
"key": "admin.coordinator.assignmentDetail",
|
||||||
"path": "/admin/coordinator/assignment/:id",
|
"path": "/admin/coordinator/assignment/:id",
|
||||||
"componentPath": "@/views/coordinator/ExamInterface/ExamInterface",
|
"componentPath": "@/views/coordinator/ExamInterface/ExamInterface",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Assignments"]
|
||||||
"App.Coordinator.Assignments"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.tests",
|
"key": "admin.coordinator.tests",
|
||||||
"path": "/admin/coordinator/tests",
|
"path": "/admin/coordinator/tests",
|
||||||
"componentPath": "@/views/coordinator/Tests",
|
"componentPath": "@/views/coordinator/Tests",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Tests"]
|
||||||
"App.Coordinator.Tests"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.coordinator.testDetail",
|
"key": "admin.coordinator.testDetail",
|
||||||
"path": "/admin/coordinator/test/:id",
|
"path": "/admin/coordinator/test/:id",
|
||||||
"componentPath": "@/views/coordinator/ExamInterface/PDFTestInterface",
|
"componentPath": "@/views/coordinator/ExamInterface/PDFTestInterface",
|
||||||
"routeType": "protected",
|
"routeType": "protected",
|
||||||
"authority": [
|
"authority": ["App.Coordinator.Tests"]
|
||||||
"App.Coordinator.Tests"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "admin.supplychain.requests",
|
"key": "admin.supplychain.requests",
|
||||||
|
|
@ -2663,7 +2599,7 @@
|
||||||
"Code": "App.Project.Projects",
|
"Code": "App.Project.Projects",
|
||||||
"DisplayName": "App.Project.Projects",
|
"DisplayName": "App.Project.Projects",
|
||||||
"Order": 3,
|
"Order": 3,
|
||||||
"Url": "/admin/projects",
|
"Url": "/admin/list/App.Project.Projects",
|
||||||
"Icon": "FcTodoList",
|
"Icon": "FcTodoList",
|
||||||
"RequiredPermissionName": "App.Project.Projects",
|
"RequiredPermissionName": "App.Project.Projects",
|
||||||
"IsDisabled": false
|
"IsDisabled": false
|
||||||
|
|
@ -3079,4 +3015,4 @@
|
||||||
"IsDisabled": false
|
"IsDisabled": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -188,7 +188,7 @@ public enum TableNameEnum
|
||||||
Bom,
|
Bom,
|
||||||
BomOperation,
|
BomOperation,
|
||||||
BomComponent,
|
BomComponent,
|
||||||
Project,
|
Projects,
|
||||||
ProjectType,
|
ProjectType,
|
||||||
ProjectStatus
|
ProjectStatus
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -229,7 +229,7 @@ public static class TableNameResolver
|
||||||
// 🔹 R&D
|
// 🔹 R&D
|
||||||
{ nameof(TableNameEnum.ProjectType), (TablePrefix.TenantByName, MenuPrefix.Project) },
|
{ nameof(TableNameEnum.ProjectType), (TablePrefix.TenantByName, MenuPrefix.Project) },
|
||||||
{ nameof(TableNameEnum.ProjectStatus), (TablePrefix.TenantByName, MenuPrefix.Project) },
|
{ nameof(TableNameEnum.ProjectStatus), (TablePrefix.TenantByName, MenuPrefix.Project) },
|
||||||
{ nameof(TableNameEnum.Project), (TablePrefix.TenantByName, MenuPrefix.Project) },
|
{ nameof(TableNameEnum.Projects), (TablePrefix.TenantByName, MenuPrefix.Project) },
|
||||||
};
|
};
|
||||||
|
|
||||||
public static string GetFullTableName(string tableName)
|
public static string GetFullTableName(string tableName)
|
||||||
|
|
|
||||||
|
|
@ -564,7 +564,7 @@ public static class SeedConsts
|
||||||
public const string Default = Prefix.App + ".Project";
|
public const string Default = Prefix.App + ".Project";
|
||||||
public const string ProjectType = Default + ".ProjectType";
|
public const string ProjectType = Default + ".ProjectType";
|
||||||
public const string ProjectStatus = Default + ".ProjectStatus";
|
public const string ProjectStatus = Default + ".ProjectStatus";
|
||||||
public const string Projects = Default + ".Project";
|
public const string Projects = Default + ".Projects";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Mrp
|
public static class Mrp
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,8 @@ public class Project : FullAuditedEntity<Guid>, IMultiTenant
|
||||||
public Guid? StatusId { get; set; } //Planlanıyor, Devam Ediyor, Tamamlandı, Beklemede, İptal Edildi
|
public Guid? StatusId { get; set; } //Planlanıyor, Devam Ediyor, Tamamlandı, Beklemede, İptal Edildi
|
||||||
public ProjectStatus Status { get; set; }
|
public ProjectStatus Status { get; set; }
|
||||||
public string Priority { get; set; } //Düşük, Orta, Yüksek, Kritik, Acil
|
public string Priority { get; set; } //Düşük, Orta, Yüksek, Kritik, Acil
|
||||||
public Guid ManagerId { get; set; }
|
public Guid? ManagerId { get; set; }
|
||||||
|
public Employee Manager { get; set; }
|
||||||
|
|
||||||
public DateTime StartDate { get; set; }
|
public DateTime StartDate { get; set; }
|
||||||
public DateTime EndDate { get; set; }
|
public DateTime EndDate { get; set; }
|
||||||
|
|
@ -27,6 +28,7 @@ public class Project : FullAuditedEntity<Guid>, IMultiTenant
|
||||||
public DateTime? ActualEndDate { get; set; }
|
public DateTime? ActualEndDate { get; set; }
|
||||||
|
|
||||||
public Guid? CustomerId { get; set; }
|
public Guid? CustomerId { get; set; }
|
||||||
|
public Partner Customer { get; set; }
|
||||||
|
|
||||||
public decimal Budget { get; set; }
|
public decimal Budget { get; set; }
|
||||||
public decimal ActualCost { get; set; }
|
public decimal ActualCost { get; set; }
|
||||||
|
|
@ -3228,7 +3228,7 @@ public class PlatformDbContext :
|
||||||
|
|
||||||
builder.Entity<Project>(b =>
|
builder.Entity<Project>(b =>
|
||||||
{
|
{
|
||||||
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Project)), Prefix.DbSchema);
|
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Projects)), Prefix.DbSchema);
|
||||||
b.ConfigureByConvention();
|
b.ConfigureByConvention();
|
||||||
|
|
||||||
b.Property(x => x.Code).IsRequired().HasMaxLength(100);
|
b.Property(x => x.Code).IsRequired().HasMaxLength(100);
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
|
||||||
namespace Erp.Platform.Migrations
|
namespace Erp.Platform.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(PlatformDbContext))]
|
[DbContext(typeof(PlatformDbContext))]
|
||||||
[Migration("20251126210300_Initial")]
|
[Migration("20251127061452_Initial")]
|
||||||
partial class Initial
|
partial class Initial
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
|
@ -9827,7 +9827,7 @@ namespace Erp.Platform.Migrations
|
||||||
.HasColumnType("uniqueidentifier")
|
.HasColumnType("uniqueidentifier")
|
||||||
.HasColumnName("LastModifierId");
|
.HasColumnName("LastModifierId");
|
||||||
|
|
||||||
b.Property<Guid>("ManagerId")
|
b.Property<Guid?>("ManagerId")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<string>("Name")
|
b.Property<string>("Name")
|
||||||
|
|
@ -9860,11 +9860,15 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CustomerId");
|
||||||
|
|
||||||
|
b.HasIndex("ManagerId");
|
||||||
|
|
||||||
b.HasIndex("ProjectTypeId");
|
b.HasIndex("ProjectTypeId");
|
||||||
|
|
||||||
b.HasIndex("StatusId");
|
b.HasIndex("StatusId");
|
||||||
|
|
||||||
b.ToTable("Prj_T_Project", (string)null);
|
b.ToTable("Prj_T_Projects", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Erp.Platform.Entities.ProjectStatus", b =>
|
modelBuilder.Entity("Erp.Platform.Entities.ProjectStatus", b =>
|
||||||
|
|
@ -17106,6 +17110,14 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
modelBuilder.Entity("Erp.Platform.Entities.Project", b =>
|
modelBuilder.Entity("Erp.Platform.Entities.Project", b =>
|
||||||
{
|
{
|
||||||
|
b.HasOne("Erp.Platform.Entities.Partner", "Customer")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("CustomerId");
|
||||||
|
|
||||||
|
b.HasOne("Erp.Platform.Entities.Employee", "Manager")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ManagerId");
|
||||||
|
|
||||||
b.HasOne("Erp.Platform.Entities.ProjectType", "ProjectType")
|
b.HasOne("Erp.Platform.Entities.ProjectType", "ProjectType")
|
||||||
.WithMany("Projects")
|
.WithMany("Projects")
|
||||||
.HasForeignKey("ProjectTypeId")
|
.HasForeignKey("ProjectTypeId")
|
||||||
|
|
@ -17118,6 +17130,10 @@ namespace Erp.Platform.Migrations
|
||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Customer");
|
||||||
|
|
||||||
|
b.Navigation("Manager");
|
||||||
|
|
||||||
b.Navigation("ProjectType");
|
b.Navigation("ProjectType");
|
||||||
|
|
||||||
b.Navigation("Status");
|
b.Navigation("Status");
|
||||||
|
|
@ -3526,54 +3526,6 @@ namespace Erp.Platform.Migrations
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Prj_T_Project",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
Code = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
|
||||||
Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false),
|
|
||||||
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
|
||||||
ProjectTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
StatusId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Priority = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
|
||||||
ManagerId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
EndDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
ActualStartDate = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
ActualEndDate = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
CustomerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
Budget = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
|
|
||||||
ActualCost = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
|
|
||||||
Currency = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: true),
|
|
||||||
Progress = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
|
|
||||||
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
|
|
||||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
|
||||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_Prj_T_Project", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Prj_T_Project_Prj_T_ProjectStatus_StatusId",
|
|
||||||
column: x => x.StatusId,
|
|
||||||
principalTable: "Prj_T_ProjectStatus",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Prj_T_Project_Prj_T_ProjectType_ProjectTypeId",
|
|
||||||
column: x => x.ProjectTypeId,
|
|
||||||
principalTable: "Prj_T_ProjectType",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "Sas_H_Country",
|
name: "Sas_H_Country",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
|
|
@ -5996,6 +5948,64 @@ namespace Erp.Platform.Migrations
|
||||||
onDelete: ReferentialAction.Restrict);
|
onDelete: ReferentialAction.Restrict);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Prj_T_Projects",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
Code = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
||||||
|
Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false),
|
||||||
|
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
||||||
|
ProjectTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
StatusId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
Priority = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
||||||
|
ManagerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
StartDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
EndDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
ActualStartDate = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
ActualEndDate = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
CustomerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
Budget = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
|
||||||
|
ActualCost = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
|
||||||
|
Currency = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: true),
|
||||||
|
Progress = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
|
||||||
|
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
|
||||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Prj_T_Projects", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Prj_T_Projects_Adm_T_Partner_CustomerId",
|
||||||
|
column: x => x.CustomerId,
|
||||||
|
principalTable: "Adm_T_Partner",
|
||||||
|
principalColumn: "Id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Prj_T_Projects_Hr_T_Employee_ManagerId",
|
||||||
|
column: x => x.ManagerId,
|
||||||
|
principalTable: "Hr_T_Employee",
|
||||||
|
principalColumn: "Id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Prj_T_Projects_Prj_T_ProjectStatus_StatusId",
|
||||||
|
column: x => x.StatusId,
|
||||||
|
principalTable: "Prj_T_ProjectStatus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Prj_T_Projects_Prj_T_ProjectType_ProjectTypeId",
|
||||||
|
column: x => x.ProjectTypeId,
|
||||||
|
principalTable: "Prj_T_ProjectType",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "Scp_T_Request",
|
name: "Scp_T_Request",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
|
|
@ -7655,13 +7665,23 @@ namespace Erp.Platform.Migrations
|
||||||
column: "NotificationRuleId");
|
column: "NotificationRuleId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_Prj_T_Project_ProjectTypeId",
|
name: "IX_Prj_T_Projects_CustomerId",
|
||||||
table: "Prj_T_Project",
|
table: "Prj_T_Projects",
|
||||||
|
column: "CustomerId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Prj_T_Projects_ManagerId",
|
||||||
|
table: "Prj_T_Projects",
|
||||||
|
column: "ManagerId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Prj_T_Projects_ProjectTypeId",
|
||||||
|
table: "Prj_T_Projects",
|
||||||
column: "ProjectTypeId");
|
column: "ProjectTypeId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_Prj_T_Project_StatusId",
|
name: "IX_Prj_T_Projects_StatusId",
|
||||||
table: "Prj_T_Project",
|
table: "Prj_T_Projects",
|
||||||
column: "StatusId");
|
column: "StatusId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
|
|
@ -8313,7 +8333,7 @@ namespace Erp.Platform.Migrations
|
||||||
name: "Plat_H_SettingDefinition");
|
name: "Plat_H_SettingDefinition");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Prj_T_Project");
|
name: "Prj_T_Projects");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Prt_T_Interesting");
|
name: "Prt_T_Interesting");
|
||||||
|
|
@ -8435,9 +8455,6 @@ namespace Erp.Platform.Migrations
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Adm_T_Order");
|
name: "Adm_T_Order");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Adm_T_Partner");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Adm_T_SkillType");
|
name: "Adm_T_SkillType");
|
||||||
|
|
||||||
|
|
@ -8507,6 +8524,9 @@ namespace Erp.Platform.Migrations
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Plat_H_NotificationRule");
|
name: "Plat_H_NotificationRule");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Adm_T_Partner");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Prj_T_ProjectStatus");
|
name: "Prj_T_ProjectStatus");
|
||||||
|
|
||||||
|
|
@ -8549,24 +8569,6 @@ namespace Erp.Platform.Migrations
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "AbpAuditLogs");
|
name: "AbpAuditLogs");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Crm_T_CustomerSegment");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Crm_T_CustomerType");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Sas_T_Sector");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Scp_T_PaymentTerm");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Scp_T_SupplyCardType");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Scp_T_SupplyType");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Crd_B_RegistrationType");
|
name: "Crd_B_RegistrationType");
|
||||||
|
|
||||||
|
|
@ -8594,9 +8596,6 @@ namespace Erp.Platform.Migrations
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Mrp_T_BomType");
|
name: "Mrp_T_BomType");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Scp_T_Material");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Mrp_T_OperationType");
|
name: "Mrp_T_OperationType");
|
||||||
|
|
||||||
|
|
@ -8615,6 +8614,27 @@ namespace Erp.Platform.Migrations
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Plat_H_BackgroundWorker_MailQueueTableFormat");
|
name: "Plat_H_BackgroundWorker_MailQueueTableFormat");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Crm_T_CustomerSegment");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Crm_T_CustomerType");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Sas_T_Sector");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Scp_T_Material");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Scp_T_PaymentTerm");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Scp_T_SupplyCardType");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Scp_T_SupplyType");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Sas_H_Country");
|
name: "Sas_H_Country");
|
||||||
|
|
||||||
|
|
@ -8645,15 +8665,15 @@ namespace Erp.Platform.Migrations
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Mnt_T_Workcenter");
|
name: "Mnt_T_Workcenter");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Mrp_T_OperationCategory");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Scp_T_MaterialGroup");
|
name: "Scp_T_MaterialGroup");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Scp_T_MaterialType");
|
name: "Scp_T_MaterialType");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Mrp_T_OperationCategory");
|
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Sas_H_CountryGroup");
|
name: "Sas_H_CountryGroup");
|
||||||
|
|
||||||
|
|
@ -9824,7 +9824,7 @@ namespace Erp.Platform.Migrations
|
||||||
.HasColumnType("uniqueidentifier")
|
.HasColumnType("uniqueidentifier")
|
||||||
.HasColumnName("LastModifierId");
|
.HasColumnName("LastModifierId");
|
||||||
|
|
||||||
b.Property<Guid>("ManagerId")
|
b.Property<Guid?>("ManagerId")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<string>("Name")
|
b.Property<string>("Name")
|
||||||
|
|
@ -9857,11 +9857,15 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("CustomerId");
|
||||||
|
|
||||||
|
b.HasIndex("ManagerId");
|
||||||
|
|
||||||
b.HasIndex("ProjectTypeId");
|
b.HasIndex("ProjectTypeId");
|
||||||
|
|
||||||
b.HasIndex("StatusId");
|
b.HasIndex("StatusId");
|
||||||
|
|
||||||
b.ToTable("Prj_T_Project", (string)null);
|
b.ToTable("Prj_T_Projects", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Erp.Platform.Entities.ProjectStatus", b =>
|
modelBuilder.Entity("Erp.Platform.Entities.ProjectStatus", b =>
|
||||||
|
|
@ -17103,6 +17107,14 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
modelBuilder.Entity("Erp.Platform.Entities.Project", b =>
|
modelBuilder.Entity("Erp.Platform.Entities.Project", b =>
|
||||||
{
|
{
|
||||||
|
b.HasOne("Erp.Platform.Entities.Partner", "Customer")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("CustomerId");
|
||||||
|
|
||||||
|
b.HasOne("Erp.Platform.Entities.Employee", "Manager")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ManagerId");
|
||||||
|
|
||||||
b.HasOne("Erp.Platform.Entities.ProjectType", "ProjectType")
|
b.HasOne("Erp.Platform.Entities.ProjectType", "ProjectType")
|
||||||
.WithMany("Projects")
|
.WithMany("Projects")
|
||||||
.HasForeignKey("ProjectTypeId")
|
.HasForeignKey("ProjectTypeId")
|
||||||
|
|
@ -17115,6 +17127,10 @@ namespace Erp.Platform.Migrations
|
||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Customer");
|
||||||
|
|
||||||
|
b.Navigation("Manager");
|
||||||
|
|
||||||
b.Navigation("ProjectType");
|
b.Navigation("ProjectType");
|
||||||
|
|
||||||
b.Navigation("Status");
|
b.Navigation("Status");
|
||||||
|
|
|
||||||
|
|
@ -100,9 +100,7 @@
|
||||||
"props": null,
|
"props": null,
|
||||||
"description": null,
|
"description": null,
|
||||||
"isActive": true,
|
"isActive": true,
|
||||||
"dependencies": [
|
"dependencies": ["DynamicEntityComponent"]
|
||||||
"DynamicEntityComponent"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ReportCategories": [
|
"ReportCategories": [
|
||||||
|
|
@ -2431,12 +2429,7 @@
|
||||||
"minSalary": 80000,
|
"minSalary": 80000,
|
||||||
"maxSalary": 120000,
|
"maxSalary": 120000,
|
||||||
"currency": "USD",
|
"currency": "USD",
|
||||||
"requiredSkills": [
|
"requiredSkills": ["JavaScript", "TypeScript", "React", "Node.js"],
|
||||||
"JavaScript",
|
|
||||||
"TypeScript",
|
|
||||||
"React",
|
|
||||||
"Node.js"
|
|
||||||
],
|
|
||||||
"responsibilities": [
|
"responsibilities": [
|
||||||
"Develop frontend and backend applications",
|
"Develop frontend and backend applications",
|
||||||
"Write clean and maintainable code",
|
"Write clean and maintainable code",
|
||||||
|
|
@ -4131,9 +4124,7 @@
|
||||||
{
|
{
|
||||||
"postContent": "CI/CD pipeline güncellememiz tamamlandı! Deployment süremiz %40 azaldı. Otomasyonun gücü 💪",
|
"postContent": "CI/CD pipeline güncellememiz tamamlandı! Deployment süremiz %40 azaldı. Otomasyonun gücü 💪",
|
||||||
"type": "video",
|
"type": "video",
|
||||||
"urls": [
|
"urls": ["https://www.w3schools.com/html/mov_bbb.mp4"]
|
||||||
"https://www.w3schools.com/html/mov_bbb.mp4"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"SocialPollOptions": [
|
"SocialPollOptions": [
|
||||||
|
|
@ -5869,5 +5860,83 @@
|
||||||
"description": "Projenin iptal edildiğini ifade eder",
|
"description": "Projenin iptal edildiğini ifade eder",
|
||||||
"isActive": true
|
"isActive": true
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"Projects": [
|
||||||
|
{
|
||||||
|
"code": "PRJ-2024-001",
|
||||||
|
"name": "Erp Sistemi Geliştirme",
|
||||||
|
"description": "Kurumsal kaynak planlama sistemi geliştirilmesi",
|
||||||
|
"projectTypeName": "Dahili",
|
||||||
|
"statusName": "Aktif",
|
||||||
|
"priority": "High",
|
||||||
|
"customerCode": "CUST-001",
|
||||||
|
"managerCode": "EMP-001",
|
||||||
|
"startDate": "2024-01-15T00:00:00.000Z",
|
||||||
|
"endDate": "2024-12-31T00:00:00.000Z",
|
||||||
|
"actualStartDate": "2024-01-20T00:00:00.000Z",
|
||||||
|
"actualEndDate": null,
|
||||||
|
"budget": 500000,
|
||||||
|
"actualCost": 250000,
|
||||||
|
"currency": "TRY",
|
||||||
|
"progress": 65,
|
||||||
|
"isActive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "PRJ-2024-002",
|
||||||
|
"name": "Mobil Uygulama Geliştirme",
|
||||||
|
"description": "iOS ve Android mobil uygulama geliştirilmesi",
|
||||||
|
"projectTypeName": "Müşteri",
|
||||||
|
"statusName": "Planlama",
|
||||||
|
"priority": "Medium",
|
||||||
|
"customerCode": "CUST-002",
|
||||||
|
"managerCode": "EMP-002",
|
||||||
|
"startDate": "2024-03-01T00:00:00.000Z",
|
||||||
|
"endDate": "2024-08-31T00:00:00.000Z",
|
||||||
|
"actualStartDate": null,
|
||||||
|
"actualEndDate": null,
|
||||||
|
"budget": 300000,
|
||||||
|
"actualCost": 50000,
|
||||||
|
"currency": "TRY",
|
||||||
|
"progress": 15,
|
||||||
|
"isActive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "PRJ-2024-003",
|
||||||
|
"name": "Veri Merkezi Kurulumu",
|
||||||
|
"description": "Yeni veri merkezi altyapısının kurulması",
|
||||||
|
"projectTypeName": "Dahili",
|
||||||
|
"statusName": "Tamamlandı",
|
||||||
|
"priority": "High",
|
||||||
|
"customerCode": null,
|
||||||
|
"managerCode": "EMP-003",
|
||||||
|
"startDate": "2024-06-01T00:00:00.000Z",
|
||||||
|
"endDate": "2024-10-31T00:00:00.000Z",
|
||||||
|
"actualStartDate": "2024-06-05T00:00:00.000Z",
|
||||||
|
"actualEndDate": "2024-10-28T00:00:00.000Z",
|
||||||
|
"budget": 800000,
|
||||||
|
"actualCost": 750000,
|
||||||
|
"currency": "TRY",
|
||||||
|
"progress": 100,
|
||||||
|
"isActive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": "PRJ-2024-004",
|
||||||
|
"name": "E-ticaret Platform Entegrasyonu",
|
||||||
|
"description": "Mevcut sisteme e-ticaret platformu entegrasyonu",
|
||||||
|
"projectTypeName": "Müşteri",
|
||||||
|
"statusName": "Beklemede",
|
||||||
|
"priority": "Low",
|
||||||
|
"customerCode": "CUST-001",
|
||||||
|
"managerCode": "EMP-001",
|
||||||
|
"startDate": "2024-09-01T00:00:00.000Z",
|
||||||
|
"endDate": "2024-12-15T00:00:00.000Z",
|
||||||
|
"actualStartDate": null,
|
||||||
|
"actualEndDate": null,
|
||||||
|
"budget": 200000,
|
||||||
|
"actualCost": 25000,
|
||||||
|
"currency": "TRY",
|
||||||
|
"progress": 10,
|
||||||
|
"isActive": true
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
||||||
private readonly IRepository<BomOperation, Guid> _bomOperationRepository;
|
private readonly IRepository<BomOperation, Guid> _bomOperationRepository;
|
||||||
private readonly IRepository<ProjectType, Guid> _projectTypeRepository;
|
private readonly IRepository<ProjectType, Guid> _projectTypeRepository;
|
||||||
private readonly IRepository<ProjectStatus, Guid> _projectStatusRepository;
|
private readonly IRepository<ProjectStatus, Guid> _projectStatusRepository;
|
||||||
|
private readonly IRepository<Project, Guid> _projectRepository;
|
||||||
|
|
||||||
public TenantDataSeeder(
|
public TenantDataSeeder(
|
||||||
IClock clock,
|
IClock clock,
|
||||||
|
|
@ -242,7 +243,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
||||||
IRepository<BomComponent, Guid> bomComponentRepository,
|
IRepository<BomComponent, Guid> bomComponentRepository,
|
||||||
IRepository<BomOperation, Guid> bomOperationRepository,
|
IRepository<BomOperation, Guid> bomOperationRepository,
|
||||||
IRepository<ProjectType, Guid> projectTypeRepository,
|
IRepository<ProjectType, Guid> projectTypeRepository,
|
||||||
IRepository<ProjectStatus, Guid> projectStatusRepository
|
IRepository<ProjectStatus, Guid> projectStatusRepository,
|
||||||
|
IRepository<Project, Guid> projectRepository
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
_clock = clock;
|
_clock = clock;
|
||||||
|
|
@ -357,6 +359,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
||||||
_bomOperationRepository = bomOperationRepository;
|
_bomOperationRepository = bomOperationRepository;
|
||||||
_projectTypeRepository = projectTypeRepository;
|
_projectTypeRepository = projectTypeRepository;
|
||||||
_projectStatusRepository = projectStatusRepository;
|
_projectStatusRepository = projectStatusRepository;
|
||||||
|
_projectRepository = projectRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static IConfigurationRoot BuildConfiguration()
|
private static IConfigurationRoot BuildConfiguration()
|
||||||
|
|
@ -2480,6 +2483,39 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
|
||||||
IsActive = item.IsActive
|
IsActive = item.IsActive
|
||||||
}, autoSave: true);
|
}, autoSave: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (var item in items.Projects)
|
||||||
|
{
|
||||||
|
var exists = await _projectRepository.AnyAsync(x => x.Code == item.Code);
|
||||||
|
if (exists)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var projectType = await _projectTypeRepository.FirstOrDefaultAsync(x => x.Name == item.ProjectTypeName);
|
||||||
|
var projectStatus = await _projectStatusRepository.FirstOrDefaultAsync(x => x.Name == item.StatusName);
|
||||||
|
var customer = await _partnerRepository.FirstOrDefaultAsync(x => x.Code == item.CustomerCode);
|
||||||
|
var employee = await _employeeRepository.FirstOrDefaultAsync(x => x.Code == item.ManagerCode);
|
||||||
|
|
||||||
|
await _projectRepository.InsertAsync(new Project
|
||||||
|
{
|
||||||
|
Code = item.Code,
|
||||||
|
Name = item.Name,
|
||||||
|
Description = item.Description,
|
||||||
|
ProjectTypeId = projectType?.Id,
|
||||||
|
StatusId = projectStatus?.Id,
|
||||||
|
Priority = item.Priority,
|
||||||
|
CustomerId = customer?.Id,
|
||||||
|
ManagerId = employee?.Id,
|
||||||
|
StartDate = item.StartDate,
|
||||||
|
EndDate = item.EndDate,
|
||||||
|
ActualStartDate = item.ActualStartDate,
|
||||||
|
ActualEndDate = item.ActualEndDate,
|
||||||
|
Budget = item.Budget,
|
||||||
|
ActualCost = item.ActualCost,
|
||||||
|
Currency = item.Currency,
|
||||||
|
Progress = item.Progress,
|
||||||
|
IsActive = item.IsActive
|
||||||
|
}, autoSave: true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,32 @@ public class TenantSeederDto
|
||||||
//Project
|
//Project
|
||||||
public List<ProjectTypeSeedDto> ProjectTypes { get; set; }
|
public List<ProjectTypeSeedDto> ProjectTypes { get; set; }
|
||||||
public List<ProjectStatusSeedDto> ProjectStatuses { get; set; }
|
public List<ProjectStatusSeedDto> ProjectStatuses { get; set; }
|
||||||
|
public List<ProjectSeedDto> Projects { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ProjectSeedDto
|
||||||
|
{
|
||||||
|
public string Code { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
|
||||||
|
public string ProjectTypeName { get; set; }
|
||||||
|
public string StatusName { get; set; }
|
||||||
|
public string Priority { get; set; }
|
||||||
|
public string CustomerCode { get; set; }
|
||||||
|
public string ManagerCode { get; set; }
|
||||||
|
|
||||||
|
public DateTime StartDate { get; set; }
|
||||||
|
public DateTime EndDate { get; set; }
|
||||||
|
public DateTime? ActualStartDate { get; set; }
|
||||||
|
public DateTime? ActualEndDate { get; set; }
|
||||||
|
|
||||||
|
public decimal Budget { get; set; }
|
||||||
|
public decimal ActualCost { get; set; }
|
||||||
|
public string Currency { get; set; }
|
||||||
|
public int Progress { get; set; }
|
||||||
|
|
||||||
|
public bool IsActive { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ProjectStatusSeedDto
|
public class ProjectStatusSeedDto
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue