Compare commits

..

1217 Commits

Author SHA1 Message Date
7e20807325 corrected the distinct by error 2025-10-11 15:57:53 +05:30
186486d934 Added the new API to get organizations for dropdown 2025-10-11 15:36:52 +05:30
d07f0311ae Optmized the work status master APIs 2025-10-11 13:52:20 +05:30
2f6031e62c revert e02636b6b66287a22fcfb34c150aece1b136cc68
revert Optmized the work status master APIs
2025-10-11 08:19:59 +00:00
e02636b6b6 Optmized the work status master APIs 2025-10-11 13:48:36 +05:30
bad784e147 Optimized the contact related msater APIs 2025-10-11 12:59:31 +05:30
886d0bb3b1 Clearing the employee profile cache when selecting the tenant 2025-10-10 18:32:01 +05:30
74dd9eeb8d organization Tenant Mapping is already existed then return error message 2025-10-10 17:53:23 +05:30
1939a63d9a Assigning the appilcation role to root employee of the any organization 2025-10-10 17:05:43 +05:30
c07db9f94d removed employee project cache when adding the subscription 2025-10-10 15:59:42 +05:30
53da15416a Removing all employees profile from cache for certain tenant 2025-10-10 15:46:56 +05:30
a809bdd469 Merge pull request 'Sloved issues of permissions not been assigned when updating the subscription' (#144) from Ashutosh_Bug#1461 into main
Reviewed-on: #144
2025-10-10 08:49:19 +00:00
bb2c098cb9 Sloved issues of permissions not been assigned when updating the subscription 2025-10-10 14:17:32 +05:30
bd3b70f4ea Merge pull request 'Added the RequestedAt and RequestedBy in attendance' (#143) from Ashutosh_Enhancement#1452 into main
Reviewed-on: #143
2025-10-10 07:06:25 +00:00
000cef3bb7 enhanced the get team based on project 2025-10-10 12:36:11 +05:30
522deae8f7 Added the RequestedAt and RequestedBy in attendance 2025-10-10 12:08:53 +05:30
9a8aa4f5ce Changed the index of reject button in expense controller 2025-10-09 16:52:34 +05:30
af92ab977b Added the get filter API 2025-10-09 16:47:06 +05:30
c06dc8ebe7 Selecting the default services in project allocation 2025-10-09 16:00:26 +05:30
8609db64d2 Made the serviceId is nullable in project allocation 2025-10-09 15:23:37 +05:30
e831f50505 Removed the logic to save the FCM from verify FCM API 2025-10-08 11:33:34 +05:30
ba88fbced6 Removed the FCM token from MPIN verify API 2025-10-08 11:27:30 +05:30
13d2e1cd7d Corrected the mistake of showing all images except selected project 2025-10-07 12:34:48 +05:30
26acfec408 Added the todays completed tasks 2025-10-06 18:33:37 +05:30
3bd38f3c68 Changed the logic in API to get Attendance logs by employee 2025-10-06 16:10:58 +05:30
2e29dc9946 Chnaged the check for persentages 2025-10-06 14:42:29 +05:30
db752a4678 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api 2025-10-06 13:16:31 +05:30
245182eb07 Added the attendance persentage and task persentage 2025-10-06 13:15:48 +05:30
9daf76c6eb return all employees when allEmployee=true 2025-10-05 00:24:26 +05:30
c33afa58c3 Solved spelling mistake 2025-10-04 17:51:58 +05:30
4ceb5c3cb2 Changed the authontication logic for delete contact notes 2025-10-04 17:50:18 +05:30
d0dabf776b Added the condition to not get services object in project allocation 2025-10-04 17:26:08 +05:30
04223578ad Added the ExpenseUId in expenses tables 2025-10-04 16:56:04 +05:30
f94a7de4ab change email in complete system 2025-10-01 17:46:11 +05:30
eb3a65428e Modyfied the attendance report API 2025-10-01 15:09:51 +05:30
8ddb414e91 Added the organization type in assignd organization list 2025-09-30 18:08:07 +05:30
d8329f1fab Removed the tenant check from master services 2025-09-30 17:10:30 +05:30
d0912cca56 Merge pull request 'Organization_Management' (#142) from Organization_Management into main
Reviewed-on: #142
2025-09-30 09:05:14 +00:00
d957c692f1 Added new API to get monthly attendance report 2025-09-30 14:34:29 +05:30
40ca680f45 Added the Organization sub-menu in project menu in MenuStaticMaster 2025-09-30 12:42:29 +05:30
8dee7b0fa2 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Organization_Management 2025-09-30 12:36:39 +05:30
1e1fe6692d Added the permission check in note create API 2025-09-30 12:34:58 +05:30
0df13975a7 Added logic to add hard coded menu if menu from mongodb connot be found 2025-09-30 12:30:04 +05:30
8fb5aa632d Removed the cache get logic from expenses get APIs 2025-09-30 12:26:10 +05:30
7e4d4b0f5b Chnaged the log to check if sprid in used wile searching 2025-09-30 11:40:43 +05:30
64bde99ab5 Corrected the check to add self organization 2025-09-30 10:18:15 +05:30
90851a3349 Added HasAdmin check when adding note for contact 2025-09-29 17:22:45 +05:30
2c0cd87227 Sloved the issue in get task list where user is getting the list of all tasks accept the task of selected project 2025-09-29 16:50:38 +05:30
c3670eaab9 Added Primary organization of tenant in get organization list 2025-09-29 14:48:42 +05:30
1cd8203d27 Added the PMC, Promotor and Primary organization of the tenant in list of assigned organization to project 2025-09-29 14:33:57 +05:30
5df66b79ca Added check to check the Designation in create contact API 2025-09-29 11:15:14 +05:30
31da8a4402 Added the AsNoTracking in GetCurrentEmployeeAsync and get permission Ids helper functions 2025-09-29 10:18:44 +05:30
27a2610388 Added the HasApplicationAccess in Employee VM 2025-09-29 10:08:14 +05:30
cd175c4fdf Added the services in organization details API 2025-09-29 09:42:21 +05:30
d6145ee0ba Added the forgin key for approver in attends table 2025-09-27 14:50:51 +05:30
04086ed7e0 Creating the application user in manage employee API through mobile 2025-09-27 14:18:42 +05:30
a9b4b79ee4 Added the service ID and Organization ID in get project allocation API 2025-09-27 10:33:42 +05:30
70092e5601 Added the created by and updated by in organization update API 2025-09-26 16:12:46 +05:30
33cd7113a7 Merge pull request 'Add new API to get organization details' (#141) from Ashutosh_Task_#1362 into Organization_Management
Reviewed-on: #141
2025-09-26 10:26:46 +00:00
1d4d61ef2c Add new API to get organization details 2025-09-26 15:53:38 +05:30
f93686c1df Removed the Activity from master menu 2025-09-26 14:59:24 +05:30
f2213db807 Added organizationId filter to the employee list for organization assiged to the project 2025-09-26 11:43:44 +05:30
eddbdde355 Merge pull request 'Added new API to get list of employees assigned to project and filtered by services and organizations' (#140) from Ashutosh_Task#1360 into Organization_Management
Reviewed-on: #140
2025-09-26 06:02:25 +00:00
0048281616 Added new API to get list of employees assigned to project and filtered by services and organizations 2025-09-26 11:30:28 +05:30
f248557704 Optimized the Organization APIs 2025-09-25 17:17:21 +05:30
18d590ccbe Added the promotor and PMC in project VM 2025-09-25 16:56:21 +05:30
4c6070fee5 Merge pull request 'Added the service Id in Query parameter to get infra details API' (#139) from Ashutosh_Enhancement_#1355 into Organization_Management
Reviewed-on: #139
2025-09-25 10:16:20 +00:00
0fb5c3935d Added the service Id in Query parameter to get infra details API 2025-09-25 15:45:47 +05:30
2f052174aa Changed the VM when creating and updating project 2025-09-25 12:37:57 +05:30
2258771229 Merge pull request 'Enhanced the Create and update project API' (#138) from Ashutosh_Enhancement#1347 into Organization_Management
Reviewed-on: #138
2025-09-25 06:50:39 +00:00
e4e49595e6 Enhanced the Create and update project API 2025-09-25 12:18:44 +05:30
44d2827dcc Added the global services ids list parameter in create tenant DTO 2025-09-25 09:54:08 +05:30
fef3db297c Mapping the tenant with organization when creating the organization 2025-09-24 19:43:45 +05:30
0d4d4c3754 Seprated the service ID in task list from filter 2025-09-24 19:35:16 +05:30
162d735d16 Added new API to get employee list 2025-09-24 19:20:21 +05:30
38e1f7a0fc Added no tracking in upate bucket API 2025-09-24 17:47:08 +05:30
fe1dfd7293 Getting the employee list of user's organization only 2025-09-24 17:23:32 +05:30
42da1f12cf Added the assigned by in organization mapping 2025-09-24 17:20:09 +05:30
c5da400e6b Enhanced the manage employe API 2025-09-24 13:06:51 +05:30
a405cfec13 If team meamber not found send empty 2025-09-23 13:24:19 +05:30
bc3e927777 Solved the typo 2025-09-23 13:17:58 +05:30
c304b615f7 Fixed the spelling mistake 2025-09-23 13:15:11 +05:30
8d64e9702d Added the get filter API in image gallery 2025-09-23 13:05:23 +05:30
98acbb66d6 Merge pull request 'Added the new parameter of service ids in image gallery filter' (#137) from Ashutosh_Enhancement_#1297 into Organization_Management
Reviewed-on: #137
2025-09-23 06:26:27 +00:00
81d1137939 Added the new parameter of service ids in image gallery filter 2025-09-23 11:55:29 +05:30
0c6f5e0df0 Merge pull request 'Added the filter and pagenation in get task list API' (#136) from Ashutosh_Enhancement_#1293 into Organization_Management
Reviewed-on: #136
2025-09-23 06:15:47 +00:00
f45bc29a44 Added the filter and pagenation in get task list API 2025-09-23 11:34:14 +05:30
ef84ba34da Addedd the tenant ID in employee profile cache 2025-09-21 18:10:25 +05:30
bd421d45aa Added the Jobrole in attendance 2025-09-21 16:37:15 +05:30
777a72c71f Filtered the employees in attendance by organization 2025-09-21 16:11:23 +05:30
264c9466c9 Chnaged the logic check if tenant and organization have any relation 2025-09-21 15:37:55 +05:30
a1f6552347 Added OrganizationID in JWT token 2025-09-21 11:44:38 +05:30
06c5457981 Added the new API to get detailed list of services and enhanced the get work-items list to filter by service 2025-09-21 11:36:09 +05:30
0ba4ccf45c Added the logic to filter by service Id 2025-09-20 19:25:33 +05:30
84e2f840b4 distinct the organization in Get Assigned Organizations To Project API 2025-09-20 18:37:08 +05:30
34b89c4718 Solved the rebase issues 2025-09-20 18:06:37 +05:30
d0745e8688 Merge pull request 'Firebase_Implementation' (#135) from Firebase_Implementation into main
Reviewed-on: #135
2025-09-20 12:11:54 +00:00
7d85cb5f4c Added the serviceId in project allocation 2025-09-20 17:05:30 +05:30
9b59a4d6b6 Added the organization filter in get project allocation API 2025-09-20 14:58:32 +05:30
7e0322c859 Chnage the keyword modefied to modified 2025-09-20 12:44:39 +05:30
05bfa48115 added the TenantStatus and Industry in get tenant list API 2025-09-20 12:30:37 +05:30
091d73958d Added the comma seprated project IDs to notification data 2025-09-20 12:25:48 +05:30
f45ada2be2 Changed the login endpoints 2025-09-20 12:06:27 +05:30
bcc416f47e Changed the Login Flow for auth controller and added the get tenant list and select tenant 2025-09-20 11:40:04 +05:30
ee1cb73fe5 Added the commit statement in assign organization to tenant API 2025-09-20 11:33:01 +05:30
eba1a70037 Added the data notification in delete employee API 2025-09-20 11:12:32 +05:30
2f03de97d6 Added the total pages, page number, tota count in response 2025-09-19 21:13:53 +05:30
a1ab143df5 Fixed the error of checking the updated date to uploaded date 2025-09-19 18:02:29 +05:30
64e6255458 Solved the rebase issuees 2025-09-19 17:51:27 +05:30
aa596b736d If service not exist in databse the not added in mapping 2025-09-19 16:56:31 +05:30
3884c74d9b First saving the project sevice mapping then the project org mapping 2025-09-19 16:46:41 +05:30
7f2b9f0ceb Merge pull request 'Added the API to get the organization list assigned to the project' (#134) from Ashutosh_Task#1246 into Organization_Management
Reviewed-on: #134
2025-09-19 10:36:49 +00:00
f633e11e97 Added the API to get the organization list assigned to the project 2025-09-19 16:04:32 +05:30
5fab8371ac Merge pull request 'Added the API to assign the organization to tenant' (#133) from Ashutosh_Task#1239 into Organization_Management
Reviewed-on: #133
2025-09-19 10:04:08 +00:00
2e0ea562fe Added the API to assign the organization to tenant 2025-09-19 15:31:07 +05:30
8c97c78408 Added the API to get organization type list 2025-09-19 14:53:55 +05:30
86102ef70d Merge pull request 'Added the API to get list of services according to the project and logged in employee' (#132) from Ashutosh_Task#1225 into Organization_Management
Reviewed-on: #132
2025-09-19 08:53:59 +00:00
009ac36e38 Changed the response message for get services API 2025-09-19 14:22:14 +05:30
d38bc4752a Added the API to get list of services according to the project and logged in employee 2025-09-19 14:15:41 +05:30
77db9a6bd9 Added the services in master menu list 2025-09-19 11:42:23 +05:30
d452faf6a9 Solved the misssig key word 2025-09-18 18:11:57 +05:30
2ce294904b Checking the project levelmpermission in project controller 2025-09-18 18:04:22 +05:30
1e66dd2017 Added the deassiged service from project API 2025-09-18 17:23:50 +05:30
aed6949187 Added IsActive In ProjectServiceMapping Table 2025-09-18 16:54:37 +05:30
b069e9f07d Changed the check of the add note API 2025-09-18 16:17:48 +05:30
d41c49af7b Removed the Document ID Uniqueness 2025-09-18 15:55:45 +05:30
a10b24523e Added the checks to check the Designation and Description in contact 2025-09-18 15:42:49 +05:30
efd8667774 Added the VM in assign organization to project 2025-09-18 15:18:33 +05:30
ac672d0cc2 Added the document ID in document controller firebase data notification 2025-09-18 15:04:41 +05:30
de883103d5 Added the assign organization to project API 2025-09-18 13:10:08 +05:30
bb31e33983 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Organization_Management 2025-09-18 12:02:44 +05:30
51d86d7bfc Merge pull request 'Ashutosh_Subscription_Plan' (#131) from Ashutosh_Subscription_Plan into main
Reviewed-on: #131
2025-09-18 06:32:18 +00:00
2039d84918 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Ashutosh_Subscription_Plan 2025-09-18 12:01:57 +05:30
0ecc07777f Resolved the multi-threading issue 2025-09-18 12:01:08 +05:30
0dd5633f2e Resolved the multi-threading issue 2025-09-18 11:53:05 +05:30
f8182494d2 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Organization_Management 2025-09-18 11:38:31 +05:30
dbd551e08c Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api 2025-09-18 11:34:03 +05:30
d9e0c2ee57 Resloved the issue #1125 2025-09-18 11:33:59 +05:30
db0d464ab5 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Organization_Management 2025-09-18 10:26:29 +05:30
55cae17ed1 Added the API og list organization 2025-09-18 10:25:59 +05:30
846b3ed6e3 Merge pull request 'Ashutosh_Get_All_Permission' (#130) from Ashutosh_Get_All_Permission into main
Reviewed-on: #130
2025-09-18 04:52:11 +00:00
3f8024421a Sending the data message to all employees asigned to the project 2025-09-18 10:07:05 +05:30
9d71a71a53 Sending the attendance data notification to all employees from the project 2025-09-18 09:56:39 +05:30
4a25158cc9 Added the Promoter and PMC in project 2025-09-17 18:09:58 +05:30
20b12cfcd4 Added the contactId in firebase for directory notification 2025-09-17 17:19:55 +05:30
0eb740fa25 Added the organization forgin key in tenant table and removed the tenantId from application user 2025-09-17 15:01:40 +05:30
5158153ee6 Added the forign key of organization in eployee table 2025-09-17 14:40:04 +05:30
4884bf5de0 Checking the manage infra permission when getting the infra 2025-09-17 13:17:38 +05:30
368fd37115 Removed the employee management from project-level permissions 2025-09-17 12:47:09 +05:30
68cd5acc9c Added the HasApplicationAccess parameter in employees table 2025-09-17 12:27:13 +05:30
30623d6bbc Added the create organization API 2025-09-17 12:01:22 +05:30
1e8c967d7a Added migration for Organization related permissions 2025-09-17 11:40:03 +05:30
cda8005b1b Added the Organization related permissions 2025-09-17 11:35:53 +05:30
8d97b2a687 Added the create global service API 2025-09-17 11:15:06 +05:30
061f287e8c Added the API to get global services 2025-09-17 11:01:34 +05:30
84baa3a147 Added the subscription list API in Market Controller 2025-09-16 18:17:43 +05:30
fae6d7bbe9 Added the CRUD operation for services, activity group, activity 2025-09-16 15:29:32 +05:30
0ef9d66cf1 Adding the models related to organizations 2025-09-16 15:27:44 +05:30
d9a1832e2e updated the get project-level permissions 2025-09-16 15:05:32 +05:30
122e7074b8 Added the GetAllPermissionFroProject API 2025-09-16 13:34:22 +05:30
cdc2afb688 Added the update bucket query 2025-09-16 11:36:38 +05:30
892facef40 Added the projectID and employeeID in document modification notification 2025-09-15 18:04:44 +05:30
0b150fed9a Checking the correct permission updating the notes 2025-09-15 17:04:18 +05:30
b17d1d30e5 taken the requried service from thread 2025-09-15 17:01:29 +05:30
a0789f7f8e Corrected the spell mistake in firebase keywords 2025-09-15 16:31:43 +05:30
7d30831408 Removed the requried from base64 when getting any attachment 2025-09-15 16:24:47 +05:30
87ebee8005 Added the firebase notification in document controller 2025-09-12 18:02:58 +05:30
a88446ceb5 Added the firebase notification in directory controller 2025-09-12 16:31:39 +05:30
5717bb6dac Added the joining date parameter when creating or update employee using the mobiles 2025-09-12 12:46:07 +05:30
cf35b8c773 Added the IsAttachmentRequried parameter to ExpensesTypeMaster table 2025-09-12 12:38:26 +05:30
5105da7b54 Resloved the rebase 2025-09-12 09:46:39 +05:30
e1b045f852 Merge pull request 'Document_Manager' (#129) from Document_Manager into main
Reviewed-on: #129
2025-09-11 04:12:00 +00:00
f75c31b3ce Added the check for checking uniquness of document ID 2025-09-10 11:52:13 +05:30
01f214a60b Added the TotalRecords parameter to get contact list API response 2025-09-10 10:27:24 +05:30
935f5345b9 Solved the rebase issues 2025-09-09 16:38:24 +05:30
5263e89df6 Merge pull request 'Directory_Refactor' (#128) from Directory_Refactor into Document_Manager
Reviewed-on: #128
2025-09-09 11:03:45 +00:00
7324537a90 Solved the rebase issues 2025-09-09 16:33:23 +05:30
caeac04d0d Added the logic to bypass the seat check condition 2025-09-09 15:29:26 +05:30
33ebee08db Merge pull request 'Mobile_Logger_Feature' (#127) from Mobile_Logger_Feature into Directory_Refactor
Reviewed-on: #127
2025-09-09 05:19:45 +00:00
d51d7da4f8 Merge branch 'Directory_Refactor' of https://git.marcoaiot.com/admin/marco.pms.api into Mobile_Logger_Feature 2025-09-09 10:49:13 +05:30
de08ceeb0d reduce the otp exprie time to 5 mins 2025-09-08 15:12:26 +05:30
ecabf52f2f splited the logic to get employee by projecr id 2025-09-08 15:09:25 +05:30
aa2a370467 getting the employee list filtered by tenant 2025-09-08 15:07:30 +05:30
73318060ec Added the distinct in get employee list 2025-09-08 14:58:16 +05:30
365439b2de only send employee with unique IDs when getting list 2025-09-08 14:49:14 +05:30
06db1adc52 Added the debug logs in log controller 2025-09-08 11:47:53 +05:30
4f77431541 Changed the folder name 2025-09-08 10:32:32 +05:30
1fd0837640 Solved the rebase error 2025-09-08 10:26:05 +05:30
672046d02e Added the contact note filter in get all contact notes API 2025-09-05 17:48:25 +05:30
48562235f5 Added the get filter APIs for contacts and contact notes 2025-09-04 16:57:37 +05:30
d507b9ede2 Intregating the project-level permissions in document controller 2025-09-04 14:52:25 +05:30
194764c9d6 Solving the rebase confilt 2025-09-04 12:42:44 +05:30
28caee40e3 Adding the overwriting the project-level permissions to tenant-level permission 2025-09-04 12:39:25 +05:30
4a13386546 Optimized the get employee list for project-level permission 2025-09-04 12:27:48 +05:30
b336bd3481 Added the API to get list of employee whom project-level is assigned 2025-09-04 12:19:27 +05:30
3a3e742296 Added the API to get modules for project level configuration 2025-09-03 18:08:43 +05:30
35ea41d1ce Added the file meta-data of file in details and get version API 2025-09-03 18:01:07 +05:30
0916abe464 Added the Manage project-level permissions API 2025-09-03 16:55:20 +05:30
961cc018cf Chnage response of get tag API 2025-09-03 16:05:35 +05:30
2e55d1e3c4 Added the get document tags API 2025-09-03 15:31:26 +05:30
c27b2a2ff1 Added the check to check the system defined types 2025-09-03 14:50:03 +05:30
cd489f45ae added the document categeory vm in document type 2025-09-03 13:15:15 +05:30
4c2b33472b Added the new condition while checking the document category or type by name 2025-09-03 12:51:07 +05:30
9b3324c27c Added the documents in mobile side menu 2025-09-03 11:46:14 +05:30
efc577f9a2 Corrected the equation to gt total number of pages 2025-09-03 11:06:22 +05:30
391d79af3e Created the structure for project-level-permissions APIs 2025-09-02 16:05:08 +05:30
830a9526dd Added the total page and count in list APis for documnets 2025-09-02 15:29:48 +05:30
067da422c2 Added the pagenantion to get version list API 2025-09-02 14:46:51 +05:30
c199e3e241 Added the end-point for maste APIs of document modules 2025-09-02 14:36:42 +05:30
1d50d4987a added the crud opration for document modules 2025-09-02 14:19:03 +05:30
de4d62ba78 added tags in documents details API 2025-09-01 20:56:25 +05:30
b6243f8100 Added the document category in details 2025-09-01 12:09:34 +05:30
727df6e828 Added the download permission to get persigned Url API 2025-08-30 10:27:42 +05:30
e34840fbb8 Added the entity Id in get list API 2025-08-29 18:27:35 +05:30
dd48e5071c Merge pull request 'Added the API to activate and deactivate the document' (#126) from Ashutosh_Task#1036 into Document_Manager
Reviewed-on: #126
2025-08-29 12:54:28 +00:00
242c345ce1 Added the API to activate and deactivate the document 2025-08-29 18:23:55 +05:30
2ca9dead1f Merge pull request 'Added the API to get document attachment details' (#125) from Ashutosh_Task#1029 into Document_Manager
Reviewed-on: #125
2025-08-29 11:48:16 +00:00
ec4756d888 Added the API to get document attachment details 2025-08-29 17:17:38 +05:30
03959f9b38 Merge pull request 'Added the API to get Pre-Signed Url by attachment ID' (#124) from Ashutosh_Task#1027 into Document_Manager
Reviewed-on: #124
2025-08-29 10:42:43 +00:00
ac69bcb339 Added the API to get Pre-Signed Url by attachment ID 2025-08-29 16:11:58 +05:30
a24db1716f Merge pull request 'Added the API to get old version list' (#123) from Ashutosh_Task#1026 into Document_Manager
Reviewed-on: #123
2025-08-29 10:14:48 +00:00
ec85fd8eb3 Added the API to get old version list 2025-08-29 15:44:15 +05:30
61f5b14fcc Merge pull request 'Added the API to verify or reject the document' (#122) from Ashutosh_Task#1025 into Document_Manager
Reviewed-on: #122
2025-08-29 07:41:07 +00:00
87cf37ca03 Added the API to verify or reject the document 2025-08-29 13:10:31 +05:30
0cdbd574db changing the documentDataId if attachment is not verified 2025-08-29 12:42:27 +05:30
72765fd491 Merge pull request 'Added the get filter for documents' (#121) from Ashutosh_Task#1013 into Document_Manager
Reviewed-on: #121
2025-08-29 06:56:16 +00:00
7e98429e10 Added the get filter for documents 2025-08-29 12:25:43 +05:30
759fa9324b Merge pull request 'Added the update document API' (#120) from Ashutosh_Task#1010 into Document_Manager
Reviewed-on: #120
2025-08-29 05:59:39 +00:00
d2af05b6a0 Added the update document API 2025-08-29 11:29:04 +05:30
6d207e8f7d Merge pull request 'Added the list document API' (#119) from Ashutosh_Task#1011 into Document_Manager
Reviewed-on: #119
2025-08-28 11:50:47 +00:00
cf2b07ee77 Added the list document API 2025-08-28 17:20:09 +05:30
08232ee34f Added uploaded by in response of upload document API 2025-08-28 15:13:44 +05:30
d57395efcd Merge pull request 'Added the upload document API' (#118) from Ashutosh_Task#1009 into Document_Manager
Reviewed-on: #118
2025-08-28 09:31:22 +00:00
75ae12a81e Added the upload document API 2025-08-28 15:00:16 +05:30
4c36cf266f Added Document Category and Document Type in master menu list 2025-08-28 14:31:55 +05:30
39ebc69da7 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Document_Manager 2025-08-28 12:53:46 +05:30
8ceac5aa91 Merge pull request 'Added the get list of Document type API' (#117) from Ashutosh_Task#1019 into Document_Manager
Reviewed-on: #117
2025-08-28 07:19:30 +00:00
4161506def Added the get list of Document type API 2025-08-28 12:48:13 +05:30
a89a2f076f Merge pull request 'Added the Get Document Category list API' (#116) from Ashutosh_Task#1018 into Document_Manager
Reviewed-on: #116
2025-08-28 06:47:43 +00:00
eac77e23d4 Added the Get Document Category list API 2025-08-28 12:17:05 +05:30
0ef9f0e62d Change the endpoint of request Demo API 2025-08-28 11:50:06 +05:30
6aaa38ba52 Fixed the spelling mistake 2025-08-28 11:41:32 +05:30
535a9924cc Merge pull request 'Added the tables for document management' (#115) from Ashutosh_Task#980 into Document_Manager
Reviewed-on: #115
2025-08-28 05:55:42 +00:00
3dfdb2ab5d Added the tables for document management 2025-08-28 11:22:31 +05:30
d3eebb2086 Merge pull request 'Tenant_Management' (#114) from Tenant_Management into main
Reviewed-on: #114
2025-08-28 05:13:09 +00:00
03f7a5ba14 Added new get menu list for mobile 2025-08-26 15:17:00 +05:30
6253ba7de3 Chnaged the logic of adding and removing the permissions 2025-08-25 15:21:02 +05:30
fdcbd9af5f Added the logic to only remove the employee permission if every module in subscription is not enabled 2025-08-25 12:57:15 +05:30
9765ce1b8f Added the check to check the max user in add subscription as well 2025-08-25 11:02:38 +05:30
5d8a5909bc Added the check to check the ma user count 2025-08-25 10:40:09 +05:30
2c841b3bd0 Resovled the mearge confilects 2025-08-25 10:22:51 +05:30
66716dda0f Sending the master list by name order 2025-08-25 10:19:39 +05:30
76ac9de014 Set logic the get all master table for super tenant 2025-08-24 14:12:55 +05:30
3864788d43 Changed the logic for super tenant 2025-08-24 13:57:56 +05:30
300f570907 Optimized the get master table list 2025-08-24 13:53:09 +05:30
e7705a5051 Added API to get Master Tables list dynamically 2025-08-24 13:38:39 +05:30
f85f1adb92 Added current plan feature details in tenant profile 2025-08-23 18:28:24 +05:30
9e11ca0008 added coments in appmenu controller 2025-08-23 18:23:26 +05:30
ff288448b0 Optimized the the Appmenu controller 2025-08-23 17:53:53 +05:30
4ebd49d0c8 Merge pull request 'Issues_Aug_1W' (#113) from Issues_Aug_1W into main
Reviewed-on: #113
2025-08-23 11:08:42 +00:00
7cfebd764c sloving the merage conflicts 2025-08-23 13:23:00 +05:30
5d2687f1e7 Merge pull request 'AppMenu : Implement Sidebar Menu with Permission-based Access Control' (#112) from AppMenu into Tenant_Management
Reviewed-on: #112
2025-08-23 07:49:59 +00:00
f97a59994e Sloving the Mearge conflict 2025-08-23 13:19:39 +05:30
68027ded77 If user has manage tenant permission then only showing the tenants he/she created 2025-08-23 13:07:20 +05:30
ea1e172c65 resolved conflicts 2025-08-23 12:45:20 +05:30
bd4f1d5e69 Added the IsRoot user Field in employee profile VM 2025-08-23 11:42:11 +05:30
da787cfe43 Removed the FCM token from login DTO and logic of adding FCM token to database from mobile login API 2025-08-23 11:17:28 +05:30
ac23a8724d Added page size the search emplyee API 2025-08-23 09:53:32 +05:30
540c3e75fd Changed the logic of validating 2025-08-22 17:27:53 +05:30
6f7fad1ae4 Added a new validation to check if the tenant is it's own tenant 2025-08-22 14:50:59 +05:30
88a7a90bfe Getting the permission through different scope 2025-08-22 12:55:07 +05:30
7eabd4fa73 Added the tenant ID in emplyee profile 2025-08-22 10:17:54 +05:30
452f4a7e5a Removed the unnesseary notification 2025-08-21 11:23:17 +05:30
0de2e3f75d Corrected the typo in method name 2025-08-21 09:50:10 +05:30
ca31c011e4 Addd code to remove duplicate FCM tokens 2025-08-20 17:11:16 +05:30
5ac1c2b798 Added the expiry date in FCM mapping table 2025-08-20 17:00:17 +05:30
cf51d4f37c Added the notification for expenses controller 2025-08-20 16:07:00 +05:30
445d02662a Merge pull request 'Restrict the user creation if the maximum user limit is reached' (#111) from Ashutosh_Bug#935 into Tenant_Management
Reviewed-on: #111
2025-08-20 06:50:20 +00:00
307c7c96c2 Optimized the helper function 2025-08-20 12:19:16 +05:30
bc935282a5 Restrict the user creation if the maximum user limit is reached 2025-08-20 12:12:12 +05:30
2b6e8b7c8a Added proper keyword for firebase notification 2025-08-20 11:19:16 +05:30
4af6891821 Optimized the Directory notes API 2025-08-20 10:55:16 +05:30
455cbc5cd4 Added the firebase to project created and update API 2025-08-19 16:04:56 +05:30
f6ce8dd4f6 Changed the logic to check if logout done by mobile APP 2025-08-19 15:39:34 +05:30
5538c3ae25 Removing the FCM Token if employee is logout 2025-08-19 15:25:20 +05:30
38450dce70 Firebase notification is Implemented in project infra 2025-08-19 12:07:44 +05:30
889b5a84b6 change the employee fetching logic in employe suspend employee 2025-08-19 11:46:14 +05:30
b4cb81772e Added the function to re activeate the employee 2025-08-19 11:31:14 +05:30
e8c8c92120 handle error 2025-08-18 23:31:18 +05:30
3ba954ac82 correct the order of haspermission method parameters 2025-08-18 18:22:50 +05:30
23473b33f0 Added firebase notification for task allocation 2025-08-18 17:14:27 +05:30
90a2b23c1a Added the condition to check if it is the root tenant 2025-08-18 12:41:00 +05:30
c84ea987c5 Added the pagenantion in employee search API 2025-08-18 12:21:01 +05:30
cf161e4a04 Only sending the feature that tenant has permission of 2025-08-18 11:46:42 +05:30
374e023cde added perfectly permssion checking coondition and fixed previous mistake 2025-08-18 10:29:53 +05:30
732cfbef3e added permission for fetch menu according feature permission 2025-08-18 09:37:16 +05:30
ff5f673475 initially added fetch menu api 2025-08-17 12:55:53 +05:30
288c0fe492 Adding the days to end date while adding or updating subscription rather than months 2025-08-16 17:26:42 +05:30
d240a79e49 Assigning the root employee to default when creating the tenant 2025-08-16 17:15:01 +05:30
d8870b8140 Added default entries for the tenant in master tables depending upon its plan 2025-08-16 16:59:36 +05:30
7b1238e7d6 Sending the notification to team member when task is assigned 2025-08-16 11:51:30 +05:30
4655aa948b Chnaged the firebase service-account json 2025-08-14 15:05:32 +05:30
f4cb08f472 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Firebase_Implementation 2025-08-14 14:45:13 +05:30
990b928a63 Added proper logs in firebase service 2025-08-14 11:46:40 +05:30
3d6926864d Added the current plan details in tenant details API 2025-08-14 11:06:55 +05:30
9a9876b7ca Chnaged the login notification body and title 2025-08-13 16:44:54 +05:30
884efdce61 Sending the data when marking the Attendance 2025-08-13 16:33:19 +05:30
ba5698f4b2 Fixed the typo 2025-08-13 16:04:30 +05:30
673102cb50 Changed the notification body and titile 2025-08-13 15:40:23 +05:30
2699439996 Made FCM token nullable for loginDTO 2025-08-13 15:21:35 +05:30
813bc70bda Added firebase in attendance record API 2025-08-13 15:15:14 +05:30
58b817be99 Added the firebase services 2025-08-13 11:52:44 +05:30
d74e64d1dc Merge pull request 'profile_page' (#110) from profile_page into main
Reviewed-on: #110
This branched is tested and deployed on  production
2025-08-13 05:44:45 +00:00
d113fc3c3d Sending the project degination in place of employee degination in allocation history API 2025-08-13 11:07:36 +05:30
47a3d6035c Changed the Parameter DeviceToken to FcmToken 2025-08-13 10:41:35 +05:30
7f4f266dd0 Changed the notification body 2025-08-13 10:35:24 +05:30
5cf6885a93 Added the FCMTokenMapping model 2025-08-13 10:27:13 +05:30
48fb5fd449 Sending the notification after sending the response 2025-08-13 10:21:07 +05:30
f19f759752 Added suspend tenant API 2025-08-12 14:49:23 +05:30
d9a454ca28 Added the update logs in mongoDB while updating tenant 2025-08-12 14:23:53 +05:30
b44fd6d49f Created the structure for set device token API 2025-08-12 14:09:16 +05:30
56977e3702 Added firebase nuget package 2025-08-12 12:00:59 +05:30
6f1a9cd892 solved the conflicts 2025-08-12 11:57:37 +05:30
44614f475b solve confilectes 2025-08-12 11:52:53 +05:30
7335ad23ce added the logs 2025-08-12 11:31:04 +05:30
c5385c0b06 Added logs in login-mobile 2025-08-12 10:54:40 +05:30
6017d87793 Taking token from model 2025-08-12 10:19:31 +05:30
f502adb6c6 added notofication in attendance 2025-08-12 10:15:24 +05:30
1b47fbdcf0 Testing the firebase notification added in login API 2025-08-12 10:03:28 +05:30
37c91d4432 resolving the rebase errors 2025-08-11 16:54:47 +05:30
0ba2874041 solving rebase 2025-08-11 16:52:19 +05:30
4bd3e59427 Sloving the rebase 2025-08-11 16:50:55 +05:30
4a78bb8074 Added updatelogs in update and delete bucket API 2025-08-11 16:37:41 +05:30
e7302ecd6c Added updatelogs in delete contact API 2025-08-11 14:40:49 +05:30
6688b76145 Added updatelogs in update contact API 2025-08-11 14:29:07 +05:30
21e1a7322c Saving the tenant subscription modification logs in mongo DB 2025-08-11 11:43:46 +05:30
ac0843ffe7 Solved migration error occured while rebasing 2025-08-11 11:05:21 +05:30
897a998b27 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into profile_page 2025-08-08 12:20:55 +05:30
7f0dd1c08a Sloved the rebase issue 2025-08-08 12:20:02 +05:30
de41db6219 Resolved the rebase issues 2025-08-08 12:19:31 +05:30
759d152a9a Resolving the Rebase issues 2025-08-08 12:00:14 +05:30
ef41990d7f Optimized the get list Notes API 2025-08-08 11:47:18 +05:30
5c411602bc Merge pull request 'Expanses_Management_Feature' (#109) from Expanses_Management_Feature into main
Reviewed-on: #109
2025-08-08 06:14:47 +00:00
830accbe98 Optimized the assign bucket API and delete bucket API in Directory module 2025-08-07 15:16:15 +05:30
9b241a0c70 Made MPIN to be 4 digit 2025-08-07 15:03:52 +05:30
3980c14d72 Optimized the contact update API, Delete API , Bucket list API, Create Bucket API, Update Bucket API without implementing cache 2025-08-07 13:28:32 +05:30
9c6bd2c053 Added update tenant API in tenant controller 2025-08-07 09:45:03 +05:30
0aee183fdd Showing profile of all emplyee event if it inactive 2025-08-06 17:54:37 +05:30
f02eb32143 Changed status code 401 to 403 2025-08-06 15:10:55 +05:30
9ef7946d89 Teannt porfile API Optimized 2025-08-06 15:05:48 +05:30
7555b73f02 Added an API to get task by employeeId 2025-08-06 14:51:55 +05:30
9edc0e645e Added to an API to get project assignment histery of an employee 2025-08-06 13:07:41 +05:30
c210e6e3f2 Added the Tenant Profile API 2025-08-06 12:41:32 +05:30
6b4e229f6b Added Currency in subscription list VM 2025-08-06 12:16:46 +05:30
fb1f34f950 Added new condition for checking the permission for expense Action API 2025-08-06 12:14:18 +05:30
cbcae9fb57 Optimized the CreateSubscriptionPlan API 2025-08-06 11:08:24 +05:30
640b80ea82 Subscription plan details added in update subscription API 2025-08-06 10:14:53 +05:30
c65d73ff87 Added new subscription details in add-subscription API 2025-08-06 09:47:16 +05:30
54bf49a005 Seprated the subscrption plan and subscription details and commented add-subscription and update-subscription 2025-08-06 09:36:40 +05:30
60a3b3ab22 Added new API check if user with email exists or not 2025-08-05 11:18:31 +05:30
7bf30d722b Optimzed the add subscription API 2025-08-04 17:01:02 +05:30
19aedfb648 Chnage the cache logic 2025-08-04 15:45:04 +05:30
33538c25b7 Chnaged get query 2025-08-04 14:51:05 +05:30
c3571f76b8 Changed the if condition in expense list API 2025-08-04 14:46:40 +05:30
1072a2da03 Added mongoDB string in appsetting 2025-08-04 12:39:28 +05:30
b9f2bc53c8 Added updated at in action API 2025-08-04 12:26:33 +05:30
545018dde1 If frequency is null send all prices for all plans 2025-08-04 12:24:37 +05:30
c708fa1ea1 Crrocted the typo in SubScription Plans 2025-08-04 12:16:40 +05:30
53a2c5d87c Added API to get plan List and add subscription to specific tenant 2025-08-04 12:10:52 +05:30
30fa924d0f added the date in update logs 2025-08-04 11:12:07 +05:30
2c94854f57 Showing the draft of self only 2025-08-04 09:46:56 +05:30
6c394f40ad added PermissionKey inside MenuItem and start to making get api 2025-08-04 09:46:40 +05:30
ee4e3f713e added two more end-point for Add Item and SubItem 2025-08-03 11:33:08 +05:30
5988a98016 created edit MenuItem and subMenuItem end -points 2025-08-03 02:20:51 +05:30
cc5badeb0f create menu api created 2025-08-02 14:45:38 +05:30
2ccae935f3 Sending the ExpenseLogs in Details API 2025-08-02 12:48:20 +05:30
001bb6447d corrected the typo 2025-08-02 09:45:56 +05:30
c8435020a4 Chnaged the function to chek if base64 is valid or not 2025-08-01 18:22:31 +05:30
a7392a515d Added new logs in expense update API 2025-08-01 17:50:59 +05:30
3915e9b9d0 Correct Typo of OrganizationSize and OrganizationName 2025-08-01 16:43:07 +05:30
8210e250a1 added new parameter tenant table 2025-08-01 16:22:12 +05:30
eaf6284a57 Order nextStatus by it name 2025-08-01 16:18:17 +05:30
56d3b754d9 side bar Menu Model define 2025-08-01 14:50:00 +05:30
fdac2e06e1 Added get tenant list API 2025-08-01 13:17:49 +05:30
555bb87779 Validating the null objects while saving the object in cache 2025-08-01 12:15:24 +05:30
0be021448d Added the date filert in mongo get function also 2025-08-01 11:34:23 +05:30
ff0bead3a0 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Tenant_Management 2025-08-01 09:39:16 +05:30
4808d6e77b COrrected the seppling mistake for projectDetails API 2025-08-01 09:03:12 +05:30
59459acaee Only sending 10 employees if project Id is not provided 2025-07-31 19:06:26 +05:30
e565a80f7a Optimized the create tenant API 2025-07-31 18:56:19 +05:30
732182a672 Added new API to fetch basic employee list 2025-07-31 17:26:09 +05:30
b7d770716a Created the API ot Create new Tenant 2025-07-31 16:54:06 +05:30
d001366d77 Merge branch 'main' of https://git.marcoaiot.com/admin/marco.pms.api into Expanses_Management_Feature 2025-07-31 11:30:38 +05:30
7fe8dc60cb Merge pull request 'Issues_July_4W' (#108) from Issues_July_4W into main
Reviewed-on: #108
the branch is deloyed on production
2025-07-31 05:52:51 +00:00
36db35d90e Sending every project exists in expense table 2025-07-31 11:15:37 +05:30
1c9008ca62 Added the search funcationality abd chnaged the cache object 2025-07-31 10:28:45 +05:30
1a0641162c Added the currency master table 2025-07-30 15:44:19 +05:30
d28f37714f Added new status and change expesne status from tenant scop to system scope 2025-07-30 12:24:19 +05:30
388979ef82 Chnage Reviewed to Mark as Reviewed in expenses status 2025-07-30 10:08:26 +05:30
4325dffc06 change ExpensesReimburse from list to single entity in expense details view model 2025-07-30 09:34:16 +05:30
0c1cb98f5b Added the code to save reimbursement in database 2025-07-29 18:11:33 +05:30
f4368ae4e3 change display name fo expense status from Paid to Mark as Paid 2025-07-29 17:17:57 +05:30
ce4e52e69d Chnage the name of Prosecc Pending to payment Payment pending 2025-07-29 15:59:12 +05:30
6c32a48095 Changed the display names of expense status 2025-07-29 15:47:49 +05:30
9e15cf0447 Optimized the Create contact API in directory module 2025-07-29 15:00:23 +05:30
0b2883af0f Added proper reponse message in expense APIs 2025-07-28 18:00:37 +05:30
53a93542e9 Optimized the Get contact details API 2025-07-28 14:50:48 +05:30
5b091a8d6f Rewrite the uf condiotn in get expense details API 2025-07-28 11:18:26 +05:30
61741331e0 Corrected the feaching logic for expense delete API 2025-07-28 10:37:18 +05:30
019ef5d997 Optimized the contact list API in Directory Controller 2025-07-26 14:57:05 +05:30
7619ce9820 FIltering the master list by active and inactive 2025-07-26 09:17:26 +05:30
57d2b03c02 Change the id else logic to show proper message upon deletion or resotation of master entity in expenses module 2025-07-26 09:11:04 +05:30
aa47bfe59c Added an API to modify isActive parameter in Payment mode master table for that tenant 2025-07-25 13:06:28 +05:30
f1e9a8655a Added an API to modify isActive parameter in Expense status master table for that tenant 2025-07-25 13:02:13 +05:30
b4931aafd6 Added an API to modify isActive parameter in Expense type master table for that tenant 2025-07-25 12:54:49 +05:30
e31e19ed74 Added an API to update expenses status to master table for that tenant 2025-07-25 12:28:06 +05:30
2ad0638d4f Added applied filters in response 2025-07-25 12:26:34 +05:30
a196906bf9 Added an API to update payment mode to master table for that tenant 2025-07-25 12:07:16 +05:30
5b5aa9f77a Added an API to update Expense type to master table for that tenant 2025-07-25 11:52:47 +05:30
cad631ec7a Added the end point for add expenses status API 2025-07-25 11:07:15 +05:30
9cd9bac975 Added an API to add new Expense status to master table for that tenant 2025-07-25 10:55:25 +05:30
1834c103f0 Added an API to add new payment mode to master table for that tenant 2025-07-25 10:36:57 +05:30
e1102c2978 Added an API to add new Expense type to master table for that tenant 2025-07-25 10:26:29 +05:30
62956d6b12 solved the mearge error 2025-07-24 17:28:27 +05:30
c2fe726f0c Added signalR in update expesne API 2025-07-24 16:16:30 +05:30
c881964ab1 Added proper validation and logs in get expesne status, expenses type and payment mode APIs 2025-07-24 16:07:39 +05:30
809d64e296 Added permission IDs in expesne status master View model 2025-07-24 16:03:23 +05:30
36163e97cc Merge pull request 'Added Designation Parameter in Contacts and Implement in Related APIs' (#104) from Ashutosh_Enhancement_#631 into Issues_July_4W
Reviewed-on: #104
2025-07-24 10:04:45 +00:00
57d7b4c07b Solved the issue of not showing final status in list and details API of expesne model 2025-07-24 10:38:31 +05:30
a1db851edd Added peoper return messages and validations in update expesnse API 2025-07-24 10:15:33 +05:30
8cc6584e7c will be pushed in another branch
revert Made MPIN to be 4 digit
2025-07-23 12:47:45 +00:00
5926ec6655 will be pushed in another branch
revert Changed the function from GetProjectDetailsAsync to GetProjectDetailsOldAsync
2025-07-23 12:47:22 +00:00
346f2cebcb Changed the function from GetProjectDetailsAsync to GetProjectDetailsOldAsync 2025-07-23 18:11:10 +05:30
468bfdf635 Made MPIN to be 4 digit 2025-07-23 18:09:52 +05:30
8b5b0aed4c Added proper logs to all Expesne APIs 2025-07-23 18:02:12 +05:30
ae1222bb96 Added the API to featch list of suppler names from expenses 2025-07-23 17:31:15 +05:30
b6dfb30f92 Create API base for delete expense API 2025-07-23 17:22:19 +05:30
4370d5a350 Adsing file to delete from S3 in mongoDB while update expenes 2025-07-23 16:24:59 +05:30
0095cd54f6 Added persigned Urls in Expesne Details API 2025-07-23 12:50:42 +05:30
4a762e4983 commented un wanted code 2025-07-23 10:58:16 +05:30
3083083148 Created the get Expense details API 2025-07-23 10:51:58 +05:30
73cf85a1cc Added cache to expenses get list and create expense APIs 2025-07-23 09:56:01 +05:30
d536b9c99c Added proper namespances and changed the getProjectdetails to getProjectDetailsOld 2025-07-22 14:23:39 +05:30
cfbfbf2e2b Renamed the CacheHelper To Helpers 2025-07-22 10:53:55 +05:30
5be154a9f1 Added totalPages , totalEntites and Currect page in response of get expenses list 2025-07-22 09:58:13 +05:30
2449d2a518 FIxed the database transaction error 2025-07-21 18:50:08 +05:30
1fffde6d7f Solved the database transcation error 2025-07-21 18:39:34 +05:30
f9213b6040 Completely optimmized the Action API 2025-07-21 18:21:51 +05:30
282d33d8b2 Optimized and enchance the created expense API 2025-07-21 13:05:04 +05:30
839bc360f3 Added skeleton for action and update API. 2025-07-21 12:29:33 +05:30
3b4b09783b Completed the get expenses list API with optimized code 2025-07-19 20:32:06 +05:30
c1845dd8b7 Change the ExpanseController to ExpenseController 2025-07-19 19:05:07 +05:30
741acb194e Added the status Mapping table in database 2025-07-19 17:10:02 +05:30
448d586b94 Changed the endpoint names in expense controller 2025-07-19 16:21:54 +05:30
c27ffe3a28 Addd a table to save logs of expenses 2025-07-19 16:13:37 +05:30
84f5da25f6 Added the get API in Expenses module 2025-07-19 15:49:23 +05:30
15f100308f Added created API to create expenses entity 2025-07-19 15:41:27 +05:30
8e69219e73 Added all get lsit for Expenses-Type, Expenses-Status and payment-mode 2025-07-19 15:02:48 +05:30
cc2e545442 Added created by and created at in expenses model 2025-07-19 15:00:21 +05:30
0b1d2669ca Improved the data seeder function 2025-07-19 14:58:47 +05:30
cf01fd1138 Added models for Expenses management models and migrations 2025-07-19 13:12:47 +05:30
51b379916f Solving the rebase errors 2025-07-18 18:43:22 +05:30
027d6a8c3b Solving the rebase error 2025-07-18 18:40:41 +05:30
1d5b0a9b06 Created an Utility function store logs in mogoDB 2025-07-18 18:39:05 +05:30
afe20b404a Merge pull request 'Ashutosh_Refactor' (#107) from Ashutosh_Refactor into main
Reviewed-on: #107
2025-07-18 13:01:28 +00:00
d84b01473a Merge pull request 'Created an Utility function store logs in mogoDB' (#106) from Ashutosh_Task#767 into Expanses_Management_Feature
Reviewed-on: #106
2025-07-18 11:05:02 +00:00
328c6ec4e3 When sending the report before data has been taken from cache not from database change it to both 2025-07-18 16:03:53 +05:30
b614ca93e6 Created an Utility function store logs in mogoDB 2025-07-18 13:00:50 +05:30
7b2a3887de Solved the rebase issues 2025-07-17 17:36:58 +05:30
0ac4c23e74 Merge branch 'Ashutosh_Refactor' of https://git.marcoaiot.com/admin/marco.pms.api into Ashutosh_Refactor 2025-07-17 17:23:08 +05:30
b71935dd1f Removed commented code from project Cache 2025-07-17 17:23:02 +05:30
c8978ee9b1 added new function delete all employee entries from cache 2025-07-17 17:23:02 +05:30
0ecf258661 Deleted the unused variable 2025-07-17 17:23:01 +05:30
30d614fa11 Added the logs setp in program.cs 2025-07-17 17:23:01 +05:30
5deb97d73b Added one more condition to check if active is false while removing the employee from buckets 2025-07-17 17:23:01 +05:30
6ac28de56a Removed the reassgining of same object 2025-07-17 17:23:01 +05:30
8735de3d93 Remove the projectHelper and ProjetsHelper and move its bussiness logic to project services 2025-07-17 17:23:01 +05:30
c8ca2d5c49 Optimization of WorkItem Delete API in Project Controller 2025-07-17 17:23:00 +05:30
eabd31f8cf Optimized the Manage infra API in Project Controller 2025-07-17 17:23:00 +05:30
57b7f941e6 Optimized the manage task API in projectController 2025-07-17 17:23:00 +05:30
c90f39082a Optimized the project allocation by employee Id Apis 2025-07-17 17:23:00 +05:30
c03fae4b65 Added Sonar files in git ignore 2025-07-17 17:23:00 +05:30
168922c278 Optimized the Project Allocation API 2025-07-17 17:22:59 +05:30
72dccc0c6a Added Employee ID of creater to bucket in Employee IDs 2025-07-17 17:22:59 +05:30
7914cf20d4 Removed unused code from employee cache class 2025-07-17 17:22:59 +05:30
80149f05f7 Solved the issue of project is not updating properly 2025-07-17 17:22:59 +05:30
560d2f2d4d adde functionality to delete workItems from cache 2025-07-17 17:22:59 +05:30
f4ca7670e3 Refactored: Moved business logic from ProjectController to ProjectService 2025-07-17 17:22:58 +05:30
36eb7aef7f Optimized the Update project API 2025-07-17 17:22:58 +05:30
ca34b01ab0 Optimized the Get project By ID API 2025-07-17 17:22:58 +05:30
b78f58c304 Solved Concurrency Issue 2025-07-17 17:22:58 +05:30
c359212ee5 Optimized both get Project list API and get Project list basic API 2025-07-17 17:22:58 +05:30
7d160a9a52 Refactored the function to add project in cache and added auto Mapper 2025-07-17 17:22:57 +05:30
3bc51f9cd9 Refactor project report APIs to improve performance and readability 2025-07-17 17:22:57 +05:30
3a45bded08 Merge pull request 'Attendance_Weidget_feature' (#105) from Attendance_Weidget_feature into main
Reviewed-on: #105
2025-07-17 11:50:32 +00:00
5e84ee9345 Removed commented code from project Cache 2025-07-17 17:16:16 +05:30
7c8a80addc Merge branch 'Ashutosh_Refactor' of https://git.marcoaiot.com/admin/marco.pms.api into Ashutosh_Refactor 2025-07-17 17:02:00 +05:30
079a380422 Deleted the unused variable 2025-07-17 17:01:51 +05:30
5b0e9ffb7c added new function delete all employee entries from cache 2025-07-17 16:38:39 +05:30
c6ba233e6d Added the logs setp in program.cs 2025-07-17 16:06:54 +05:30
0ec507c97c Included the jobrole when feaching employee list 2025-07-17 15:31:05 +05:30
760b4638e6 Added one more condition to check if active is false while removing the employee from buckets 2025-07-17 12:53:01 +05:30
2a3c75b0c8 Removed the reassgining of same object 2025-07-17 12:42:02 +05:30
d1106bc86b Can able update note of deleted not also 2025-07-17 12:01:47 +05:30
ccce0d48d5 Remove the projectHelper and ProjetsHelper and move its bussiness logic to project services 2025-07-17 10:17:57 +05:30
089ae7e9e5 Optimization of WorkItem Delete API in Project Controller 2025-07-16 18:39:29 +05:30
3f7925aa72 Optimized the Manage infra API in Project Controller 2025-07-16 18:15:43 +05:30
0859284f4a Merge branch 'Attendance_Weidget_feature' of https://git.marcoaiot.com/admin/marco.pms.api into Attendance_Weidget_feature 2025-07-16 18:00:27 +05:30
bbd2054867 only checking if the user have permission of project or not only 2025-07-16 18:00:15 +05:30
e4246df315 Changed the business logic of teams and tasks API in DashboardController to accept project ID and provide data according to project ID or project IDs assigned to logged in user 2025-07-16 18:00:15 +05:30
237b178107 Replace lazy loading with eager loading 2025-07-16 17:52:25 +05:30
c79cbf32ea Optimized the manage task API in projectController 2025-07-16 15:08:53 +05:30
2889620c1c only checking if the user have permission of project or not only 2025-07-16 14:49:34 +05:30
08e8e8d75f Changed the business logic of teams and tasks API in DashboardController to accept project ID and provide data according to project ID or project IDs assigned to logged in user 2025-07-16 12:39:16 +05:30
c3da83d165 Optimized the project allocation by employee Id Apis 2025-07-15 16:37:57 +05:30
9d0c16b887 Added Sonar files in git ignore 2025-07-15 15:37:15 +05:30
823deb17cc Optimized the Project Allocation API 2025-07-15 15:30:41 +05:30
f406a15508 Added Employee ID of creater to bucket in Employee IDs 2025-07-15 15:21:48 +05:30
a64ce4fb02 Removed unused code from employee cache class 2025-07-15 14:34:26 +05:30
5369bbae29 Solved the issue of project is not updating properly 2025-07-15 13:09:27 +05:30
73aa1d6181 adde functionality to delete workItems from cache 2025-07-15 12:44:38 +05:30
5de59f0292 Refactored: Moved business logic from ProjectController to ProjectService 2025-07-14 18:45:23 +05:30
e769c161f4 Optimized the Update project API 2025-07-14 17:00:28 +05:30
c5d9beec04 Optimized the Get project By ID API 2025-07-14 15:57:52 +05:30
0c84bb11a3 Solved Concurrency Issue 2025-07-14 15:08:31 +05:30
4ba533f647 Optimized both get Project list API and get Project list basic API 2025-07-14 12:02:45 +05:30
8bb8b3643f Refactored the function to add project in cache and added auto Mapper 2025-07-12 13:14:15 +05:30
d27cdee72d Refactor project report APIs to improve performance and readability 2025-07-12 13:13:29 +05:30
852b079428 Merge pull request 'ProjectDetails_Split_API' (#103) from ProjectDetails_Split_API into main
Reviewed-on: #103
2025-07-11 11:32:33 +00:00
5cb56b7a10 Sovled the rebase code errors 2025-07-11 11:06:29 +05:30
56161d302b Solving rebase issues 2025-07-11 11:04:28 +05:30
8e3eedbfa7 Removing the project stored in cache for employee who have the project manage permission 2025-07-11 11:03:33 +05:30
3c8a044d66 Added the workcategory in WorkItem 2025-07-11 11:03:33 +05:30
ff722503d5 Added new parameter in log "Origin" 2025-07-11 11:03:33 +05:30
669500e57e Added the caching project report API and added expiry in workItems in cache 2025-07-11 11:03:33 +05:30
3e316ef388 Changed the signalR keyword for work item 2025-07-11 11:03:33 +05:30
3ec4bd762f Added old project Details API 2025-07-11 11:03:33 +05:30
0be200e77a In Project Report Email only sending data of job role assigned to that project 2025-07-11 11:03:33 +05:30
3646163593 Implemented the cache in task allocation 2025-07-11 10:32:11 +05:30
cbcc3398c3 Storing workItem in cache and changing planned work and completed work for respective project, building, floor, and workarea 2025-07-11 10:30:39 +05:30
d8cf87aee4 Implemented the methods for deleting permission am asigned project from caches for certien employee 2025-07-11 10:30:39 +05:30
3d8e91d58d Added error handling in cache helper 2025-07-11 10:30:39 +05:30
129ccf7fae removed comented code from appsetting file 2025-07-11 10:30:39 +05:30
3e8ef856d4 Saving project details with infrastructure, employee permissions and assigned project for that employee in mongodb 2025-07-11 10:30:35 +05:30
de3fa6b929 project details API is split into three APIs. 2025-07-11 10:29:29 +05:30
bb76c45195 Removing the project stored in cache for employee who have the project manage permission 2025-07-10 15:57:08 +05:30
40ce4ced42 Added the workcategory in WorkItem 2025-07-10 14:59:28 +05:30
60517f3f60 Merge branch 'ProjectDetails_Split_API' of https://git.marcoaiot.com/admin/marco.pms.api into ProjectDetails_Split_API 2025-07-10 09:52:39 +05:30
c2a9a42af5 Added old project Details API 2025-07-10 09:52:18 +05:30
17c56be712 Added new parameter in log "Origin" 2025-07-09 15:11:08 +05:30
183d72017d Merge pull request 'vikas#387_code_review' (#102) from vikas#387_code_review into main
Reviewed-on: #102
2025-07-09 09:36:28 +00:00
c4ad3fdad5 Added the caching project report API and added expiry in workItems in cache 2025-07-09 12:39:27 +05:30
de5485b8f6 Changed the signalR keyword for work item 2025-07-09 10:35:35 +05:30
2304912bf8 Added all Feature permission in static file and use that static file to check the permission 2025-07-08 16:07:27 +05:30
5c1dcd89b5 directoryAdmin, directoryManager, and directoryUser are hard-coded in the helper class. Instead of hard-coding, we can create a static class and use it across the application.
Ref: https://redmine.marcoaiot.com/issues/387
2025-07-08 15:12:36 +05:30
856510baff In Project Report Email only sending data of job role assigned to that project 2025-07-08 12:48:13 +05:30
49b85c4df9 Rresloving rebase issues 2025-07-08 12:38:00 +05:30
aebb344a5a Implemented the cache in task allocation 2025-07-08 12:36:17 +05:30
56aca323e5 Storing workItem in cache and changing planned work and completed work for respective project, building, floor, and workarea 2025-07-08 12:22:29 +05:30
1d318c75d8 Implemented the methods for deleting permission am asigned project from caches for certien employee 2025-07-08 12:22:29 +05:30
8521a68c3e Added error handling in cache helper 2025-07-08 12:22:28 +05:30
8c85d92ba6 removed comented code from appsetting file 2025-07-08 12:22:28 +05:30
3ce9851a7f Saving project details with infrastructure, employee permissions and assigned project for that employee in mongodb 2025-07-08 12:22:28 +05:30
3dd5e7f626 project details API is split into three APIs. 2025-07-08 12:22:28 +05:30
67c8bee2c2 Implemented the cache in task allocation 2025-07-08 12:20:54 +05:30
bc0ef0b88b Merge pull request 'Image_Gallery' (#101) from Image_Gallery into main
Reviewed-on: #101
2025-07-08 06:42:02 +00:00
411902eef7 Merge branch 'ProjectDetails_Split_API' of https://git.marcoaiot.com/admin/marco.pms.api into ProjectDetails_Split_API 2025-07-07 17:48:09 +05:30
80a197b408 Storing workItem in cache and changing planned work and completed work for respective project, building, floor, and workarea 2025-07-07 17:47:37 +05:30
11b54debc6 Implemented the methods for deleting permission am asigned project from caches for certien employee 2025-07-07 17:47:37 +05:30
0654bca655 Added error handling in cache helper 2025-07-07 17:47:37 +05:30
8e67e801a3 removed comented code from appsetting file 2025-07-07 17:47:37 +05:30
c2354033b7 Saving project details with infrastructure, employee permissions and assigned project for that employee in mongodb 2025-07-07 17:47:37 +05:30
ec1e2dc59f Storing workItem in cache and changing planned work and completed work for respective project, building, floor, and workarea 2025-07-07 17:44:58 +05:30
43e2aeb097 Showing the comment added when task is reported 2025-07-07 13:15:27 +05:30
65f3376523 Added new paremeter of NumberOfImages in signalR message object 2025-07-07 11:21:31 +05:30
b8cba9f378 Implemented the methods for deleting permission am asigned project from caches for certien employee 2025-07-07 10:04:11 +05:30
558fd6bd5b Corrected Key for signalR 2025-07-05 17:24:57 +05:30
e4cc6c1578 Merge pull request 'Added SignalR Integration for Reporting, Commenting, and Approving Tasks' (#100) from Ashutosh_Task#663 into Image_Gallery
Reviewed-on: #100
2025-07-05 11:44:00 +00:00
6373da3144 Added SignalR Integration for Reporting, Commenting, and Approving Tasks 2025-07-05 17:11:59 +05:30
0052692283 Added error handling in cache helper 2025-07-05 15:25:01 +05:30
f9ab7bb3c8 Ordered by Uploaded at 2025-07-05 13:19:06 +05:30
800db99fd9 Removed double Deserialization 2025-07-05 12:33:10 +05:30
6d8939d942 Added Pagenation to Image List API 2025-07-05 12:23:28 +05:30
7be7d6f13d removed comented code from appsetting file 2025-07-04 17:50:27 +05:30
cd4ad6f4ac Saving project details with infrastructure, employee permissions and assigned project for that employee in mongodb 2025-07-04 17:49:25 +05:30
c9ff53a7ac Removed double Deserialize 2025-07-03 12:46:49 +05:30
a303625d59 Added a line which is missed while optimizing 2025-07-03 11:32:06 +05:30
62eb914456 Added filter in get image list API 2025-07-02 17:42:42 +05:30
3216318acb Added Designation Parameter in Contacts and Implement in Related APIs 2025-07-02 15:07:08 +05:30
1f5a71ef09 Added WorkCategoryName and WorkCategoryId Parameters in view models 2025-07-02 13:15:28 +05:30
8353c384a5 Added athorization in controller 2025-07-02 10:15:00 +05:30
85911c4536 Added an API to get persigned url for provided document 2025-07-02 10:04:00 +05:30
afdf51eae3 Added an API to get list of Images for provided batch ID 2025-07-02 10:03:20 +05:30
587e8d2b0b Added an API to get list of images in provided project. 2025-07-02 10:02:22 +05:30
b77a5b16cd Storing batch ID when saving any images as well stop storing base64 in database 2025-07-02 10:01:10 +05:30
ba1e644fd8 Added new parameter uploaded by in documents table 2025-07-02 09:59:56 +05:30
6b5c09c562 Merge branch 'ProjectDetails_Split_API' of https://git.marcoaiot.com/admin/marco.pms.api into ProjectDetails_Split_API 2025-07-01 15:59:54 +05:30
8055c04e4b project details API is split into three APIs. 2025-07-01 15:59:49 +05:30
65da812a97 Merge pull request 'Issues_June_3W' (#99) from Issues_June_3W into main
Reviewed-on: #99
2025-07-01 10:25:44 +00:00
2c445878d0 project details API is split into three APIs. 2025-07-01 12:39:07 +05:30
a3de905159 Chnaged the name of view employee feature permission to view team members 2025-06-30 16:58:28 +05:30
5f9ca98284 Implemented the view employee and view all employee permission to employee list API 2025-06-30 16:33:50 +05:30
00c30eb2cc Merge pull request 'Ashutosh_Enhancement_#622' (#98) from Ashutosh_Enhancement_#622 into Issues_June_3W
Reviewed-on: #98
2025-06-30 10:13:46 +00:00
2a507bf7b0 Implemented View all employee permission in employee list API 2025-06-30 15:29:29 +05:30
5a3dd42630 Added migration for new feature permissio and chnaged features for view infra and manage infra to project management 2025-06-30 13:13:12 +05:30
ea80176eec Merge pull request 'Added a return statement after saving the contact tag.' (#97) from Ashutosh_Task_#237 into Issues_June_3W
Reviewed-on: #97
2025-06-30 05:04:10 +00:00
d817170d0f Added a return statement after saving the contact tag. 2025-06-30 10:31:01 +05:30
b7386d0c98 Merge pull request 'Ashutosh_Task#513' (#96) from Ashutosh_Task#513 into Issues_June_3W
Reviewed-on: #96
2025-06-28 04:27:28 +00:00
8c691c5d3e Merge branch 'Ashutosh_Task#513' of https://git.marcoaiot.com/admin/marco.pms.api into Ashutosh_Task#513 2025-06-28 09:51:30 +05:30
8d35063ced Merge pull request 'Ashutosh_Task#513' (#95) from Ashutosh_Task#513 into Issues_June_3W
Reviewed-on: #95
2025-06-27 11:45:54 +00:00
2128e630d5 Added conatct name nd organization name in all contact note VMs 2025-06-27 17:14:20 +05:30
9149c4e546 Filtered conatct notes by projects and added contact name and organization name in list VM 2025-06-27 17:14:20 +05:30
d12f8ed0fb Added conatct name nd organization name in all contact note VMs 2025-06-27 11:50:51 +05:30
90c5308d76 Filtered conatct notes by projects and added contact name and organization name in list VM 2025-06-27 10:58:29 +05:30
70c1c6da9d Merge branch 'Issues_June_3W' of https://git.marcoaiot.com/admin/marco.pms.api into Issues_June_3W 2025-06-24 16:33:05 +05:30
e3ddcee8b3 Implemented An API to get list of all notes 2025-06-24 16:32:54 +05:30
0d49163d7b Merge pull request 'When task is approved stored approved tasks in reported task field not in completed task' (#93) from Ashutosh_Bug#529 into Approve_Task_Feature
Reviewed-on: #93
2025-06-24 06:06:37 +00:00
b94f4bdb63 When task is approved stored approved tasks in reported task field not in completed task 2025-06-24 11:30:50 +05:30
373d80260f Removed demo objects for which is used for testing purpose 2025-06-24 10:10:03 +05:30
2ed0e6e5b6 Merge branch 'Issues_June_3W' of https://git.marcoaiot.com/admin/marco.pms.api into Issues_June_3W 2025-06-23 17:10:10 +05:30
72a92417b5 Implemented An API to get list of all notes 2025-06-23 17:10:05 +05:30
bb76047605 Implemeted an API to store logs from mobile Application 2025-06-23 17:09:39 +05:30
cb2856b2df Merge pull request 'Implemented An API to get list of all notes' (#92) from Ashutosh_Task#513 into Issues_June_3W
Reviewed-on: #92
2025-06-23 11:38:16 +00:00
b56478056e Implemented An API to get list of all notes 2025-06-23 14:50:50 +05:30
82ebd07d61 Added project validation in attendance Overview API 2025-06-20 13:09:13 +05:30
b78c5c07c5 Added a new API in dashbased ot check attendance overview of specifec project for give number of days 2025-06-20 12:45:35 +05:30
64a7cde69c Implemented signalR in record-mobile API 2025-06-19 18:28:57 +05:30
a6a842bf10 Fixed rebase issues 2025-06-19 07:30:55 -04:00
c3f5fe8e34 Fixing rebase issues 2025-06-19 07:07:54 -04:00
c9bb18d8e5 Optimized the task management API 2025-06-19 07:05:32 -04:00
2e925efcf7 Added code to validate the id received by path parameter with id received by payload 2025-06-19 06:53:02 -04:00
5bc13e215d Added CRUD operation APIs for work Status master table 2025-06-19 06:53:02 -04:00
Pramod Mahajan
f20b4a42a1 added new fields inside workItem- parentTaskId and Description 2025-06-19 06:53:02 -04:00
99818c42b0 Added new API to get list of work status 2025-06-19 06:53:02 -04:00
5d5579882f Added Functionality for approving the reported task 2025-06-19 06:53:01 -04:00
3dfde6d9a5 Added new entry in status master table 2025-06-19 11:43:10 +05:30
aa2bc674eb Optimized the task management API 2025-06-18 19:08:06 +05:30
4164c7d761 Cheange the message sending when manageing project infrastructure 2025-06-18 18:12:28 +05:30
Pramod Mahajan
692b1bfef3 Merge branch 'Approve_Task_Feature' of https://git.marcoaiot.com/admin/marco.pms.api into Approve_Task_Feature 2025-06-18 17:35:12 +05:30
Pramod Mahajan
1c58265a9f added new fields inside workItem- parentTaskId and Description 2025-06-18 17:34:33 +05:30
303f326773 Implemented signalR in Employee module 2025-06-18 12:00:35 +05:30
e2956c0c8c Added signalR functionality in Project Infrastructure 2025-06-17 17:05:52 +05:30
39378f3a88 Resolved rebase issues 2025-06-16 18:09:00 +05:30
caacb43aa8 Merge branch 'SingalR_Integration' of https://git.marcoaiot.com/admin/marco.pms.api into SingalR_Integration 2025-06-16 17:57:49 +05:30
29ea1698bc Implemented signalR in manage Task API 2025-06-16 17:57:44 +05:30
793877b8f8 Implemented signalR in project infrastructure APIs 2025-06-16 17:57:37 +05:30
f47586710b Add basic implementation and add in record attendance API for testing 2025-06-16 17:55:59 +05:30
b21d30c18e Changed the keyword for updating and creating project 2025-06-16 17:54:52 +05:30
d78a2fe3b2 Implemented signalR in project infrastructure APIs 2025-06-16 17:54:52 +05:30
6ebc74499f Add basic implementation and add in record attendance API for testing 2025-06-16 17:54:52 +05:30
ff9c7c9434 Added code to validate the id received by path parameter with id received by payload 2025-06-16 17:19:59 +05:30
e391c82659 Added CRUD operation APIs for work Status master table 2025-06-16 16:58:56 +05:30
1f56143142 Added new API to get list of work status 2025-06-16 16:24:49 +05:30
dc21b9d2c6 Added Functionality for approving the reported task 2025-06-16 15:57:04 +05:30
17ae02a0b3 Implemented signalR in manage Task API 2025-06-13 16:22:58 +05:30
9d5535edf1 Added description in list task API 2025-06-12 22:30:43 +05:30
c689f2dfd8 Merge branch 'Acititvity_Images' of https://git.marcoaiot.com/admin/marco.pms.api into Acititvity_Images 2025-06-12 21:40:36 +05:30
5c019a2ff6 Chnaged the name form presignedUrls to ReportedProsignedUrl 2025-06-12 21:40:31 +05:30
cb185db4f3 Sending pre signed url in task list API 2025-06-12 21:40:31 +05:30
1a51860517 Implemented the image capture while writing comment in task allocation and add presignedurl in task get by in API 2025-06-12 21:40:31 +05:30
f275d08215 Implemented image storing to S3 while reporting task 2025-06-12 21:40:31 +05:30
4ccc690560 Chnaged the name form presignedUrls to ReportedProsignedUrl 2025-06-12 21:35:40 +05:30
82f3fdbc23 Merge branch 'SingalR_Integration' of https://git.marcoaiot.com/admin/marco.pms.api into SingalR_Integration 2025-06-12 20:54:06 +05:30
790e9f63e1 Changed the keyword for updating and creating project 2025-06-12 20:54:00 +05:30
0636c8aedd Implemented signalR in project infrastructure APIs 2025-06-12 20:54:00 +05:30
8f2c828282 Add basic implementation and add in record attendance API for testing 2025-06-12 20:54:00 +05:30
169e7f6601 Changed the keyword for updating and creating project 2025-06-12 20:53:24 +05:30
691a670a28 Sending pre signed url in task list API 2025-06-12 18:32:50 +05:30
d8ee5940fd Add new API to only fetch project information to load in dropdowns. Full project details including progress will be fatched latter when required 2025-06-12 17:32:48 +05:30
76b6ac6581 Implemented the image capture while writing comment in task allocation and add presignedurl in task get by in API 2025-06-12 17:02:18 +05:30
abe7870ad5 Implemented image storing to S3 while reporting task 2025-06-12 16:09:28 +05:30
712c5e2a0a Implemented signalR in project infrastructure APIs 2025-06-12 11:04:24 +05:30
648b4f9ef0 Implemented firebase client and sended push notification to mobile app 2025-06-11 19:33:21 +05:30
8814dc59d9 Add basic implementation and add in record attendance API for testing 2025-06-11 10:21:39 +05:30
d5e7d38101 Merge pull request 'Feature_Directory' (#90) from Feature_Directory into main
Reviewed-on: #90
2025-06-10 14:44:35 +00:00
db49522756 Merge pull request 'Introduces a new column to the Project database table.' (#91) from Ashutosh_Enhancement#496_ShortName into main
Reviewed-on: #91
2025-06-10 14:20:38 +00:00
3f18371330 FIxed issues invalid validation 2025-06-10 16:52:01 +05:30
7689d2d235 Introduces a new column to the Project database table. 2025-06-10 16:40:46 +05:30
b61caa9ee7 Fixed rebase confilets 2025-06-09 20:22:36 +05:30
6df8148f40 Fixed rebase 2025-06-09 20:17:33 +05:30
Pramod Mahajan
7dfed25d8e created new DTO for projectsallocation for one specific employee 2025-06-09 20:15:15 +05:30
Pramod Mahajan
9ed615110d created two end pointe for assigne and unassign project for perticular employee 2025-06-09 20:15:15 +05:30
Pramod Mahajan
4f0515f8f4 created new dto for projectAllocation for employee 2025-06-09 20:15:15 +05:30
361a2ab5c3 Sending Is Active in Object Of Contact notes 2025-06-09 20:14:26 +05:30
0db199e74f fixed the bug of only sending ID of logged in employee in Bucket object 2025-06-09 20:14:26 +05:30
a6fc75f492 Stopping multiple entries in employee-bucket mapping table 2025-06-09 20:14:26 +05:30
af9e06cd98 Sending last updatedBy and updatedAt when sending list of notes 2025-06-09 20:14:26 +05:30
7dc80ec006 Included object consist of basic infromation of employee who created the bucket in View models 2025-06-09 20:14:26 +05:30
4abeb8cf5a Sending number of conacts within the bucket with it information in API Update bucket, Assign Bucket, and Get Bucket List 2025-06-09 20:14:26 +05:30
b88dbea6c6 Corrected Spelling mistakes 2025-06-09 20:14:25 +05:30
138eb963d0 Implemented an API to delete a Bucket 2025-06-09 20:14:25 +05:30
ae08ebeae5 Implement API to Assign Bucket to Employees 2025-06-09 20:14:20 +05:30
49988c9814 Enhancement #381: Update "Update Bucket" API to Enforce Feature 2025-06-09 20:14:00 +05:30
915ad7bdb5 Enhancement #380: Update "Create Bucket" API to Enforce Feature 2025-06-09 20:14:00 +05:30
aad79953f5 Enhancement #378: Update "Get Bucket List" API to Enforce Feature 2025-06-09 20:14:00 +05:30
404c16946b Enhancement #377: Update "Update Contact" API to Enforce Feature 2025-06-09 20:14:00 +05:30
ac837ef241 Enhancement #376: Update "Get Contact by Bucket ID" API to Enforce Feature Permissions 2025-06-09 20:13:59 +05:30
3f74646437 Enhancement #375: Update "Get Contact" API to Enforce Feature Permissions 2025-06-09 20:13:54 +05:30
6e2b0eaec0 Added an API to suspend a n existing Contact-note 2025-06-09 20:07:19 +05:30
1e0e277bbf Added an API to Update existing Contact-note 2025-06-09 20:07:19 +05:30
9a19440622 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 20:01:30 +05:30
85adf50418 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:57:20 +05:30
8ca07410b0 Added an API to suspend a n existing Contact-note 2025-06-09 19:37:04 +05:30
84767d41b8 Added an API to Update existing Contact-note 2025-06-09 19:37:04 +05:30
ec63cde59b Added functionality to stop recreating tas of same name 2025-06-09 19:35:30 +05:30
166d556b6c added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:33:11 +05:30
17398dafa6 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 19:31:31 +05:30
45cdbd91c9 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:30:13 +05:30
Pramod Mahajan
ddc6f9e393 added api to get list of contact tag 2025-06-09 19:26:03 +05:30
d294bcef44 Created an endpoint to fetch list of all contact category in that tenant 2025-06-09 19:24:31 +05:30
9ceba92447 Add Directory Management Feature with Permission Handling 2025-06-09 19:08:21 +05:30
69d27c7471 Implemented an API to update Contact Category Master 2025-06-09 19:08:21 +05:30
30cd9d3a57 Implemented an API to update Buckets for grouping contacts. 2025-06-09 19:08:21 +05:30
0427b41961 Accepting List of buckets and categories Ids rather than as payload 2025-06-09 19:08:21 +05:30
e407c96bda Implemented filtering functionality for Get Contact List API 2025-06-09 19:08:17 +05:30
8f1c1489e5 Update Marco.Pms.Services/Helpers/DirectoryHelper.cs
Added entrie to DirectoryUpdateLog Table
2025-06-09 19:07:47 +05:30
5464ee6200 Implemented an API to suspend a Contact 2025-06-09 19:07:47 +05:30
Pramod Mahajan
66c167f027 created api for contact Tag Update 2025-06-09 19:07:44 +05:30
aaacd6be91 Implemented an API to retrieve a list of organizations provided in the contacts. 2025-06-09 19:07:22 +05:30
f93caa7994 Created an API to get contact profile by its Id 2025-06-09 19:07:19 +05:30
7fd3c7b0b3 Changed tag validation 2025-06-09 19:07:01 +05:30
928886ac72 Corrected the typo of ContactTagtId to ContactTagId 2025-06-09 19:06:57 +05:30
eb096685d5 Added an API to suspend a n existing Contact-note 2025-06-09 19:05:05 +05:30
d62725cb38 Added an API to Update existing Contact-note 2025-06-09 19:05:05 +05:30
64aaf325bd Added an API to get contact category by its size 2025-06-09 19:05:05 +05:30
60acd104c1 Added functionality to stop recreating tas of same name 2025-06-09 19:05:05 +05:30
b3ceecaf9e properly mapped the updated Dto to contact table 2025-06-09 19:05:05 +05:30
1e70f2bffc added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:05:05 +05:30
eb897af87f Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 19:05:04 +05:30
93997c16a2 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:05:04 +05:30
88233d9435 When checking in exsiting tag change Id from mapping Id to Tag ID 2025-06-09 19:05:04 +05:30
3b09a5f625 Added an API to create bucket 2025-06-09 19:05:04 +05:30
de8ef72cae Added an API to create a contact tag 2025-06-09 19:05:04 +05:30
9921683fa6 Added an API to Get a list of buckets Assigned to that employee 2025-06-09 19:05:04 +05:30
Pramod Mahajan
a5c472b52e added api to get list of contact tag 2025-06-09 19:05:04 +05:30
54c66daa18 Added an API to update existing contact 2025-06-09 19:05:04 +05:30
7c1171fbb0 Added logs to the 'Get List of Contacts' endpoint. 2025-06-09 19:04:25 +05:30
a0bf548e64 Added an API to create contact and populate related tables as well 2025-06-09 19:04:25 +05:30
Pramod Mahajan
94305f34ed created GetListOfContact custome function 2025-06-09 19:04:24 +05:30
25c91a64ad Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 19:04:24 +05:30
a7f41af44f Added an API to add a note to specific contact 2025-06-09 19:04:24 +05:30
c9073652c8 Added an API to suspend a n existing Contact-note 2025-06-09 19:04:24 +05:30
2650bdb17a Added an API to Update existing Contact-note 2025-06-09 19:04:24 +05:30
f7543a37a1 added an API to get a list of contact-notes by contact ID 2025-06-09 19:03:55 +05:30
42b5478b52 Added functionality to stop recreating tas of same name 2025-06-09 19:03:12 +05:30
eac2c31ea4 properly mapped the updated Dto to contact table 2025-06-09 19:03:11 +05:30
a00ef4313a Refetched the contact in update contact API 2025-06-09 19:03:11 +05:30
20b1f45915 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:03:07 +05:30
3c14df4d53 Added an API to delete existing contact category 2025-06-09 19:01:53 +05:30
5f2626db88 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 19:01:53 +05:30
9da45240c3 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 19:01:50 +05:30
81d3e016c2 When checking in exsiting tag change Id from mapping Id to Tag ID 2025-06-09 19:01:32 +05:30
bea8793fba Added an API to create bucket 2025-06-09 19:01:32 +05:30
9c25aa1aab Added an API to create a contact tag 2025-06-09 19:01:27 +05:30
9e813c1e51 Added an API to Get a list of buckets Assigned to that employee 2025-06-09 19:00:59 +05:30
Pramod Mahajan
6e0cdbcfe3 added api to get list of contact tag 2025-06-09 19:00:34 +05:30
76671bc5dc Added an API to update existing contact 2025-06-09 19:00:07 +05:30
4f250ab46e Created an endpoint to fetch list of all contact category in that tenant 2025-06-09 19:00:07 +05:30
bab5243108 Created an API to create the Contact category 2025-06-09 19:00:02 +05:30
47d7cbba4f Added logs to the 'Get List of Contacts' endpoint. 2025-06-09 18:59:32 +05:30
3d9e22c308 Added an API to create contact and populate related tables as well 2025-06-09 18:59:32 +05:30
f2699898ed Added an API to create contact and populate related tables as well 2025-06-09 18:59:32 +05:30
Pramod Mahajan
9d67a25488 created GetListOfContact custome function 2025-06-09 18:59:27 +05:30
58b0a3fbaa Added DirectoryHelper in helper folder 2025-06-09 18:58:45 +05:30
b5ce7eb73f Added Migration for contact related tables 2025-06-09 18:57:17 +05:30
a23c8c3ff0 An API skeleton has been added. 2025-06-09 18:53:03 +05:30
52e9cb7de9 Added Directory controller file 2025-06-09 18:53:00 +05:30
8da02932e4 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 18:52:22 +05:30
ccef0ba192 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 18:50:19 +05:30
621b96a805 fixed the bug of only sending ID of logged in employee in Bucket object 2025-06-09 18:47:24 +05:30
f0bf5dca83 Stopping multiple entries in employee-bucket mapping table 2025-06-09 18:47:24 +05:30
d60608e544 Sending last updatedBy and updatedAt when sending list of notes 2025-06-09 18:47:24 +05:30
a48d4d308f Included object consist of basic infromation of employee who created the bucket in View models 2025-06-09 18:47:24 +05:30
197b4aea8d Sending number of conacts within the bucket with it information in API Update bucket, Assign Bucket, and Get Bucket List 2025-06-09 18:47:24 +05:30
453a64fea0 Corrected Spelling mistakes 2025-06-09 18:47:24 +05:30
a755e77397 Implemented an API to delete a Bucket 2025-06-09 18:47:24 +05:30
049189024a Implement API to Assign Bucket to Employees 2025-06-09 18:47:24 +05:30
c1cc8d5d34 Enhancement #381: Update "Update Bucket" API to Enforce Feature 2025-06-09 18:47:24 +05:30
f7d90b85e8 Enhancement #380: Update "Create Bucket" API to Enforce Feature 2025-06-09 18:47:24 +05:30
f621dbf27c Enhancement #378: Update "Get Bucket List" API to Enforce Feature 2025-06-09 18:47:24 +05:30
4650e0cbbb Enhancement #377: Update "Update Contact" API to Enforce Feature 2025-06-09 18:47:24 +05:30
fb2648ba17 Enhancement #376: Update "Get Contact by Bucket ID" API to Enforce Feature Permissions 2025-06-09 18:47:24 +05:30
54ea82b984 Enhancement #375: Update "Get Contact" API to Enforce Feature Permissions 2025-06-09 18:47:24 +05:30
3128372a78 Add Directory Management Feature with Permission Handling 2025-06-09 18:47:23 +05:30
bad2386fa4 Created an API to get contact profile by its Id 2025-06-09 18:47:23 +05:30
6a1fa9a4f8 Added an API to suspend a n existing Contact-note 2025-06-09 18:47:23 +05:30
605fd9c78d Added an API to Update existing Contact-note 2025-06-09 18:47:23 +05:30
5fde9c5e53 Added functionality to stop recreating tas of same name 2025-06-09 18:47:23 +05:30
7d704b138b properly mapped the updated Dto to contact table 2025-06-09 18:47:23 +05:30
3841dca11e added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:23 +05:30
5e184c770d Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 18:47:23 +05:30
0795eda5cc added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:23 +05:30
e175e58450 Added an API to Get a list of buckets Assigned to that employee 2025-06-09 18:47:23 +05:30
80da3199b9 Created an endpoint to fetch list of all contact category in that tenant 2025-06-09 18:47:23 +05:30
Pramod Mahajan
eea2b7a8b3 created GetListOfContact custome function 2025-06-09 18:47:23 +05:30
7dca88153f Added an API to suspend a n existing Contact-note 2025-06-09 18:47:23 +05:30
220b87d5c3 Added an API to Update existing Contact-note 2025-06-09 18:47:23 +05:30
ed9a2467e9 added an API to get a list of contact-notes by contact ID 2025-06-09 18:47:23 +05:30
ff13507f8f Added functionality to stop recreating tas of same name 2025-06-09 18:47:23 +05:30
0fb3690133 properly mapped the updated Dto to contact table 2025-06-09 18:47:23 +05:30
7a2ce067ab added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:22 +05:30
115e38b58f Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 18:47:22 +05:30
578b2e0d67 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:22 +05:30
Pramod Mahajan
eb3bd425f6 added api to get list of contact tag 2025-06-09 18:47:22 +05:30
81f91c3b6d Created an endpoint to fetch list of all contact category in that tenant 2025-06-09 18:47:22 +05:30
9e124d0ae5 Added an API to create contact and populate related tables as well 2025-06-09 18:47:22 +05:30
d3a800fbf9 Added Migration for contact related tables 2025-06-09 18:47:22 +05:30
c51da8d1b4 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 18:47:22 +05:30
10322fa432 Add Directory Management Feature with Permission Handling 2025-06-09 18:47:22 +05:30
2a0adc75c4 Implemented an API to update Contact Category Master 2025-06-09 18:47:21 +05:30
38463ccf07 Implemented an API to update Buckets for grouping contacts. 2025-06-09 18:47:21 +05:30
6dbd968676 Accepting List of buckets and categories Ids rather than as payload 2025-06-09 18:47:21 +05:30
707b948e15 Implemented filtering functionality for Get Contact List API 2025-06-09 18:47:21 +05:30
2456a9a039 Update Marco.Pms.Services/Helpers/DirectoryHelper.cs
Added entrie to DirectoryUpdateLog Table
2025-06-09 18:47:21 +05:30
d1995b820c Implemented an API to suspend a Contact 2025-06-09 18:47:21 +05:30
Pramod Mahajan
8c915d7a1d created api for contact Tag Update 2025-06-09 18:47:21 +05:30
b15022774f Implemented an API to retrieve a list of organizations provided in the contacts. 2025-06-09 18:47:21 +05:30
3633d2ce4b changed all list in contact profile view model to non-nullable and set default value to empty list 2025-06-09 18:47:21 +05:30
9922255514 Created an API to get contact profile by its Id 2025-06-09 18:47:21 +05:30
ad659c4fc9 Changed tag validation 2025-06-09 18:47:21 +05:30
d136e8b95e Addd migrations fro Typo 2025-06-09 18:47:21 +05:30
9fd01c7903 Corrected the typo of ContactTagtId to ContactTagId 2025-06-09 18:47:20 +05:30
872bcdd236 Added an API to suspend a n existing Contact-note 2025-06-09 18:47:20 +05:30
8209f06410 Added an API to Update existing Contact-note 2025-06-09 18:47:20 +05:30
a4aae7ebbe Added an API to get contact category by its size 2025-06-09 18:47:20 +05:30
9a5be28196 Added functionality to stop recreating tas of same name 2025-06-09 18:47:20 +05:30
1d6f8825c6 properly mapped the updated Dto to contact table 2025-06-09 18:47:20 +05:30
6f902178a4 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:20 +05:30
282a21adc2 Added an API to delete existing contact category 2025-06-09 18:47:20 +05:30
f994ee14a2 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 18:47:20 +05:30
4eeeec5dbe added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:20 +05:30
56e444f87f When checking in exsiting tag change Id from mapping Id to Tag ID 2025-06-09 18:47:20 +05:30
7016e38bc4 Added an API to create bucket 2025-06-09 18:47:20 +05:30
0917b6665f Added an API to create a contact tag 2025-06-09 18:47:20 +05:30
1f49057cb6 Added an API to Get a list of buckets Assigned to that employee 2025-06-09 18:47:20 +05:30
Pramod Mahajan
5a9c08fd6c added api to get list of contact tag 2025-06-09 18:47:20 +05:30
cc0ac31746 Added an API to update existing contact 2025-06-09 18:47:19 +05:30
5d71f3f2db Created an endpoint to fetch list of all contact category in that tenant 2025-06-09 18:47:19 +05:30
2985cba79b Added logs to the 'Get List of Contacts' endpoint. 2025-06-09 18:47:19 +05:30
81992f6abd Added an API to create contact and populate related tables as well 2025-06-09 18:47:19 +05:30
Pramod Mahajan
1f2cc2b2e6 created GetListOfContact custome function 2025-06-09 18:47:19 +05:30
542701f342 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 18:47:19 +05:30
33e765558c Added an API to add a note to specific contact 2025-06-09 18:47:19 +05:30
ec1325dc03 Added an API to suspend a n existing Contact-note 2025-06-09 18:47:19 +05:30
fa3a7ab7f2 Added an API to Update existing Contact-note 2025-06-09 18:47:19 +05:30
10625101e1 Added an API to get contact category by its size 2025-06-09 18:47:19 +05:30
dc36cb57f4 added an API to get a list of contact-notes by contact ID 2025-06-09 18:47:19 +05:30
f820bedba3 Added an API to deleted ContactTag as well remove entries in contact-tag mapping table related to that tag 2025-06-09 18:47:19 +05:30
15c665236b Added functionality to stop recreating tas of same name 2025-06-09 18:47:19 +05:30
20eaccef04 properly mapped the updated Dto to contact table 2025-06-09 18:47:19 +05:30
3376812538 Refetched the contact in update contact API 2025-06-09 18:47:19 +05:30
e427781ad9 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:19 +05:30
fe0d5e8458 Added an API to delete existing contact category 2025-06-09 18:47:19 +05:30
e89036359d Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-06-09 18:47:19 +05:30
999f9168c2 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-06-09 18:47:19 +05:30
0a59f87b84 When checking in exsiting tag change Id from mapping Id to Tag ID 2025-06-09 18:47:18 +05:30
49bbd87a3d Added an API to create bucket 2025-06-09 18:47:18 +05:30
d52956abd9 Fixed the errorof finding tag in wrong table 2025-06-09 18:47:18 +05:30
e049b6c996 Added an API to create a contact tag 2025-06-09 18:47:18 +05:30
532e0ff16d Added an API to Get a list of buckets Assigned to that employee 2025-06-09 18:47:18 +05:30
Pramod Mahajan
967488e9c1 added api to get list of contact tag 2025-06-09 18:47:18 +05:30
ecc8c6d801 Added an API to update existing contact 2025-06-09 18:47:18 +05:30
3043a3f7ed Created an endpoint to fetch list of all contact category in that tenant 2025-06-09 18:47:18 +05:30
bb0c2acc87 Created an API to create the Contact category 2025-06-09 18:47:18 +05:30
7dffdc4c25 Added logs to the 'Get List of Contacts' endpoint. 2025-06-09 18:47:18 +05:30
d5e150d768 Added an API to create contact and populate related tables as well 2025-06-09 18:47:18 +05:30
f26d5d0021 Added an API to create contact and populate related tables as well 2025-06-09 18:47:18 +05:30
Pramod Mahajan
278a55ebe3 created GetListOfContact custome function 2025-06-09 18:47:18 +05:30
38babea9d5 Added DirectoryHelper in helper folder 2025-06-09 18:47:18 +05:30
73df47e540 Added Migration for contact related tables 2025-06-09 18:47:18 +05:30
5932a21fcc An API skeleton has been added. 2025-06-09 18:47:18 +05:30
58c73383b2 Added Directory controller file 2025-06-09 18:47:18 +05:30
004bb94d99 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 18:47:18 +05:30
2c20d49609 revert c7e89630eb494454c1322bdf4cf29ab076af7b86
revert Models, DTOs (Data Transfer Objects), and view models have been created for the directory.
2025-06-09 18:47:17 +05:30
2002a79360 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-06-09 18:47:17 +05:30
Pramod Mahajan
b74f701448 created new DTO for projectsallocation for one specific employee 2025-06-09 12:16:02 +05:30
Pramod Mahajan
ff0c694ed3 Merge branch 'pramod_Task#455' of https://git.marcoaiot.com/admin/marco.pms.api into Feature_Directory 2025-06-09 11:57:51 +05:30
Pramod Mahajan
280fc922ff created two end pointe for assigne and unassign project for perticular employee 2025-06-09 09:48:35 +05:30
Pramod Mahajan
681cdd690c created new dto for projectAllocation for employee 2025-06-09 09:46:30 +05:30
e760d51987 fixed typo error 2025-06-07 15:35:31 +05:30
d235bc8211 Changed varable name in VerifyOTPDto 2025-06-07 15:28:37 +05:30
9e9bb6fecd changed endpoint name of api of logging in through OTP 2025-06-07 09:53:08 +00:00
9f37c37e18 Merge pull request 'Implement API to log in through MPIN authentication.' (#87) from Ashutosh_Task#484_Login_MPIN into Issue_Jun_1W_2
Reviewed-on: #87
2025-06-07 08:01:04 +00:00
775c17531b Implement API to log in through MPIN authentication. 2025-06-07 13:20:12 +05:30
2fc44ec499 Merge pull request 'Implement API to log in through OTP verification' (#86) from Ashutosh_Task#483_Login_OTP into Issue_Jun_1W_2
Reviewed-on: #86
2025-06-07 06:32:22 +00:00
0a8c5cf587 Implement API to log in through OTP verification 2025-06-07 11:47:08 +05:30
baa168ff8f Sending list of projects of which employee has permission 2025-06-06 18:40:09 +05:30
47ad6231dd Merge pull request 'Implement API to Send OTP for Email-Based Login' (#85) from Ashutosh_Task#480_Send_OTP into Issue_Jun_1W_2
Reviewed-on: #85
2025-06-06 12:13:45 +00:00
14b0d1bfc7 Updated response sent from login-mobile API 2025-06-06 12:10:33 +00:00
5eb100c1f6 Implement API to Send OTP for Email-Based Login 2025-06-06 16:27:58 +05:30
863a154ec6 Merge pull request 'Implement an API to Generate MPIN' (#84) from Ashutosh_Task#471_Create_MPIN into Issue_Jun_1W_2
Reviewed-on: #84
2025-06-06 07:07:38 +00:00
34577c41f7 Implement an API to Generate MPIN 2025-06-06 12:17:17 +05:30
1cb7a9fea8 Merge pull request 'pramod_Task#465 : Implemented Change Password API for authenticated users' (#82) from pramod_Task#465 into Issue_Jun_1W_2
Reviewed-on: #82
2025-06-05 11:46:20 +00:00
7ef2c720cb Merge pull request 'Added tables for MPIN and OTP as well created an Login API for Mobile Application' (#83) from Ashutosh_Task#469_Mobile_Login into Issue_Jun_1W_2
Reviewed-on: #83
2025-06-05 11:46:08 +00:00
a5cf2025a1 Added tables for MPIN and OTP as well created an Login API for Mobile Application 2025-06-05 17:01:53 +05:30
Pramod Mahajan
5b08b617cf Add Change Password API for logged-in users,
- Validates old password and updates to new one using UserManager
- Secured the endpoint for authenticated users only
2025-06-05 16:33:57 +05:30
5f9784faa8 Removed Hard coded Raja removed for project report email template 2025-06-05 15:05:56 +05:30
18acfef5a0 Added Authentication folder 2025-06-05 12:59:47 +05:30
92fd335eaf Merge pull request 'Added a new feature permission for self-attendance and enforced this permission in the attendance module.' (#81) from Ashutosh_Enhancement#456_Self_Attendance into Issue_Jun_1W
Reviewed-on: #81
2025-06-04 11:32:05 +00:00
0467a825ad Added a new feature permission for self-attendance and enforced this permission in the attendance module. 2025-06-04 16:55:41 +05:30
357d615d1b Changed the project report email template 2025-06-04 15:11:04 +05:30
75183d1397 Fixed the issue where the application user ID was not being stored in the Employees table. 2025-06-03 18:49:17 +05:30
2e9459444f Merge branch 'Ashutosh_Enhancement#276_TodaysPlanned' into Issue_Jun_1W
# Conflicts:
#	Marco.Pms.Services/Controllers/ProjectController.cs
2025-06-03 17:28:33 +05:30
0dabb2d7bd Merge pull request 'Task#448 : add 'assigned-projects' endpoint to retrieve all projects by employee ID' (#79) from pramod_Task#448 into Issue_Jun_1W
Reviewed-on: #79
2025-06-03 11:56:41 +00:00
Pramod Mahajan
038e585253 add 'assigned-projects' endpoint to retrieve all projects by employee ID 2025-06-03 15:57:01 +05:30
91d7c3b508 When sending project infrastructure sending today's Planned task numbers 2025-06-03 15:54:13 +05:30
d049be9e49 in dashboard project attendance api made intime and out time nullable 2025-06-02 11:01:19 +05:30
3a37cfdf37 Resloved conflicts 2025-05-31 19:01:13 +05:30
4282966afd resloved rebase conflicts 2025-05-31 18:58:20 +05:30
03b62cd27b fixed the bug of only sending ID of logged in employee in Bucket object 2025-05-31 18:55:18 +05:30
ff2b33a66d Stopping multiple entries in employee-bucket mapping table 2025-05-31 18:55:18 +05:30
85b327d0c4 Sending last updatedBy and updatedAt when sending list of notes 2025-05-31 18:55:18 +05:30
da797b2208 Included object consist of basic infromation of employee who created the bucket in View models 2025-05-31 18:55:18 +05:30
8ef654ad2e Sending number of conacts within the bucket with it information in API Update bucket, Assign Bucket, and Get Bucket List 2025-05-31 18:55:18 +05:30
738d1e6a0a Corrected Spelling mistakes 2025-05-31 18:55:18 +05:30
56645ff40f Implemented an API to delete a Bucket 2025-05-31 18:55:18 +05:30
193add07e1 Implement API to Assign Bucket to Employees 2025-05-31 18:55:18 +05:30
bd969616ad Enhancement #381: Update "Update Bucket" API to Enforce Feature 2025-05-31 18:55:18 +05:30
c2ddd6097c Enhancement #380: Update "Create Bucket" API to Enforce Feature 2025-05-31 18:55:18 +05:30
b5707ba133 Enhancement #378: Update "Get Bucket List" API to Enforce Feature 2025-05-31 18:55:18 +05:30
a0cc285d6f Enhancement #377: Update "Update Contact" API to Enforce Feature 2025-05-31 18:55:18 +05:30
10df95c481 Enhancement #376: Update "Get Contact by Bucket ID" API to Enforce Feature Permissions 2025-05-31 18:55:18 +05:30
5908b54312 Enhancement #375: Update "Get Contact" API to Enforce Feature Permissions 2025-05-31 18:55:18 +05:30
6b80c3bfeb Add Directory Management Feature with Permission Handling 2025-05-31 18:55:14 +05:30
8820483584 Created an API to get contact profile by its Id 2025-05-31 18:49:45 +05:30
93e1b13f54 Added an API to suspend a n existing Contact-note 2025-05-31 18:44:09 +05:30
dff77aa22f Added an API to Update existing Contact-note 2025-05-31 18:44:09 +05:30
75cb4557e4 Added functionality to stop recreating tas of same name 2025-05-31 18:42:26 +05:30
e9157d7985 properly mapped the updated Dto to contact table 2025-05-31 18:40:33 +05:30
86ebc95ada added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 18:39:54 +05:30
b0aefdc93a Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-31 18:37:43 +05:30
f6685a1ca5 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 18:35:39 +05:30
fd14670914 Added an API to Get a list of buckets Assigned to that employee 2025-05-31 18:32:44 +05:30
b161ed7c15 Created an endpoint to fetch list of all contact category in that tenant 2025-05-31 18:31:10 +05:30
Pramod Mahajan
e4a611ccc2 created GetListOfContact custome function 2025-05-31 18:27:27 +05:30
cc06c2dfc4 Added an API to suspend a n existing Contact-note 2025-05-31 18:00:09 +05:30
29fa0e87d1 Added an API to Update existing Contact-note 2025-05-31 18:00:09 +05:30
852124d971 added an API to get a list of contact-notes by contact ID 2025-05-31 17:58:51 +05:30
45897b99cb Added functionality to stop recreating tas of same name 2025-05-31 17:53:35 +05:30
7ae001e277 properly mapped the updated Dto to contact table 2025-05-31 17:50:04 +05:30
b7a9d6148d added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 17:49:27 +05:30
244a6cc547 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-31 17:46:15 +05:30
4cebaba540 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 17:44:59 +05:30
Pramod Mahajan
040e9c311b added api to get list of contact tag 2025-05-31 17:37:45 +05:30
62734fc583 Created an endpoint to fetch list of all contact category in that tenant 2025-05-31 17:28:05 +05:30
20efab871a Added an API to create contact and populate related tables as well 2025-05-31 17:23:01 +05:30
39224c7ed7 Added Migration for contact related tables 2025-05-31 17:12:15 +05:30
2119171291 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-31 17:02:10 +05:30
2339384b5e Add Directory Management Feature with Permission Handling 2025-05-31 16:57:54 +05:30
02a7791041 Implemented an API to update Contact Category Master 2025-05-31 16:57:54 +05:30
c00d1a5451 Implemented an API to update Buckets for grouping contacts. 2025-05-31 16:57:54 +05:30
e917ff3e9c Accepting List of buckets and categories Ids rather than as payload 2025-05-31 16:57:53 +05:30
cd091eda56 Implemented filtering functionality for Get Contact List API 2025-05-31 16:57:53 +05:30
aa6df0f803 Update Marco.Pms.Services/Helpers/DirectoryHelper.cs
Added entrie to DirectoryUpdateLog Table
2025-05-31 16:57:53 +05:30
2e64f4de32 Implemented an API to suspend a Contact 2025-05-31 16:57:53 +05:30
Pramod Mahajan
8c9ce52ec2 created api for contact Tag Update 2025-05-31 16:57:53 +05:30
635654890e Implemented an API to retrieve a list of organizations provided in the contacts. 2025-05-31 16:57:53 +05:30
fbfd04c898 changed all list in contact profile view model to non-nullable and set default value to empty list 2025-05-31 16:57:53 +05:30
92e6942437 Created an API to get contact profile by its Id 2025-05-31 16:57:53 +05:30
04216791f7 Changed tag validation 2025-05-31 16:57:53 +05:30
0b308c776b Addd migrations fro Typo 2025-05-31 16:57:53 +05:30
6704e168c3 Corrected the typo of ContactTagtId to ContactTagId 2025-05-31 16:57:52 +05:30
70c9d4bb3d Added an API to suspend a n existing Contact-note 2025-05-31 16:57:52 +05:30
3b1b6e9d89 Added an API to Update existing Contact-note 2025-05-31 16:57:52 +05:30
a31b4b73ab Added an API to get contact category by its size 2025-05-31 16:57:52 +05:30
0973e722fb Added functionality to stop recreating tas of same name 2025-05-31 16:57:52 +05:30
f1e3febfb0 properly mapped the updated Dto to contact table 2025-05-31 16:57:52 +05:30
3ab215b401 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 16:57:52 +05:30
e6f8cc626b Added an API to delete existing contact category 2025-05-31 16:57:52 +05:30
cedf3d19b5 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-31 16:57:52 +05:30
b4cffbf713 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 16:57:51 +05:30
f18b1f8dea When checking in exsiting tag change Id from mapping Id to Tag ID 2025-05-31 16:57:51 +05:30
c78c9a92b4 Added an API to create bucket 2025-05-31 16:57:51 +05:30
3f0d6f26fc Added an API to create a contact tag 2025-05-31 16:57:51 +05:30
ec72632004 Added an API to Get a list of buckets Assigned to that employee 2025-05-31 16:57:51 +05:30
Pramod Mahajan
4060d7d1f2 added api to get list of contact tag 2025-05-31 16:57:51 +05:30
12a1e1cf27 Added an API to update existing contact 2025-05-31 16:57:51 +05:30
ca561711de Created an endpoint to fetch list of all contact category in that tenant 2025-05-31 16:57:51 +05:30
acffebfb90 Added logs to the 'Get List of Contacts' endpoint. 2025-05-31 16:57:51 +05:30
f785003e9b Added an API to create contact and populate related tables as well 2025-05-31 16:57:51 +05:30
Pramod Mahajan
f7dce83629 created GetListOfContact custome function 2025-05-31 16:57:51 +05:30
df1408b63a Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-31 16:57:51 +05:30
77306c6bdb Added an API to add a note to specific contact 2025-05-31 16:57:51 +05:30
7660063ac3 Added an API to suspend a n existing Contact-note 2025-05-31 16:57:51 +05:30
ebc4a1e071 Added an API to Update existing Contact-note 2025-05-31 16:57:51 +05:30
f1c6468e47 Added an API to get contact category by its size 2025-05-31 16:57:50 +05:30
ae20e215db added an API to get a list of contact-notes by contact ID 2025-05-31 16:57:50 +05:30
b9b06ba54c Added an API to deleted ContactTag as well remove entries in contact-tag mapping table related to that tag 2025-05-31 16:57:50 +05:30
ba38c857a2 Added functionality to stop recreating tas of same name 2025-05-31 16:57:50 +05:30
f42ebe3886 properly mapped the updated Dto to contact table 2025-05-31 16:57:50 +05:30
85d7863fb2 Refetched the contact in update contact API 2025-05-31 16:57:50 +05:30
9709893603 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 16:57:50 +05:30
922eb7bc0d Added an API to delete existing contact category 2025-05-31 16:57:50 +05:30
de324407d0 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-31 16:57:50 +05:30
9247221a9f added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-31 16:57:50 +05:30
4b4ebee1a1 When checking in exsiting tag change Id from mapping Id to Tag ID 2025-05-31 16:57:50 +05:30
49ddd3ec45 Added an API to create bucket 2025-05-31 16:57:50 +05:30
8ab737fe8a Fixed the errorof finding tag in wrong table 2025-05-31 16:57:50 +05:30
7f5f3da5fb Added an API to create a contact tag 2025-05-31 16:57:49 +05:30
684598eb6b Added an API to Get a list of buckets Assigned to that employee 2025-05-31 16:57:49 +05:30
Pramod Mahajan
adc31a6909 added api to get list of contact tag 2025-05-31 16:57:49 +05:30
b3d4018c5f Added an API to update existing contact 2025-05-31 16:57:49 +05:30
84b1e7de0b Created an endpoint to fetch list of all contact category in that tenant 2025-05-31 16:57:49 +05:30
783c6576de Created an API to create the Contact category 2025-05-31 16:57:49 +05:30
66b8a74873 Added logs to the 'Get List of Contacts' endpoint. 2025-05-31 16:57:49 +05:30
c2bdf76957 Added an API to create contact and populate related tables as well 2025-05-31 16:57:49 +05:30
a8b935946a Added an API to create contact and populate related tables as well 2025-05-31 16:57:49 +05:30
Pramod Mahajan
40c0bcd3ca created GetListOfContact custome function 2025-05-31 16:57:49 +05:30
bba751256e Added DirectoryHelper in helper folder 2025-05-31 16:57:49 +05:30
bb8c314723 Added Migration for contact related tables 2025-05-31 16:57:44 +05:30
07bec97973 An API skeleton has been added. 2025-05-31 16:56:36 +05:30
ba486cffd8 Added Directory controller file 2025-05-31 16:56:36 +05:30
260ea2214d Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-31 16:56:36 +05:30
c85c6f4df5 revert c7e89630eb494454c1322bdf4cf29ab076af7b86
revert Models, DTOs (Data Transfer Objects), and view models have been created for the directory.
2025-05-31 16:56:36 +05:30
2cb283f1cd Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-31 16:56:36 +05:30
ba92a3b3ed Fixed the Internal error of swagger 2025-05-31 15:11:35 +05:30
2f3203c524 Added pending report and todays assigned conut in activity report view model 2025-05-31 09:46:29 +05:30
b479c7cf19 Merge pull request 'Implement an API to store employee information with a captured image and update employee information.' (#78) from Ashutosh_Enhancement#413_Manage_Employee into Issue_May_5W
Reviewed-on: #78
2025-05-30 12:29:50 +00:00
e73d3e0744 Taking emailids and email body from database rather than local or hardcoded as well logging every mail to database 2025-05-30 17:46:51 +05:30
98409f5b87 Implement an API to store employee information with a captured image and update employee information. 2025-05-30 16:57:10 +05:30
5ad2a795b8 Sending Is Active in Object Of Contact notes 2025-05-29 11:49:08 +05:30
a64e9538e4 fixed the bug of only sending ID of logged in employee in Bucket object 2025-05-28 15:55:00 +05:30
591b54c901 Stopping multiple entries in employee-bucket mapping table 2025-05-28 15:14:31 +05:30
55e8ace430 Sending last updatedBy and updatedAt when sending list of notes 2025-05-28 15:00:56 +05:30
2552e4b83d Included object consist of basic infromation of employee who created the bucket in View models 2025-05-28 12:48:02 +05:30
ad34ca12e6 Sending number of conacts within the bucket with it information in API Update bucket, Assign Bucket, and Get Bucket List 2025-05-28 11:36:40 +05:30
b42b8b726a Merge pull request 'Ashutosh_Task#269_Delete_Bucket' (#77) from Ashutosh_Task#269_Delete_Bucket into Feature_Directory
Reviewed-on: #77
2025-05-28 05:45:47 +00:00
72fc8bd0d6 Corrected Spelling mistakes 2025-05-28 10:45:03 +05:30
ae51422079 Implemented an API to delete a Bucket 2025-05-28 10:40:00 +05:30
6036415ef4 Merge pull request 'Implement API to Assign Bucket to Employees' (#76) from Ashutosh_Task#387_Assign_Bucket into Feature_Directory
Reviewed-on: #76
2025-05-27 11:09:51 +00:00
c4050232f2 Implement API to Assign Bucket to Employees 2025-05-27 16:29:42 +05:30
7a0d85400f Merge pull request 'Ashutosh_#375_To_#381' (#75) from Ashutosh_#375_To_#381 into Feature_Directory
Reviewed-on: #75
2025-05-27 07:49:17 +00:00
fb3932fe25 Enhancement #381: Update "Update Bucket" API to Enforce Feature 2025-05-27 12:37:24 +05:30
1490cfc195 Enhancement #380: Update "Create Bucket" API to Enforce Feature 2025-05-27 12:35:09 +05:30
1e6b2d7527 Enhancement #378: Update "Get Bucket List" API to Enforce Feature 2025-05-27 12:32:51 +05:30
db25c25b9b Enhancement #377: Update "Update Contact" API to Enforce Feature 2025-05-27 12:28:22 +05:30
9f53fb2df7 Enhancement #376: Update "Get Contact by Bucket ID" API to Enforce Feature Permissions 2025-05-27 12:27:04 +05:30
b638e35b25 Enhancement #375: Update "Get Contact" API to Enforce Feature Permissions 2025-05-27 12:24:41 +05:30
27a7044ede fixed rebase 2025-05-26 13:32:29 +05:30
c4a1c52acd Add Directory Management Feature with Permission Handling 2025-05-26 13:29:56 +05:30
80a22741b2 Implemented an API to update Contact Category Master 2025-05-26 13:29:32 +05:30
2ce81b8b9a Implemented an API to update Buckets for grouping contacts. 2025-05-26 13:29:32 +05:30
13d8935b72 Accepting List of buckets and categories Ids rather than as payload 2025-05-26 13:29:32 +05:30
62f9b2256e Implemented filtering functionality for Get Contact List API 2025-05-26 13:29:29 +05:30
a9d20b8077 Update Marco.Pms.Services/Helpers/DirectoryHelper.cs
Added entrie to DirectoryUpdateLog Table
2025-05-26 13:28:40 +05:30
616cebbf94 Implemented an API to suspend a Contact 2025-05-26 13:28:40 +05:30
Pramod Mahajan
8f267f9ef9 created api for contact Tag Update 2025-05-26 13:28:40 +05:30
afbfea3fc0 Implemented an API to retrieve a list of organizations provided in the contacts. 2025-05-26 13:28:40 +05:30
ac7197c197 changed all list in contact profile view model to non-nullable and set default value to empty list 2025-05-26 13:28:40 +05:30
811e0ac807 Created an API to get contact profile by its Id 2025-05-26 13:28:40 +05:30
efc5e22f7b Changed tag validation 2025-05-26 13:28:40 +05:30
d4b2d6025d Addd migrations fro Typo 2025-05-26 13:28:40 +05:30
999b2f06e0 Corrected the typo of ContactTagtId to ContactTagId 2025-05-26 13:28:40 +05:30
13b93d5bd5 Added an API to suspend a n existing Contact-note 2025-05-26 13:28:25 +05:30
77a1cfd9dc Added an API to Update existing Contact-note 2025-05-26 13:28:25 +05:30
5f90ddf454 Added an API to get contact category by its size 2025-05-26 13:28:21 +05:30
d014fcd1e4 Added functionality to stop recreating tas of same name 2025-05-26 13:17:11 +05:30
50f698bf89 properly mapped the updated Dto to contact table 2025-05-26 13:17:11 +05:30
65a0e60c8a added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-26 13:16:47 +05:30
a97b95eb00 Added an API to delete existing contact category 2025-05-26 13:08:37 +05:30
57d430be1e Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-26 13:08:33 +05:30
f50cb8e2dd added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-26 13:07:10 +05:30
2d939e5372 When checking in exsiting tag change Id from mapping Id to Tag ID 2025-05-26 13:02:47 +05:30
c785b270f0 Added an API to create bucket 2025-05-26 13:02:47 +05:30
b41640a120 Added an API to create a contact tag 2025-05-26 13:02:41 +05:30
5a487076ab Added an API to Get a list of buckets Assigned to that employee 2025-05-26 13:02:06 +05:30
Pramod Mahajan
9fa3351795 added api to get list of contact tag 2025-05-26 13:01:13 +05:30
2d126bf5b9 Added an API to update existing contact 2025-05-26 13:00:23 +05:30
53c210915a Created an endpoint to fetch list of all contact category in that tenant 2025-05-26 12:59:44 +05:30
aa60551524 Added logs to the 'Get List of Contacts' endpoint. 2025-05-26 12:58:27 +05:30
34f32bdd33 Added an API to create contact and populate related tables as well 2025-05-26 12:56:06 +05:30
Pramod Mahajan
e3e19a938a created GetListOfContact custome function 2025-05-26 12:55:27 +05:30
c25a7c4b9c Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-26 12:37:10 +05:30
a752bc39fe Added an API to add a note to specific contact 2025-05-26 12:30:56 +05:30
70ec3b6a44 Added an API to suspend a n existing Contact-note 2025-05-26 12:30:56 +05:30
b381397e40 Added an API to Update existing Contact-note 2025-05-26 12:30:56 +05:30
4492c60159 Added an API to get contact category by its size 2025-05-26 12:30:56 +05:30
24968be0ff added an API to get a list of contact-notes by contact ID 2025-05-26 12:30:56 +05:30
9af085c2fd Added an API to deleted ContactTag as well remove entries in contact-tag mapping table related to that tag 2025-05-26 12:30:56 +05:30
e76c203614 Added functionality to stop recreating tas of same name 2025-05-26 12:30:56 +05:30
871493bf61 properly mapped the updated Dto to contact table 2025-05-26 12:30:56 +05:30
9d8ab76388 Refetched the contact in update contact API 2025-05-26 12:30:56 +05:30
f560a0207d added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-26 12:30:56 +05:30
10a68125ba Added an API to delete existing contact category 2025-05-26 12:30:56 +05:30
a005db4150 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-26 12:30:56 +05:30
7a91db7ac1 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-26 12:30:56 +05:30
4a33e54ebc When checking in exsiting tag change Id from mapping Id to Tag ID 2025-05-26 12:30:56 +05:30
5c5bf6b9e6 Added an API to create bucket 2025-05-26 12:30:56 +05:30
a0b36b204e Fixed the errorof finding tag in wrong table 2025-05-26 12:30:55 +05:30
23db7c4861 Added an API to create a contact tag 2025-05-26 12:30:55 +05:30
4d1126b3f8 Added an API to Get a list of buckets Assigned to that employee 2025-05-26 12:30:55 +05:30
Pramod Mahajan
1a64879a05 added api to get list of contact tag 2025-05-26 12:30:55 +05:30
0809d26517 Added an API to update existing contact 2025-05-26 12:30:55 +05:30
b4505827bb Created an endpoint to fetch list of all contact category in that tenant 2025-05-26 12:30:55 +05:30
cf9f6ce5a3 Created an API to create the Contact category 2025-05-26 12:30:55 +05:30
94434e8068 Added logs to the 'Get List of Contacts' endpoint. 2025-05-26 12:30:55 +05:30
3e4f29b186 Added an API to create contact and populate related tables as well 2025-05-26 12:30:55 +05:30
c95a666c31 Added an API to create contact and populate related tables as well 2025-05-26 12:30:46 +05:30
Pramod Mahajan
172aab1b01 created GetListOfContact custome function 2025-05-26 12:29:44 +05:30
57dbfab32f Added DirectoryHelper in helper folder 2025-05-26 12:29:44 +05:30
0f70263ecb Added Migration for contact related tables 2025-05-26 12:29:44 +05:30
1fccbb4e3a An API skeleton has been added. 2025-05-26 12:29:44 +05:30
000cf74c1f Added Directory controller file 2025-05-26 12:29:44 +05:30
f30ae5ed5c Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-26 12:29:44 +05:30
ad4b618bee revert c7e89630eb494454c1322bdf4cf29ab076af7b86
revert Models, DTOs (Data Transfer Objects), and view models have been created for the directory.
2025-05-26 12:29:44 +05:30
b05c3509ad Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-26 12:29:44 +05:30
235ca073ce Merge pull request 'Ashutosh_Task#316_Daily_Project_Report' (#74) from Ashutosh_Task#316_Daily_Project_Report into Issue_May_4W
Reviewed-on: #74
2025-05-26 06:12:16 +00:00
276b253e2d Added fixed height to table elements 2025-05-26 06:12:16 +00:00
7e70297e7c Added an Email service and API to send an Email of daily project progress report 2025-05-26 06:12:16 +00:00
f1a7394aa2 Merge pull request 'Add Directory Management Feature with Permission Handling' (#73) from Ashutosh_Task#356_Directory_Management into Feature_Directory
Reviewed-on: #73
2025-05-24 10:46:51 +00:00
71aee738f4 Add Directory Management Feature with Permission Handling 2025-05-24 15:45:43 +05:30
56aeceb1f9 Merge pull request 'Implemented an API endpoint that retrieves the number of planned tasks and completed tasks for a specific project on a given date' (#72) from Ashutosh_Task#348_Activities_Report into Issue_May_4W
Reviewed-on: #72
2025-05-24 06:35:33 +00:00
40134d1f14 Implemented an API endpoint that retrieves the number of planned tasks and completed tasks for a specific project on a given date 2025-05-24 10:49:46 +05:30
52ee06d47e Merge pull request 'Implemented an API endpoint that retrieves the attendance records for a specific project on a given date' (#71) from Ashutosh_Task#347_Project_Attendance_Report into Issue_May_4W
Reviewed-on: #71
2025-05-24 04:58:05 +00:00
bcca8cab80 Merge pull request 'Implemented an API to update Contact Category Master' (#69) from Ashutosh_Task#233_Update_Contact_Category into Feature_Directory
Reviewed-on: #69
2025-05-23 05:45:52 +00:00
7c09cf49e1 Implemented an API to update Contact Category Master 2025-05-23 05:45:52 +00:00
4801229f1e Merge pull request 'Implemented an API to update Buckets for grouping contacts.' (#68) from Ashutosh_Task#250_Update_Bucket into Feature_Directory
Reviewed-on: #68
2025-05-23 05:45:38 +00:00
a14bbb06a6 Implemented an API to update Buckets for grouping contacts. 2025-05-23 05:45:38 +00:00
95aef84a3a Accepting List of buckets and categories Ids rather than as payload 2025-05-22 22:10:51 +05:30
e0af0b5ba3 Merge pull request 'Implemented filtering functionality for Get Contact List API' (#67) from AshutoshEnhancement#332_Added_Filter_To_Contact_List into Feature_Directory
Reviewed-on: #67
2025-05-22 13:19:27 +00:00
23e8eedf17 Implemented filtering functionality for Get Contact List API 2025-05-22 17:26:51 +05:30
f6027131e3 Merge pull request 'Implemented an API to suspend a Contact' (#66) from Ashutosh_Task#263_Delete_Contact into Feature_Directory
Reviewed-on: #66
2025-05-22 06:13:50 +00:00
bb561187fb Update Marco.Pms.Services/Helpers/DirectoryHelper.cs
Added entrie to DirectoryUpdateLog Table
2025-05-22 06:13:50 +00:00
fe5e58dce0 Implemented an API to suspend a Contact 2025-05-22 06:13:50 +00:00
472cca4e0a Merge pull request 'created api for contact Tag Update' (#65) from pramod_Task-#237_Update_Contact_Tag into Feature_Directory
Reviewed-on: #65
2025-05-22 06:13:09 +00:00
Pramod Mahajan
9224aca3ff created api for contact Tag Update 2025-05-22 06:13:09 +00:00
a68e1ab74b Merge pull request 'Implemented an API to retrieve a list of organizations provided in the contacts.' (#64) from Ashutosh_Task#317_Get_Organization_List into Feature_Directory
Reviewed-on: #64
2025-05-21 07:43:24 +00:00
9fbf55eeb5 Implemented an API to retrieve a list of organizations provided in the contacts. 2025-05-21 10:28:17 +05:30
d1b899f846 Merge pull request 'Created an API to get contact profile by its Id' (#63) from Ashutosh_Task#230_Get_Contact_By_Id into Feature_Directory
Reviewed-on: #63
2025-05-20 08:17:43 +00:00
d8d234a838 changed all list in contact profile view model to non-nullable and set default value to empty list 2025-05-20 12:38:09 +05:30
6eea98c5a1 Created an API to get contact profile by its Id 2025-05-20 09:46:03 +05:30
5693bbba17 Changed tag validation 2025-05-19 13:18:32 +05:30
9767390636 Addd migrations fro Typo 2025-05-19 11:09:30 +05:30
24d2cbbfce Corrected the typo of ContactTagtId to ContactTagId 2025-05-19 10:57:17 +05:30
9f311237a9 Merge branch 'Feature_Directory' of https://git.marcoaiot.com/admin/marco.pms.api into Feature_Directory 2025-05-17 18:35:40 +05:30
6d38e005bc Added an API to add a note to specific contact 2025-05-17 18:35:31 +05:30
37eba7a47f Added an API to suspend a n existing Contact-note 2025-05-17 18:35:31 +05:30
1be23802c7 Added an API to Update existing Contact-note 2025-05-17 18:35:31 +05:30
0685a12c62 Added an API to get contact category by its size 2025-05-17 18:35:31 +05:30
18067732ed added an API to get a list of contact-notes by contact ID 2025-05-17 18:35:31 +05:30
c16f9a08d9 Added an API to deleted ContactTag as well remove entries in contact-tag mapping table related to that tag 2025-05-17 18:35:31 +05:30
c330023ee7 Added functionality to stop recreating tas of same name 2025-05-17 18:35:31 +05:30
8288a19dd8 properly mapped the updated Dto to contact table 2025-05-17 18:35:31 +05:30
8c938b545e Refetched the contact in update contact API 2025-05-17 18:35:31 +05:30
38e5ad664e added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-17 18:35:31 +05:30
54d6d5f1bd Added an API to delete existing contact category 2025-05-17 18:35:31 +05:30
326ceecdbf Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-17 18:35:31 +05:30
e78cc74246 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-17 18:35:31 +05:30
b50cda12b8 When checking in exsiting tag change Id from mapping Id to Tag ID 2025-05-17 18:35:30 +05:30
ccf339ca0b Added an API to create bucket 2025-05-17 18:35:30 +05:30
22be364a0a Fixed the errorof finding tag in wrong table 2025-05-17 18:35:30 +05:30
d86a85389e Added an API to create a contact tag 2025-05-17 18:35:30 +05:30
ccd28908d0 Added an API to Get a list of buckets Assigned to that employee 2025-05-17 18:35:30 +05:30
Pramod Mahajan
c803a570c4 added api to get list of contact tag 2025-05-17 18:35:30 +05:30
711b47ddf4 Added an API to update existing contact 2025-05-17 18:35:30 +05:30
c2223e4029 Created an endpoint to fetch list of all contact category in that tenant 2025-05-17 18:35:30 +05:30
84cfdc29b2 Created an API to create the Contact category 2025-05-17 18:35:30 +05:30
dac586f498 Added logs to the 'Get List of Contacts' endpoint. 2025-05-17 18:35:26 +05:30
dbaabb1728 Added an API to create contact and populate related tables as well 2025-05-17 18:34:47 +05:30
78f95d6f81 Added an API to create contact and populate related tables as well 2025-05-17 18:33:41 +05:30
Pramod Mahajan
13d6bf94d9 created GetListOfContact custome function 2025-05-17 18:33:41 +05:30
e3dfcb4ee0 Added DirectoryHelper in helper folder 2025-05-17 18:33:41 +05:30
7c37007a07 Added Migration for contact related tables 2025-05-17 18:33:41 +05:30
c2c486a11d An API skeleton has been added. 2025-05-17 18:33:41 +05:30
109c8bbb81 Added Directory controller file 2025-05-17 18:33:40 +05:30
d4d1a13228 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-17 18:33:40 +05:30
c5ef5e5d7c revert c7e89630eb494454c1322bdf4cf29ab076af7b86
revert Models, DTOs (Data Transfer Objects), and view models have been created for the directory.
2025-05-17 18:33:40 +05:30
a4b1a25ced Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-17 18:33:40 +05:30
c0336513c4 Merge pull request 'Ashutosh_Contact_Note_CRUD' (#61) from Ashutosh_Contact_Note_CRUD into Feature_Directory
Reviewed-on: #61
2025-05-17 11:18:02 +00:00
077af5ac59 Added an API to add a note to specific contact 2025-05-17 16:45:43 +05:30
651785720f Added an API to suspend a n existing Contact-note 2025-05-17 16:45:10 +05:30
948457a83f Added an API to Update existing Contact-note 2025-05-17 16:44:24 +05:30
824dd45d4c Merge pull request 'Added an API to get contact category by its id' (#60) from Ashutosh_Task#234_Get_COntact_Category_By_Id into Feature_Directory
Reviewed-on: #60
2025-05-17 11:03:01 +00:00
37f0606bb0 Added an API to get contact category by its size 2025-05-17 11:03:01 +00:00
05dd8680da Merge pull request 'added an API to get a list of contact-notes by contact ID' (#59) from Ashutosh_Task#246_Get_Note_List_By_ContactID into Feature_Directory
Reviewed-on: #59
2025-05-17 11:02:34 +00:00
b0758a58ae added an API to get a list of contact-notes by contact ID 2025-05-17 16:13:35 +05:30
64e4525fcf Merge pull request 'Added an API to deleted ContactTag as well remove entries in contact-tag mapping table related to that tag' (#58) from Ashutosh_Task#266_Delete_Contact_Tag into Feature_Directory
Reviewed-on: #58
2025-05-17 09:48:06 +00:00
cbddc5c9ce Added an API to deleted ContactTag as well remove entries in contact-tag mapping table related to that tag 2025-05-17 09:48:06 +00:00
e97a83e7c0 Merge pull request 'added an API to get list of contacts by bucket id and added project- contact mapping table' (#56) from Ashutosh_Task#231_Get_Contact_By_BucketId into Feature_Directory
Reviewed-on: #56
2025-05-17 09:47:42 +00:00
1305742055 Added functionality to stop recreating tas of same name 2025-05-17 09:47:42 +00:00
895f22c62a properly mapped the updated Dto to contact table 2025-05-17 09:47:42 +00:00
f836f0dfb8 Refetched the contact in update contact API 2025-05-17 09:47:42 +00:00
823da8d2cb added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-17 09:47:42 +00:00
1d03ff0e09 Merge pull request 'Added an API to delete existing contact category' (#57) from Ashtush_Task#265_Delete_Contact_Category into Feature_Directory
Reviewed-on: #57
2025-05-17 08:52:12 +00:00
9f543d1859 Added an API to delete existing contact category 2025-05-17 12:15:23 +05:30
801e0e1805 Revert "added an API to get list of contacts by bucket id and added project- contact mapping table"
This reverts commit 22f777ca87053d2c79db610a27b8d7a5169e57bc.
2025-05-17 11:53:48 +05:30
22f777ca87 added an API to get list of contacts by bucket id and added project- contact mapping table 2025-05-17 11:52:45 +05:30
0236c87540 Merge pull request 'Added an API to create bucket' (#55) from Ashutosh_Task#249_Create_Bucket into Feature_Directory
Reviewed-on: #55
2025-05-17 04:42:02 +00:00
6a456001fd When checking in exsiting tag change Id from mapping Id to Tag ID 2025-05-17 04:42:02 +00:00
da552afb0d Added an API to create bucket 2025-05-17 04:42:02 +00:00
99c56bc9dd Merge pull request 'Added an API to create a contact tag' (#54) from Ashutosh_Tasl#236_Create_ContactTag into Feature_Directory
Reviewed-on: #54
2025-05-17 04:41:47 +00:00
455f51f4bd Fixed the errorof finding tag in wrong table 2025-05-15 22:38:24 +05:30
103bdcfb0b Added an API to create a contact tag 2025-05-15 22:30:29 +05:30
2429e20566 Added an API to Get a list of buckets Assigned to that employee 2025-05-15 19:26:55 +05:30
24ee3f685a Merge pull request 'added api to get list of contact tag' (#53) from pramod_Task#238 into Feature_Directory
Reviewed-on: #53
2025-05-15 13:26:11 +00:00
Pramod Mahajan
94f3fad09f added api to get list of contact tag 2025-05-15 13:26:11 +00:00
fc6ecd059c Merge pull request 'Added an API to update existing contact' (#52) from Ashutosh_Task#228_Update_Contact into Feature_Directory
Reviewed-on: #52
2025-05-15 13:17:24 +00:00
b6a5e4562f Added an API to update existing contact 2025-05-15 13:17:24 +00:00
4d508f43eb Merge pull request 'Created an endpoint to fetch list of all contact category in that tenant' (#51) from Ashutosh_Task#235_Get_Contact_Category_List into Feature_Directory
Reviewed-on: #51
2025-05-15 12:28:15 +00:00
e61289ed1b Created an endpoint to fetch list of all contact category in that tenant 2025-05-15 14:59:30 +05:30
173b23f7d3 Merge pull request 'Added endpoint to create a contact category with existence validation. Returns appropriate message or created category VM.' (#50) from Ashutosh_Task#229_Create_Contact_Category into Feature_Directory
Reviewed-on: #50
2025-05-15 07:44:08 +00:00
7bd3b3816f Created an API to create the Contact category 2025-05-15 12:51:23 +05:30
481b01a53f Merge pull request 'Ashutosh_Task#226_Create_Contact' (#49) from Ashutosh_Task#226_Create_Contact into Feature_Directory
Reviewed-on: #49
2025-05-15 06:46:07 +00:00
95129be836 Added logs to the 'Get List of Contacts' endpoint. 2025-05-15 11:38:31 +05:30
27a445b519 Merge branch 'Ashutosh_Task#226_Create_Contact' of https://git.marcoaiot.com/admin/marco.pms.api into Ashutosh_Task#226_Create_Contact 2025-05-15 11:25:16 +05:30
f6e4684ecb Added an API to create contact and populate related tables as well 2025-05-15 11:21:47 +05:30
fa09b1a868 Merge pull request 'Implemented Get Contact List API by TenantId' (#48) from pramod_Task#282 into Feature_Directory
Reviewed-on: #48
2025-05-15 05:47:00 +00:00
Pramod Mahajan
c52079c4db created GetListOfContact custome function 2025-05-15 11:06:46 +05:30
289b086cb3 Added an API to create contact and populate related tables as well 2025-05-15 10:52:04 +05:30
c8a18bbdba Added DirectoryHelper in helper folder 2025-05-14 17:51:57 +05:30
a960866c21 Added Migration for contact related tables 2025-05-14 16:10:07 +05:30
261a75511e An API skeleton has been added. 2025-05-14 15:44:30 +05:30
0d0e9c38b6 Added Directory controller file 2025-05-14 15:38:47 +05:30
3059257fd3 Merge pull request 'Models, DTOs (Data Transfer Objects), and view models have been created for the directory.' (#47) from Ashutosh_Task#124_Models_And_Dto into Feature_Directory
Reviewed-on: #47
2025-05-14 10:03:53 +00:00
1092c37609 Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-14 15:27:36 +05:30
abc2415b5b revert c7e89630eb494454c1322bdf4cf29ab076af7b86
revert Models, DTOs (Data Transfer Objects), and view models have been created for the directory.
2025-05-14 09:51:01 +00:00
c7e89630eb Models, DTOs (Data Transfer Objects), and view models have been created for the directory. 2025-05-14 15:17:05 +05:30
480 changed files with 298099 additions and 3460 deletions

5
.gitignore vendored
View File

@ -360,4 +360,7 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd
FodyWeavers.xsd
# Sonar
/.sonarqube

File diff suppressed because one or more lines are too long

View File

@ -62,7 +62,6 @@ namespace Marco.Pms.DataAccess.Initializer
// State = "State",
// Postalcode = "1234567890",
// City = "City",
TenantId = Guid.Parse("b3466e83-7e11-464c-b93a-daf047838b26"),
IsRootUser = true,
}, "User@123").GetAwaiter().GetResult();
@ -78,13 +77,10 @@ namespace Marco.Pms.DataAccess.Initializer
Gender = "",
EmergencyPhoneNumber = "1234567890",
CurrentAddress = "",
AadharNumber = "1234567890",
ApplicationUserId = user.Id,
BirthDate = DateTime.MinValue,
PanNumber = "",
PermanentAddress = "",
PhoneNumber = "",
TenantId = user.TenantId
PhoneNumber = ""
};
_db.Employees.Add(emp);

View File

@ -1274,7 +1274,7 @@ namespace Marco.Pms.DataAccess.Migrations
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
ColorCode = "#8592a3",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",

View File

@ -1295,7 +1295,7 @@ namespace Marco.Pms.DataAccess.Migrations
columns: new[] { "Id", "ColorCode", "Description", "IsDefault", "Name", "TenantId" },
values: new object[,]
{
{ new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"), "#6c757d", "These issues are currently under review", true, "In Review", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"), "#8592a3", "These issues are currently under review", true, "In Review", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("6b0c409b-3e80-4165-8b39-f3fcacb4c797"), "#FFCC99", "This is a newly created issue.", true, "New", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("6c5ac37d-5b7d-40f3-adec-2dabaa5cca86"), "#E6FF99", "Assigned to employee or team of employees", true, "Assigned", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("7f96bcd5-0c66-411b-8a1d-9d1a4785194e"), "#99E6FF", "These issues are currently in progress", true, "In Progress", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },

View File

@ -1216,7 +1216,7 @@ namespace Marco.Pms.DataAccess.Migrations
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
ColorCode = "#8592a3",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",

View File

@ -1222,7 +1222,7 @@ namespace Marco.Pms.DataAccess.Migrations
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
ColorCode = "#8592a3",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",

View File

@ -1299,7 +1299,7 @@ namespace Marco.Pms.DataAccess.Migrations
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
ColorCode = "#8592a3",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",

View File

@ -1299,7 +1299,7 @@ namespace Marco.Pms.DataAccess.Migrations
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
ColorCode = "#8592a3",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",

View File

@ -1267,7 +1267,7 @@ namespace Marco.Pms.DataAccess.Migrations
new
{
Id = new Guid("5c72b630-6923-4215-bf2c-b1622afd76e7"),
ColorCode = "#6c757d",
ColorCode = "#8592a3",
Description = "These issues are currently under review",
IsDefault = true,
Name = "In Review",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,438 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Directory_Related_Tables : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Buckets",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_Buckets", x => x.Id);
table.ForeignKey(
name: "FK_Buckets_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactCategoryMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactCategoryMasters", x => x.Id);
table.ForeignKey(
name: "FK_ContactCategoryMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactTagMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactTagMasters", x => x.Id);
table.ForeignKey(
name: "FK_ContactTagMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "DirectoryUpdateLogs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
RefereanceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UpdateAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DirectoryUpdateLogs", x => x.Id);
table.ForeignKey(
name: "FK_DirectoryUpdateLogs_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "EmployeeBucketMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
BucketId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
EmployeeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_EmployeeBucketMappings", x => x.Id);
table.ForeignKey(
name: "FK_EmployeeBucketMappings_Buckets_BucketId",
column: x => x.BucketId,
principalTable: "Buckets",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_EmployeeBucketMappings_Employees_EmployeeId",
column: x => x.EmployeeId,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "Contacts",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Organization = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Address = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ContactCategoryId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_Contacts", x => x.Id);
table.ForeignKey(
name: "FK_Contacts_ContactCategoryMasters_ContactCategoryId",
column: x => x.ContactCategoryId,
principalTable: "ContactCategoryMasters",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Contacts_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Contacts_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactBucketMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
BucketId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ContactId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactBucketMappings", x => x.Id);
table.ForeignKey(
name: "FK_ContactBucketMappings_Buckets_BucketId",
column: x => x.BucketId,
principalTable: "Buckets",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ContactBucketMappings_Contacts_ContactId",
column: x => x.ContactId,
principalTable: "Contacts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactNotes",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Note = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ContactId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactNotes", x => x.Id);
table.ForeignKey(
name: "FK_ContactNotes_Contacts_ContactId",
column: x => x.ContactId,
principalTable: "Contacts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ContactNotes_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ContactNotes_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactsEmails",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Label = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
EmailAddress = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ContactId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
IsPrimary = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactsEmails", x => x.Id);
table.ForeignKey(
name: "FK_ContactsEmails_Contacts_ContactId",
column: x => x.ContactId,
principalTable: "Contacts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactsPhones",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Label = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
PhoneNumber = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ContactId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
IsPrimary = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactsPhones", x => x.Id);
table.ForeignKey(
name: "FK_ContactsPhones_Contacts_ContactId",
column: x => x.ContactId,
principalTable: "Contacts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ContactTagMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ContactId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ContactTagId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactTagMappings", x => x.Id);
table.ForeignKey(
name: "FK_ContactTagMappings_ContactTagMasters_ContactTagId",
column: x => x.ContactTagId,
principalTable: "ContactTagMasters",
principalColumn: "Id");
table.ForeignKey(
name: "FK_ContactTagMappings_Contacts_ContactId",
column: x => x.ContactId,
principalTable: "Contacts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_Buckets_TenantId",
table: "Buckets",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ContactBucketMappings_BucketId",
table: "ContactBucketMappings",
column: "BucketId");
migrationBuilder.CreateIndex(
name: "IX_ContactBucketMappings_ContactId",
table: "ContactBucketMappings",
column: "ContactId");
migrationBuilder.CreateIndex(
name: "IX_ContactCategoryMasters_TenantId",
table: "ContactCategoryMasters",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ContactNotes_ContactId",
table: "ContactNotes",
column: "ContactId");
migrationBuilder.CreateIndex(
name: "IX_ContactNotes_CreatedById",
table: "ContactNotes",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_ContactNotes_TenantId",
table: "ContactNotes",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_Contacts_ContactCategoryId",
table: "Contacts",
column: "ContactCategoryId");
migrationBuilder.CreateIndex(
name: "IX_Contacts_CreatedById",
table: "Contacts",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_Contacts_TenantId",
table: "Contacts",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ContactsEmails_ContactId",
table: "ContactsEmails",
column: "ContactId");
migrationBuilder.CreateIndex(
name: "IX_ContactsPhones_ContactId",
table: "ContactsPhones",
column: "ContactId");
migrationBuilder.CreateIndex(
name: "IX_ContactTagMappings_ContactId",
table: "ContactTagMappings",
column: "ContactId");
migrationBuilder.CreateIndex(
name: "IX_ContactTagMappings_ContactTagId",
table: "ContactTagMappings",
column: "ContactTagId");
migrationBuilder.CreateIndex(
name: "IX_ContactTagMasters_TenantId",
table: "ContactTagMasters",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_DirectoryUpdateLogs_UpdatedById",
table: "DirectoryUpdateLogs",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_EmployeeBucketMappings_BucketId",
table: "EmployeeBucketMappings",
column: "BucketId");
migrationBuilder.CreateIndex(
name: "IX_EmployeeBucketMappings_EmployeeId",
table: "EmployeeBucketMappings",
column: "EmployeeId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ContactBucketMappings");
migrationBuilder.DropTable(
name: "ContactNotes");
migrationBuilder.DropTable(
name: "ContactsEmails");
migrationBuilder.DropTable(
name: "ContactsPhones");
migrationBuilder.DropTable(
name: "ContactTagMappings");
migrationBuilder.DropTable(
name: "DirectoryUpdateLogs");
migrationBuilder.DropTable(
name: "EmployeeBucketMappings");
migrationBuilder.DropTable(
name: "ContactTagMasters");
migrationBuilder.DropTable(
name: "Contacts");
migrationBuilder.DropTable(
name: "Buckets");
migrationBuilder.DropTable(
name: "ContactCategoryMasters");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,81 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_ContactProjectMapping_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ProjectId",
table: "Contacts");
migrationBuilder.CreateTable(
name: "ContactProjectMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ContactId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ContactProjectMappings", x => x.Id);
table.ForeignKey(
name: "FK_ContactProjectMappings_Contacts_ContactId",
column: x => x.ContactId,
principalTable: "Contacts",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ContactProjectMappings_Projects_ProjectId",
column: x => x.ProjectId,
principalTable: "Projects",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ContactProjectMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_ContactProjectMappings_ContactId",
table: "ContactProjectMappings",
column: "ContactId");
migrationBuilder.CreateIndex(
name: "IX_ContactProjectMappings_ProjectId",
table: "ContactProjectMappings",
column: "ProjectId");
migrationBuilder.CreateIndex(
name: "IX_ContactProjectMappings_TenantId",
table: "ContactProjectMappings",
column: "TenantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ContactProjectMappings");
migrationBuilder.AddColumn<Guid>(
name: "ProjectId",
table: "Contacts",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,64 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Fixed_Typo_Of_ColumnName : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_ContactTagMappings_ContactTagMasters_ContactTagId",
table: "ContactTagMappings");
migrationBuilder.AlterColumn<Guid>(
name: "ContactTagId",
table: "ContactTagMappings",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)",
oldNullable: true)
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AddForeignKey(
name: "FK_ContactTagMappings_ContactTagMasters_ContactTagId",
table: "ContactTagMappings",
column: "ContactTagId",
principalTable: "ContactTagMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_ContactTagMappings_ContactTagMasters_ContactTagId",
table: "ContactTagMappings");
migrationBuilder.AlterColumn<Guid>(
name: "ContactTagId",
table: "ContactTagMappings",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)")
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AddForeignKey(
name: "FK_ContactTagMappings_ContactTagMasters_ContactTagId",
table: "ContactTagMappings",
column: "ContactTagId",
principalTable: "ContactTagMasters",
principalColumn: "Id");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,100 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Feature_Directory_Management : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "CreatedAt",
table: "Buckets",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
migrationBuilder.AddColumn<Guid>(
name: "CreatedByID",
table: "Buckets",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.InsertData(
table: "Features",
columns: new[] { "Id", "Description", "IsActive", "ModuleId", "Name" },
values: new object[] { new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), "Managing all directory related rights", true, new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), "Directory Management" });
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[,]
{
{ new Guid("0f919170-92d4-4337-abd3-49b66fc871bb"), "Full control over directories they created. Can view contacts in directories they either created or were assigned to. Can manage permissions only for directories they created.", new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), true, "Directory User" },
{ new Guid("4286a13b-bb40-4879-8c6d-18e9e393beda"), "Full control over all directories, including the ability to manage permissions for all directories in the system.", new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), true, "Directory Admin" },
{ new Guid("62668630-13ce-4f52-a0f0-db38af2230c5"), "Full control over directories they created or have been assigned. Can also manage permissions for those directories.", new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"), true, "Directory Manager" }
});
migrationBuilder.CreateIndex(
name: "IX_Buckets_CreatedByID",
table: "Buckets",
column: "CreatedByID");
migrationBuilder.AddForeignKey(
name: "FK_Buckets_Employees_CreatedByID",
table: "Buckets",
column: "CreatedByID",
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Buckets_Employees_CreatedByID",
table: "Buckets");
migrationBuilder.DropIndex(
name: "IX_Buckets_CreatedByID",
table: "Buckets");
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("0f919170-92d4-4337-abd3-49b66fc871bb"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("4286a13b-bb40-4879-8c6d-18e9e393beda"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("62668630-13ce-4f52-a0f0-db38af2230c5"));
migrationBuilder.DeleteData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("39e66f81-efc6-446c-95bd-46bff6cfb606"));
migrationBuilder.DropColumn(
name: "CreatedAt",
table: "Buckets");
migrationBuilder.DropColumn(
name: "CreatedByID",
table: "Buckets");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,99 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Mail_Related_Tables : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "MailingList",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Title = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Body = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Keywords = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_MailingList", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "MailLogs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Body = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
EmailId = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TimeStamp = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
EmployeeId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_MailLogs", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "MailDetails",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Recipient = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Subject = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Schedule = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
MailListId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_MailDetails", x => x.Id);
table.ForeignKey(
name: "FK_MailDetails_MailingList_MailListId",
column: x => x.MailListId,
principalTable: "MailingList",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_MailDetails_MailListId",
table: "MailDetails",
column: "MailListId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "MailDetails");
migrationBuilder.DropTable(
name: "MailLogs");
migrationBuilder.DropTable(
name: "MailingList");
}
}
}

View File

@ -0,0 +1,43 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Self_Attendance_Feature_Permission : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("915e6bff-65f6-4e3f-aea8-3fd217d3ea9e"),
columns: new[] { "Description", "Name" },
values: new object[] { "Team Attendance refers to tracking and managing the attendance of all team members collectively, often monitored by a team lead or manager.", "Team Attendance " });
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[] { new Guid("ccb0589f-712b-43de-92ed-5b6088e7dc4e"), "Team Attendance refers to tracking and managing the attendance of all team members collectively, often monitored by a team lead or manager.", new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"), true, "Self Attendance" });
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("ccb0589f-712b-43de-92ed-5b6088e7dc4e"));
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("915e6bff-65f6-4e3f-aea8-3fd217d3ea9e"),
columns: new[] { "Description", "Name" },
values: new object[] { "Grants a user the ability to record their own work hours or presence within the system. This typically involves checking in and checking out, logging break times, and potentially viewing their own attendance history.", "Perform Attendance " });
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,84 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_OTP_And_MPIN_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "MPINDetails",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
MPIN = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
MPINToken = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TimeStamp = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_MPINDetails", x => x.Id);
table.ForeignKey(
name: "FK_MPINDetails_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "OTPDetails",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UserId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OTP = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ExpriesInSec = table.Column<int>(type: "int", nullable: false),
TimeStamp = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_OTPDetails", x => x.Id);
table.ForeignKey(
name: "FK_OTPDetails_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_MPINDetails_TenantId",
table: "MPINDetails",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_OTPDetails_TenantId",
table: "OTPDetails",
column: "TenantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "MPINDetails");
migrationBuilder.DropTable(
name: "OTPDetails");
}
}
}

View File

@ -0,0 +1,40 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Subject_In_MailingList_And_Removed_From_MailDetails : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Subject",
table: "MailDetails");
migrationBuilder.AddColumn<string>(
name: "Subject",
table: "MailingList",
type: "longtext",
nullable: false)
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Subject",
table: "MailingList");
migrationBuilder.AddColumn<string>(
name: "Subject",
table: "MailDetails",
type: "longtext",
nullable: false)
.Annotation("MySql:CharSet", "utf8mb4");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_IsUsed_FLag_In_OTPDetails_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsUsed",
table: "OTPDetails",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsUsed",
table: "OTPDetails");
}
}
}

View File

@ -0,0 +1,37 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Short_Name_Column_In_Projects_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "ShortName",
table: "Projects",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "Projects",
keyColumn: "Id",
keyValue: new Guid("85bf587b-7ca9-4685-b77c-d817f5847e85"),
column: "ShortName",
value: null);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ShortName",
table: "Projects");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_TaskAttachments_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "TaskAttachments",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ReferenceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_TaskAttachments", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "TaskAttachments");
}
}
}

View File

@ -0,0 +1,188 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Apporved_By_In_TaskAllocation_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "ApprovedById",
table: "TaskAllocations",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<DateTime>(
name: "ApprovedDate",
table: "TaskAllocations",
type: "datetime(6)",
nullable: true);
migrationBuilder.AddColumn<Guid>(
name: "ParentTaskId",
table: "TaskAllocations",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "ReportedById",
table: "TaskAllocations",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<double>(
name: "ReportedTask",
table: "TaskAllocations",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<Guid>(
name: "WorkStatusId",
table: "TaskAllocations",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.CreateTable(
name: "WorkStatusMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_WorkStatusMasters", x => x.Id);
table.ForeignKey(
name: "FK_WorkStatusMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.InsertData(
table: "WorkStatusMasters",
columns: new[] { "Id", "Description", "IsSystem", "Name", "TenantId" },
values: new object[,]
{
{ new Guid("00a062e6-62e6-42c5-b6b1-024328651b72"), "Tasks are not finished as reported or have any issues in al the tasks", true, "NCR", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("030bb085-e230-4370-aec7-9a74d652864e"), "Confirm the tasks are actually finished as reported", true, "Approve", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("2a1a5b96-cf93-4111-b4b1-76c19d6333b4"), "Not all tasks are actually finished as reported", true, "Partially Approve", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.CreateIndex(
name: "IX_TaskAllocations_ApprovedById",
table: "TaskAllocations",
column: "ApprovedById");
migrationBuilder.CreateIndex(
name: "IX_TaskAllocations_ReportedById",
table: "TaskAllocations",
column: "ReportedById");
migrationBuilder.CreateIndex(
name: "IX_TaskAllocations_WorkStatusId",
table: "TaskAllocations",
column: "WorkStatusId");
migrationBuilder.CreateIndex(
name: "IX_WorkStatusMasters_TenantId",
table: "WorkStatusMasters",
column: "TenantId");
migrationBuilder.AddForeignKey(
name: "FK_TaskAllocations_Employees_ApprovedById",
table: "TaskAllocations",
column: "ApprovedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_TaskAllocations_Employees_ReportedById",
table: "TaskAllocations",
column: "ReportedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_TaskAllocations_WorkStatusMasters_WorkStatusId",
table: "TaskAllocations",
column: "WorkStatusId",
principalTable: "WorkStatusMasters",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_TaskAllocations_Employees_ApprovedById",
table: "TaskAllocations");
migrationBuilder.DropForeignKey(
name: "FK_TaskAllocations_Employees_ReportedById",
table: "TaskAllocations");
migrationBuilder.DropForeignKey(
name: "FK_TaskAllocations_WorkStatusMasters_WorkStatusId",
table: "TaskAllocations");
migrationBuilder.DropTable(
name: "WorkStatusMasters");
migrationBuilder.DropIndex(
name: "IX_TaskAllocations_ApprovedById",
table: "TaskAllocations");
migrationBuilder.DropIndex(
name: "IX_TaskAllocations_ReportedById",
table: "TaskAllocations");
migrationBuilder.DropIndex(
name: "IX_TaskAllocations_WorkStatusId",
table: "TaskAllocations");
migrationBuilder.DropColumn(
name: "ApprovedById",
table: "TaskAllocations");
migrationBuilder.DropColumn(
name: "ApprovedDate",
table: "TaskAllocations");
migrationBuilder.DropColumn(
name: "ParentTaskId",
table: "TaskAllocations");
migrationBuilder.DropColumn(
name: "ReportedById",
table: "TaskAllocations");
migrationBuilder.DropColumn(
name: "ReportedTask",
table: "TaskAllocations");
migrationBuilder.DropColumn(
name: "WorkStatusId",
table: "TaskAllocations");
}
}
}

View File

@ -0,0 +1,41 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class EnhancedWorkItemForParentId_Description : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Description",
table: "WorkItems",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<Guid>(
name: "ParentTaskId",
table: "WorkItems",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Description",
table: "WorkItems");
migrationBuilder.DropColumn(
name: "ParentTaskId",
table: "WorkItems");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,57 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_New_Status_Master_In_Progress : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("603e994b-a27f-4e5d-a251-f3d69b0498ba"),
column: "Status",
value: "On Hold");
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("ef1c356e-0fe0-42df-a5d3-8daee355492d"),
column: "Status",
value: "In Active");
migrationBuilder.InsertData(
table: "StatusMasters",
columns: new[] { "Id", "Status", "TenantId" },
values: new object[] { new Guid("cdad86aa-8a56-4ff4-b633-9c629057dfef"), "In Progress", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") });
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("cdad86aa-8a56-4ff4-b633-9c629057dfef"));
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("603e994b-a27f-4e5d-a251-f3d69b0498ba"),
column: "Status",
value: "In Progress");
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("ef1c356e-0fe0-42df-a5d3-8daee355492d"),
column: "Status",
value: "On Hold");
}
}
}

View File

@ -0,0 +1,101 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_UpdatedBy_In_Contacts_And_ContactNotes_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "UpdatedAt",
table: "Contacts",
type: "datetime(6)",
nullable: true);
migrationBuilder.AddColumn<Guid>(
name: "UpdatedById",
table: "Contacts",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<DateTime>(
name: "UpdatedAt",
table: "ContactNotes",
type: "datetime(6)",
nullable: true);
migrationBuilder.AddColumn<Guid>(
name: "UpdatedById",
table: "ContactNotes",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.CreateIndex(
name: "IX_Contacts_UpdatedById",
table: "Contacts",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_ContactNotes_UpdatedById",
table: "ContactNotes",
column: "UpdatedById");
migrationBuilder.AddForeignKey(
name: "FK_ContactNotes_Employees_UpdatedById",
table: "ContactNotes",
column: "UpdatedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Contacts_Employees_UpdatedById",
table: "Contacts",
column: "UpdatedById",
principalTable: "Employees",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_ContactNotes_Employees_UpdatedById",
table: "ContactNotes");
migrationBuilder.DropForeignKey(
name: "FK_Contacts_Employees_UpdatedById",
table: "Contacts");
migrationBuilder.DropIndex(
name: "IX_Contacts_UpdatedById",
table: "Contacts");
migrationBuilder.DropIndex(
name: "IX_ContactNotes_UpdatedById",
table: "ContactNotes");
migrationBuilder.DropColumn(
name: "UpdatedAt",
table: "Contacts");
migrationBuilder.DropColumn(
name: "UpdatedById",
table: "Contacts");
migrationBuilder.DropColumn(
name: "UpdatedAt",
table: "ContactNotes");
migrationBuilder.DropColumn(
name: "UpdatedById",
table: "ContactNotes");
}
}
}

View File

@ -0,0 +1,131 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_New_Feature_Permissiom_View_All_Employee : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("c7b68e33-72f0-474f-bd96-77636427ecc8"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("f2aee20a-b754-4537-8166-f9507b44585b"));
migrationBuilder.DeleteData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"));
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("b82d2b7e-0d52-45f3-997b-c008ea460e7f"),
column: "Description",
value: "Grants a user read-only access to details about the individuals within the system which are is assigned to same projects as user. This typically includes names, contact information, roles, departments, and potentially other relevant employee data");
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[,]
{
{ new Guid("60611762-7f8a-4fb5-b53f-b1139918796b"), "Grants a user read-only access to details about the all individuals within the system. This typically includes names, contact information, roles, departments, and potentially other relevant employee data", new Guid("81ab8a87-8ccd-4015-a917-0627cee6a100"), true, "View All Employee" },
{ new Guid("8d7cc6e3-9147-41f7-aaa7-fa507e450bd4"), "Grants a user comprehensive read-only access to all details concerning the project's underlying systems, technologies, resources, and configurations", new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"), true, "View Project Infra" },
{ new Guid("cf2825ad-453b-46aa-91d9-27c124d63373"), "This allows them to create, modify, and manage all aspects of the supporting infrastructure.", new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"), true, "Manage Project Infra" }
});
migrationBuilder.UpdateData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"),
column: "Name",
value: "Attendance Management");
migrationBuilder.UpdateData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"),
column: "Name",
value: "Project Management");
migrationBuilder.UpdateData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"),
column: "Name",
value: "Masters");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("60611762-7f8a-4fb5-b53f-b1139918796b"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("8d7cc6e3-9147-41f7-aaa7-fa507e450bd4"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("cf2825ad-453b-46aa-91d9-27c124d63373"));
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("b82d2b7e-0d52-45f3-997b-c008ea460e7f"),
column: "Description",
value: "Grants a user read-only access to details about the individuals within the system. This typically includes names, contact information, roles, departments, and potentially other relevant employee data");
migrationBuilder.UpdateData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"),
column: "Name",
value: "Attendance");
migrationBuilder.UpdateData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("53176ebf-c75d-42e5-839f-4508ffac3def"),
column: "Name",
value: "Manage Project");
migrationBuilder.UpdateData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("be3b3afc-6ccf-4566-b9b6-aafcb65546be"),
column: "Name",
value: "Global Masters");
migrationBuilder.InsertData(
table: "Features",
columns: new[] { "Id", "Description", "IsActive", "ModuleId", "Name" },
values: new object[] { new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"), "Manage Infra", true, new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"), "Manage Infra" });
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[,]
{
{ new Guid("c7b68e33-72f0-474f-bd96-77636427ecc8"), "Grants a user comprehensive read-only access to all details concerning the project's underlying systems, technologies, resources, and configurations", new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"), true, "View Project Infra" },
{ new Guid("f2aee20a-b754-4537-8166-f9507b44585b"), "This allows them to create, modify, and manage all aspects of the supporting infrastructure.", new Guid("9666de86-d7c7-4d3d-acaa-fcd6d6b81f3c"), true, "Manage Project Infra" }
});
}
}
}

View File

@ -0,0 +1,47 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Changed_Name_Of_Feature_Permission_To_ViewTeamMembers : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("60611762-7f8a-4fb5-b53f-b1139918796b"),
column: "Name",
value: "View All Employees");
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("b82d2b7e-0d52-45f3-997b-c008ea460e7f"),
column: "Name",
value: "View Team Members");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("60611762-7f8a-4fb5-b53f-b1139918796b"),
column: "Name",
value: "View All Employee");
migrationBuilder.UpdateData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("b82d2b7e-0d52-45f3-997b-c008ea460e7f"),
column: "Name",
value: "View Employee");
}
}
}

View File

@ -0,0 +1,50 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_UploadedBy_ForeginKey_In_Decuments_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<Guid>(
name: "UploadedById",
table: "Documents",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.CreateIndex(
name: "IX_Documents_UploadedById",
table: "Documents",
column: "UploadedById");
migrationBuilder.AddForeignKey(
name: "FK_Documents_Employees_UploadedById",
table: "Documents",
column: "UploadedById",
principalTable: "Employees",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Documents_Employees_UploadedById",
table: "Documents");
migrationBuilder.DropIndex(
name: "IX_Documents_UploadedById",
table: "Documents");
migrationBuilder.DropColumn(
name: "UploadedById",
table: "Documents");
}
}
}

View File

@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Designation_Paraneter_In_Contacts_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Designation",
table: "Contacts",
type: "longtext",
nullable: false)
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Designation",
table: "Contacts");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,664 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Expense_Related_Tables : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "ExpensesReimburse",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ReimburseTransactionId = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ReimburseDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ReimburseById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ReimburseNote = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ExpensesReimburse", x => x.Id);
table.ForeignKey(
name: "FK_ExpensesReimburse_Employees_ReimburseById",
column: x => x.ReimburseById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpensesReimburse_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ExpensesStatusMaster",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
DisplayName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Color = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ExpensesStatusMaster", x => x.Id);
table.ForeignKey(
name: "FK_ExpensesStatusMaster_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ExpensesTypeMaster",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
NoOfPersonsRequired = table.Column<bool>(type: "tinyint(1)", nullable: false),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ExpensesTypeMaster", x => x.Id);
table.ForeignKey(
name: "FK_ExpensesTypeMaster_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "PaymentModeMatser",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_PaymentModeMatser", x => x.Id);
table.ForeignKey(
name: "FK_PaymentModeMatser_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ExpensesStatusMapping",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
StatusId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
NextStatusId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ExpensesStatusMapping", x => x.Id);
table.ForeignKey(
name: "FK_ExpensesStatusMapping_ExpensesStatusMaster_NextStatusId",
column: x => x.NextStatusId,
principalTable: "ExpensesStatusMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpensesStatusMapping_ExpensesStatusMaster_StatusId",
column: x => x.StatusId,
principalTable: "ExpensesStatusMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpensesStatusMapping_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "StatusPermissionMapping",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
StatusId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PermissionId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_StatusPermissionMapping", x => x.Id);
table.ForeignKey(
name: "FK_StatusPermissionMapping_ExpensesStatusMaster_StatusId",
column: x => x.StatusId,
principalTable: "ExpensesStatusMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_StatusPermissionMapping_FeaturePermissions_PermissionId",
column: x => x.PermissionId,
principalTable: "FeaturePermissions",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_StatusPermissionMapping_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "Expenses",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ExpensesTypeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PaymentModeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PaidById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TransactionDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TransactionId = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Location = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
GSTNumber = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
SupplerName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Amount = table.Column<double>(type: "double", nullable: false),
NoOfPersons = table.Column<int>(type: "int", nullable: true),
StatusId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PreApproved = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_Expenses", x => x.Id);
table.ForeignKey(
name: "FK_Expenses_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Expenses_Employees_PaidById",
column: x => x.PaidById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Expenses_ExpensesStatusMaster_StatusId",
column: x => x.StatusId,
principalTable: "ExpensesStatusMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Expenses_ExpensesTypeMaster_ExpensesTypeId",
column: x => x.ExpensesTypeId,
principalTable: "ExpensesTypeMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Expenses_PaymentModeMatser_PaymentModeId",
column: x => x.PaymentModeId,
principalTable: "PaymentModeMatser",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Expenses_Projects_ProjectId",
column: x => x.ProjectId,
principalTable: "Projects",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Expenses_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "BillAttachments",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ExpensesId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_BillAttachments", x => x.Id);
table.ForeignKey(
name: "FK_BillAttachments_Documents_DocumentId",
column: x => x.DocumentId,
principalTable: "Documents",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_BillAttachments_Expenses_ExpensesId",
column: x => x.ExpensesId,
principalTable: "Expenses",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_BillAttachments_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ExpenseLogs",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ExpenseId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Action = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Comment = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ExpenseLogs", x => x.Id);
table.ForeignKey(
name: "FK_ExpenseLogs_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpenseLogs_Expenses_ExpenseId",
column: x => x.ExpenseId,
principalTable: "Expenses",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpenseLogs_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ExpensesReimburseMapping",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ExpensesId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ExpensesReimburseId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ExpensesReimburseMapping", x => x.Id);
table.ForeignKey(
name: "FK_ExpensesReimburseMapping_ExpensesReimburse_ExpensesReimburse~",
column: x => x.ExpensesReimburseId,
principalTable: "ExpensesReimburse",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpensesReimburseMapping_Expenses_ExpensesId",
column: x => x.ExpensesId,
principalTable: "Expenses",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ExpensesReimburseMapping_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.InsertData(
table: "ExpensesStatusMaster",
columns: new[] { "Id", "Color", "Description", "DisplayName", "IsActive", "IsSystem", "Name", "TenantId" },
values: new object[,]
{
{ new Guid("297e0d8f-f668-41b5-bfea-e03b354251c8"), "#8592a3", "Expense has been created but not yet submitted.", "Draft", true, true, "Draft", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"), "#03c3ec", "Review is completed, waiting for action of approver.", "Mark as Reviewed", true, true, "Approval Pending", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("61578360-3a49-4c34-8604-7b35a3787b95"), "#71dd37", "Expense has been settled.", "Mark as Paid", true, true, "Paid", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), "#696cff", "Reviewer is currently reviewing the expense.", "Submit", true, true, "Review Pending", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), "#ff3e1d", "Expense was declined, often with a reason(either review rejected or approval rejected.", "Reject", true, true, "Rejected", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("f18c5cfd-7815-4341-8da2-2c2d65778e27"), "#ffab00", "Approved expense is awaiting final payment.", "Mark as Approved", true, true, "Payment Pending", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.InsertData(
table: "ExpensesTypeMaster",
columns: new[] { "Id", "Description", "IsActive", "Name", "NoOfPersonsRequired", "TenantId" },
values: new object[,]
{
{ new Guid("1e2d697a-76b4-4be8-bc66-87144561a1a0"), "Scheduled payments for external services or goods.", true, "Vendor/Supplier Payments", false, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("2de53163-0dbd-404b-8e60-1b02e6b4886a"), "Vehicle fuel, logistics services and delivery of goods or personnel.", true, "Transport", false, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("4842fa61-64eb-4241-aebd-8282065af9f9"), "Government fees, insurance, inspections and safety-related expenditures.", true, "Compliance & Safety", false, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("52484820-1b54-4865-8f0f-baa2b1d339b9"), "Site setup costs including equipment deployment and temporary infrastructure.", true, "Mobilization", false, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("5e0c6227-d49d-41ff-9f1f-781f0aee2469"), "Materials, equipment and supplies purchased for site operations.", true, "Procurement", false, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("77013784-9324-4d8b-bd36-d6f928e68942"), "Machinery servicing, electricity, water, and temporary office needs.", true, "Maintenance & Utilities", false, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("dd120bc4-ab0a-45ba-8450-5cd45ff221ca"), "Delivery of personnel.", true, "Travelling", true, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("fc59eb90-98ea-481c-b421-54bfa9e42d8f"), " Worker amenities like snacks, meals, safety gear, accommodation, medical support etc.", true, "Employee Welfare", true, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.InsertData(
table: "Features",
columns: new[] { "Id", "Description", "IsActive", "ModuleId", "Name" },
values: new object[] { new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), "Expense Management is the systematic process of tracking, controlling, and reporting business-related expenditures.", true, new Guid("bf59fd88-b57a-4d67-bf01-3780f385896b"), "Expense Management" });
migrationBuilder.InsertData(
table: "PaymentModeMatser",
columns: new[] { "Id", "Description", "IsActive", "Name", "TenantId" },
values: new object[,]
{
{ new Guid("24e6b0df-7929-47d2-88a3-4cf14c1f28f9"), "Physical currency; still used for small or informal transactions.", true, "Cash", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("2e919e94-694c-41d9-9489-0a2b4208a027"), "Real-time bank-to-bank transfer using mobile apps; widely used for peer-to-peer and merchant payments.", true, "UPI", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("48d9b462-5d87-4dec-8dec-2bc943943172"), "Paper-based payment order; less common now due to processing delays and fraud risks.", true, "Cheque", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("ed667353-8eea-4fd1-8750-719405932480"), "Online banking portals used to transfer funds directly between accounts", true, "NetBanking", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.InsertData(
table: "ExpensesStatusMapping",
columns: new[] { "Id", "NextStatusId", "StatusId", "TenantId" },
values: new object[,]
{
{ new Guid("1fca1700-1266-477d-bba4-9ac3753aa33c"), new Guid("f18c5cfd-7815-4341-8da2-2c2d65778e27"), new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("36c00548-241c-43ec-bc95-cacebedb925c"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("5cf7f1df-9d1f-4289-add0-1775ad614f25"), new Guid("61578360-3a49-4c34-8604-7b35a3787b95"), new Guid("f18c5cfd-7815-4341-8da2-2c2d65778e27"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("75bbda6a-6a53-47d1-ad71-5f5f9446a11e"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("af1e4492-98ee-4451-8ab7-fd8323f29c32"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("297e0d8f-f668-41b5-bfea-e03b354251c8"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("ef1fcfbc-60e0-4f17-9308-c583a05d48fd"), new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("fddaaf20-4ccc-4f4e-a724-dd310272b356"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[,]
{
{ new Guid("01e06444-9ca7-4df4-b900-8c3fa051b92f"), "Allows a user to view all expense records across the organization or project, regardless of who submitted or paid them", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "View All" },
{ new Guid("0f57885d-bcb2-4711-ac95-d841ace6d5a7"), "Allows a user to create and submit new expense records, including attaching relevant documents like receipts or invoices.", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "Upload" },
{ new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), "Allows a user to examine submitted expenses for accuracy, completeness, and policy compliance before they are approved or rejected.", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "Review" },
{ new Guid("385be49f-8fde-440e-bdbc-3dffeb8dd116"), "Allows a user to view only the expense records that they have personally submitted", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "View Self" },
{ new Guid("bdee29a2-b73b-402d-8dd1-c4b1f81ccbc3"), "Allows a user to configure and control system settings, such as managing expense types, payment modes, permissions, and overall workflow rules.", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "Manage" },
{ new Guid("ea5a1529-4ee8-4828-80ea-0e23c9d4dd11"), "Allows a user to handle post-approval actions such as recording payments, updating financial records, or marking expenses as reimbursed or settled.", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "Process" },
{ new Guid("eaafdd76-8aac-45f9-a530-315589c6deca"), "Allows a user to authorize or reject submitted expenses, making them officially accepted or declined within the system.", new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"), true, "Approve" }
});
migrationBuilder.InsertData(
table: "StatusPermissionMapping",
columns: new[] { "Id", "PermissionId", "StatusId", "TenantId" },
values: new object[,]
{
{ new Guid("214354e5-daad-4569-ad69-eb5bf4e87fbc"), new Guid("ea5a1529-4ee8-4828-80ea-0e23c9d4dd11"), new Guid("61578360-3a49-4c34-8604-7b35a3787b95"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("4652d73f-fc71-4fe1-9f2f-1e48b342d741"), new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("cd15f9b9-be45-4deb-9c71-2f23f872dbcd"), new Guid("eaafdd76-8aac-45f9-a530-315589c6deca"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("ed893799-1a5f-4311-a077-de93c86ca8fd"), new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("f6f26b2f-2fa6-40b7-8601-cbd4bcdda0cc"), new Guid("eaafdd76-8aac-45f9-a530-315589c6deca"), new Guid("f18c5cfd-7815-4341-8da2-2c2d65778e27"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.CreateIndex(
name: "IX_BillAttachments_DocumentId",
table: "BillAttachments",
column: "DocumentId");
migrationBuilder.CreateIndex(
name: "IX_BillAttachments_ExpensesId",
table: "BillAttachments",
column: "ExpensesId");
migrationBuilder.CreateIndex(
name: "IX_BillAttachments_TenantId",
table: "BillAttachments",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpenseLogs_ExpenseId",
table: "ExpenseLogs",
column: "ExpenseId");
migrationBuilder.CreateIndex(
name: "IX_ExpenseLogs_TenantId",
table: "ExpenseLogs",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpenseLogs_UpdatedById",
table: "ExpenseLogs",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_Expenses_CreatedById",
table: "Expenses",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_Expenses_ExpensesTypeId",
table: "Expenses",
column: "ExpensesTypeId");
migrationBuilder.CreateIndex(
name: "IX_Expenses_PaidById",
table: "Expenses",
column: "PaidById");
migrationBuilder.CreateIndex(
name: "IX_Expenses_PaymentModeId",
table: "Expenses",
column: "PaymentModeId");
migrationBuilder.CreateIndex(
name: "IX_Expenses_ProjectId",
table: "Expenses",
column: "ProjectId");
migrationBuilder.CreateIndex(
name: "IX_Expenses_StatusId",
table: "Expenses",
column: "StatusId");
migrationBuilder.CreateIndex(
name: "IX_Expenses_TenantId",
table: "Expenses",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesReimburse_ReimburseById",
table: "ExpensesReimburse",
column: "ReimburseById");
migrationBuilder.CreateIndex(
name: "IX_ExpensesReimburse_TenantId",
table: "ExpensesReimburse",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesReimburseMapping_ExpensesId",
table: "ExpensesReimburseMapping",
column: "ExpensesId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesReimburseMapping_ExpensesReimburseId",
table: "ExpensesReimburseMapping",
column: "ExpensesReimburseId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesReimburseMapping_TenantId",
table: "ExpensesReimburseMapping",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesStatusMapping_NextStatusId",
table: "ExpensesStatusMapping",
column: "NextStatusId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesStatusMapping_StatusId",
table: "ExpensesStatusMapping",
column: "StatusId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesStatusMapping_TenantId",
table: "ExpensesStatusMapping",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesStatusMaster_TenantId",
table: "ExpensesStatusMaster",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesTypeMaster_TenantId",
table: "ExpensesTypeMaster",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_PaymentModeMatser_TenantId",
table: "PaymentModeMatser",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_StatusPermissionMapping_PermissionId",
table: "StatusPermissionMapping",
column: "PermissionId");
migrationBuilder.CreateIndex(
name: "IX_StatusPermissionMapping_StatusId",
table: "StatusPermissionMapping",
column: "StatusId");
migrationBuilder.CreateIndex(
name: "IX_StatusPermissionMapping_TenantId",
table: "StatusPermissionMapping",
column: "TenantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "BillAttachments");
migrationBuilder.DropTable(
name: "ExpenseLogs");
migrationBuilder.DropTable(
name: "ExpensesReimburseMapping");
migrationBuilder.DropTable(
name: "ExpensesStatusMapping");
migrationBuilder.DropTable(
name: "StatusPermissionMapping");
migrationBuilder.DropTable(
name: "ExpensesReimburse");
migrationBuilder.DropTable(
name: "Expenses");
migrationBuilder.DropTable(
name: "ExpensesStatusMaster");
migrationBuilder.DropTable(
name: "ExpensesTypeMaster");
migrationBuilder.DropTable(
name: "PaymentModeMatser");
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("01e06444-9ca7-4df4-b900-8c3fa051b92f"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("0f57885d-bcb2-4711-ac95-d841ace6d5a7"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("385be49f-8fde-440e-bdbc-3dffeb8dd116"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("bdee29a2-b73b-402d-8dd1-c4b1f81ccbc3"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("ea5a1529-4ee8-4828-80ea-0e23c9d4dd11"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("eaafdd76-8aac-45f9-a530-315589c6deca"));
migrationBuilder.DeleteData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("a4e25142-449b-4334-a6e5-22f70e4732d7"));
}
}
}

View File

@ -0,0 +1,437 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Change_ExpenseStatus_To_Be_System_Scope : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_ExpensesStatusMapping_Tenants_TenantId",
table: "ExpensesStatusMapping");
migrationBuilder.DropForeignKey(
name: "FK_ExpensesStatusMaster_Tenants_TenantId",
table: "ExpensesStatusMaster");
migrationBuilder.DropForeignKey(
name: "FK_StatusPermissionMapping_Tenants_TenantId",
table: "StatusPermissionMapping");
migrationBuilder.DropIndex(
name: "IX_StatusPermissionMapping_TenantId",
table: "StatusPermissionMapping");
migrationBuilder.DropIndex(
name: "IX_ExpensesStatusMaster_TenantId",
table: "ExpensesStatusMaster");
migrationBuilder.DropIndex(
name: "IX_ExpensesStatusMapping_TenantId",
table: "ExpensesStatusMapping");
migrationBuilder.DeleteData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("75bbda6a-6a53-47d1-ad71-5f5f9446a11e"));
migrationBuilder.DeleteData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("fddaaf20-4ccc-4f4e-a724-dd310272b356"));
migrationBuilder.DeleteData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("4652d73f-fc71-4fe1-9f2f-1e48b342d741"));
migrationBuilder.DeleteData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("ed893799-1a5f-4311-a077-de93c86ca8fd"));
migrationBuilder.DropColumn(
name: "TenantId",
table: "StatusPermissionMapping");
migrationBuilder.DropColumn(
name: "TenantId",
table: "ExpensesStatusMaster");
migrationBuilder.DropColumn(
name: "TenantId",
table: "ExpensesStatusMapping");
migrationBuilder.AddColumn<Guid>(
name: "ApprovedById",
table: "Expenses",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "ProcessedById",
table: "Expenses",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "ReviewedById",
table: "Expenses",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.InsertData(
table: "ExpensesStatusMapping",
columns: new[] { "Id", "NextStatusId", "StatusId" },
values: new object[] { new Guid("4ddddc10-0ffd-4884-accf-d4fa0bd97f54"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729") });
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("61578360-3a49-4c34-8604-7b35a3787b95"),
columns: new[] { "DisplayName", "Name" },
values: new object[] { "Mark as Processed", "Processed" });
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"),
columns: new[] { "Description", "Name" },
values: new object[] { "Expense was declined, often with a reason(approval rejected).", "Rejected by Approver" });
migrationBuilder.InsertData(
table: "ExpensesStatusMaster",
columns: new[] { "Id", "Color", "Description", "DisplayName", "IsActive", "IsSystem", "Name" },
values: new object[] { new Guid("965eda62-7907-4963-b4a1-657fb0b2724b"), "#ff3e1d", "Expense was declined, often with a reason(review rejected).", "Reject", true, true, "Rejected by Reviewer" });
migrationBuilder.InsertData(
table: "StatusPermissionMapping",
columns: new[] { "Id", "PermissionId", "StatusId" },
values: new object[,]
{
{ new Guid("0b7926fc-a34b-4a5b-8c7d-1003480cf0fa"), new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8") },
{ new Guid("722b0c3c-5a78-456d-b9bb-b6ba1b21d59b"), new Guid("0f57885d-bcb2-4711-ac95-d841ace6d5a7"), new Guid("297e0d8f-f668-41b5-bfea-e03b354251c8") },
{ new Guid("7deb0945-e1c9-411f-8b3c-c9bdbe3c3c2d"), new Guid("0f57885d-bcb2-4711-ac95-d841ace6d5a7"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7") }
});
migrationBuilder.InsertData(
table: "ExpensesStatusMapping",
columns: new[] { "Id", "NextStatusId", "StatusId" },
values: new object[,]
{
{ new Guid("6b867bec-66e6-42a7-9611-f4595af9b9ce"), new Guid("965eda62-7907-4963-b4a1-657fb0b2724b"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7") },
{ new Guid("9e2ec648-1ca2-4747-9329-e911b18edb3e"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("965eda62-7907-4963-b4a1-657fb0b2724b") }
});
migrationBuilder.InsertData(
table: "StatusPermissionMapping",
columns: new[] { "Id", "PermissionId", "StatusId" },
values: new object[] { new Guid("9e2ec648-1ca2-4747-9329-e911b18edb3e"), new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), new Guid("965eda62-7907-4963-b4a1-657fb0b2724b") });
migrationBuilder.CreateIndex(
name: "IX_Expenses_ApprovedById",
table: "Expenses",
column: "ApprovedById");
migrationBuilder.CreateIndex(
name: "IX_Expenses_ProcessedById",
table: "Expenses",
column: "ProcessedById");
migrationBuilder.CreateIndex(
name: "IX_Expenses_ReviewedById",
table: "Expenses",
column: "ReviewedById");
migrationBuilder.AddForeignKey(
name: "FK_Expenses_Employees_ApprovedById",
table: "Expenses",
column: "ApprovedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Expenses_Employees_ProcessedById",
table: "Expenses",
column: "ProcessedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Expenses_Employees_ReviewedById",
table: "Expenses",
column: "ReviewedById",
principalTable: "Employees",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Expenses_Employees_ApprovedById",
table: "Expenses");
migrationBuilder.DropForeignKey(
name: "FK_Expenses_Employees_ProcessedById",
table: "Expenses");
migrationBuilder.DropForeignKey(
name: "FK_Expenses_Employees_ReviewedById",
table: "Expenses");
migrationBuilder.DropIndex(
name: "IX_Expenses_ApprovedById",
table: "Expenses");
migrationBuilder.DropIndex(
name: "IX_Expenses_ProcessedById",
table: "Expenses");
migrationBuilder.DropIndex(
name: "IX_Expenses_ReviewedById",
table: "Expenses");
migrationBuilder.DeleteData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("4ddddc10-0ffd-4884-accf-d4fa0bd97f54"));
migrationBuilder.DeleteData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("6b867bec-66e6-42a7-9611-f4595af9b9ce"));
migrationBuilder.DeleteData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("9e2ec648-1ca2-4747-9329-e911b18edb3e"));
migrationBuilder.DeleteData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("0b7926fc-a34b-4a5b-8c7d-1003480cf0fa"));
migrationBuilder.DeleteData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("722b0c3c-5a78-456d-b9bb-b6ba1b21d59b"));
migrationBuilder.DeleteData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("7deb0945-e1c9-411f-8b3c-c9bdbe3c3c2d"));
migrationBuilder.DeleteData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("9e2ec648-1ca2-4747-9329-e911b18edb3e"));
migrationBuilder.DeleteData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("965eda62-7907-4963-b4a1-657fb0b2724b"));
migrationBuilder.DropColumn(
name: "ApprovedById",
table: "Expenses");
migrationBuilder.DropColumn(
name: "ProcessedById",
table: "Expenses");
migrationBuilder.DropColumn(
name: "ReviewedById",
table: "Expenses");
migrationBuilder.AddColumn<Guid>(
name: "TenantId",
table: "StatusPermissionMapping",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "TenantId",
table: "ExpensesStatusMaster",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "TenantId",
table: "ExpensesStatusMapping",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.UpdateData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("1fca1700-1266-477d-bba4-9ac3753aa33c"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("36c00548-241c-43ec-bc95-cacebedb925c"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("5cf7f1df-9d1f-4289-add0-1775ad614f25"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("af1e4492-98ee-4451-8ab7-fd8323f29c32"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMapping",
keyColumn: "Id",
keyValue: new Guid("ef1fcfbc-60e0-4f17-9308-c583a05d48fd"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.InsertData(
table: "ExpensesStatusMapping",
columns: new[] { "Id", "NextStatusId", "StatusId", "TenantId" },
values: new object[,]
{
{ new Guid("75bbda6a-6a53-47d1-ad71-5f5f9446a11e"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("fddaaf20-4ccc-4f4e-a724-dd310272b356"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("297e0d8f-f668-41b5-bfea-e03b354251c8"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("61578360-3a49-4c34-8604-7b35a3787b95"),
columns: new[] { "DisplayName", "Name", "TenantId" },
values: new object[] { "Mark as Paid", "Paid", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") });
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("6537018f-f4e9-4cb3-a210-6c3b2da999d7"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"),
columns: new[] { "Description", "Name", "TenantId" },
values: new object[] { "Expense was declined, often with a reason(either review rejected or approval rejected.", "Rejected", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") });
migrationBuilder.UpdateData(
table: "ExpensesStatusMaster",
keyColumn: "Id",
keyValue: new Guid("f18c5cfd-7815-4341-8da2-2c2d65778e27"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("214354e5-daad-4569-ad69-eb5bf4e87fbc"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("cd15f9b9-be45-4deb-9c71-2f23f872dbcd"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusPermissionMapping",
keyColumn: "Id",
keyValue: new Guid("f6f26b2f-2fa6-40b7-8601-cbd4bcdda0cc"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.InsertData(
table: "StatusPermissionMapping",
columns: new[] { "Id", "PermissionId", "StatusId", "TenantId" },
values: new object[,]
{
{ new Guid("4652d73f-fc71-4fe1-9f2f-1e48b342d741"), new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), new Guid("d1ee5eec-24b6-4364-8673-a8f859c60729"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("ed893799-1a5f-4311-a077-de93c86ca8fd"), new Guid("1f4bda08-1873-449a-bb66-3e8222bd871b"), new Guid("4068007f-c92f-4f37-a907-bc15fe57d4d8"), new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.CreateIndex(
name: "IX_StatusPermissionMapping_TenantId",
table: "StatusPermissionMapping",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesStatusMaster_TenantId",
table: "ExpensesStatusMaster",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ExpensesStatusMapping_TenantId",
table: "ExpensesStatusMapping",
column: "TenantId");
migrationBuilder.AddForeignKey(
name: "FK_ExpensesStatusMapping_Tenants_TenantId",
table: "ExpensesStatusMapping",
column: "TenantId",
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_ExpensesStatusMaster_Tenants_TenantId",
table: "ExpensesStatusMaster",
column: "TenantId",
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_StatusPermissionMapping_Tenants_TenantId",
table: "StatusPermissionMapping",
column: "TenantId",
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,57 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_CurrencyMaster_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "CurrencyMaster",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CurrencyCode = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
CurrencyName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Symbol = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_CurrencyMaster", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.InsertData(
table: "CurrencyMaster",
columns: new[] { "Id", "CurrencyCode", "CurrencyName", "IsActive", "Symbol" },
values: new object[,]
{
{ new Guid("297e237a-56d3-48f6-b39d-ec3991dea8bf"), "JPY", "Japanese Yen", true, "¥" },
{ new Guid("2f672568-a67b-4961-acb2-a8c7834e1762"), "USD", "US Dollar", true, "$" },
{ new Guid("3e456237-ef06-4ea1-a261-188c9b0c6df6"), "GBP", "Pound Sterling", true, "£" },
{ new Guid("4d1155bb-1448-4d97-a732-96c92eb99c45"), "EUR", "Euro", true, "€" },
{ new Guid("78e96e4a-7ce0-4164-ae3a-c833ad45ec2c"), "INR", "Indian Rupee", true, "₹" },
{ new Guid("b960166a-f7e9-49e3-bb4b-28511f126c08"), "CNY", "Chinese Yuan (Renminbi)", true, "¥" },
{ new Guid("efe9b4f6-64d6-446e-a42d-1c7aaf6dd70d"), "RUB", "Russian Ruble", true, "₽" }
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CurrencyMaster");
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,37 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_New_Parameter_In_Tenant_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "OfficeNumber",
table: "Tenants",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "Tenants",
keyColumn: "Id",
keyValue: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"),
column: "OfficeNumber",
value: null);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "OfficeNumber",
table: "Tenants");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Fixed_Spelling_Mistake_In_Tenant_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "OragnizationSize",
table: "Tenants",
newName: "OrganizationSize");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "OrganizationSize",
table: "Tenants",
newName: "OragnizationSize");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Updated_At_In_UpdateLogs : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "UpdateAt",
table: "ExpenseLogs",
type: "datetime(6)",
nullable: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "UpdateAt",
table: "ExpenseLogs");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,207 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Subscription_Related_Tables : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "SubscriptionStatus",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_SubscriptionStatus", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "SubscriptionPlans",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PlanName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
PriceQuarterly = table.Column<double>(type: "double", nullable: false),
PriceMonthly = table.Column<double>(type: "double", nullable: false),
PriceHalfMonthly = table.Column<double>(type: "double", nullable: false),
PriceYearly = table.Column<double>(type: "double", nullable: false),
TrialDays = table.Column<int>(type: "int", nullable: false),
MaxUser = table.Column<double>(type: "double", nullable: false),
MaxStorage = table.Column<double>(type: "double", nullable: false),
FeaturesId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreateAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
UpdateAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
CurrencyId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_SubscriptionPlans", x => x.Id);
table.ForeignKey(
name: "FK_SubscriptionPlans_CurrencyMaster_CurrencyId",
column: x => x.CurrencyId,
principalTable: "CurrencyMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SubscriptionPlans_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SubscriptionPlans_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id");
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "TenantSubscriptions",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PlanId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
StartDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
EndDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
IsTrial = table.Column<bool>(type: "tinyint(1)", nullable: false),
StatusId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CurrencyId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
NextBillingDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CancellationDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
AutoRemew = table.Column<bool>(type: "tinyint(1)", nullable: false),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
UpdateAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_TenantSubscriptions", x => x.Id);
table.ForeignKey(
name: "FK_TenantSubscriptions_CurrencyMaster_CurrencyId",
column: x => x.CurrencyId,
principalTable: "CurrencyMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_TenantSubscriptions_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_TenantSubscriptions_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id");
table.ForeignKey(
name: "FK_TenantSubscriptions_SubscriptionPlans_PlanId",
column: x => x.PlanId,
principalTable: "SubscriptionPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_TenantSubscriptions_SubscriptionStatus_StatusId",
column: x => x.StatusId,
principalTable: "SubscriptionStatus",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_TenantSubscriptions_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.InsertData(
table: "SubscriptionStatus",
columns: new[] { "Id", "Name" },
values: new object[,]
{
{ new Guid("1c0e422e-01b6-412f-b72a-1db004cc8a7f"), "Suspended" },
{ new Guid("4ed487b1-af22-4e25-aecd-b63fd850cf2d"), "InActive" },
{ new Guid("cd3a68ea-41fd-42f0-bd0c-c871c7337727"), "Active" }
});
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlans_CreatedById",
table: "SubscriptionPlans",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlans_CurrencyId",
table: "SubscriptionPlans",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlans_UpdatedById",
table: "SubscriptionPlans",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_TenantSubscriptions_CreatedById",
table: "TenantSubscriptions",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_TenantSubscriptions_CurrencyId",
table: "TenantSubscriptions",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_TenantSubscriptions_PlanId",
table: "TenantSubscriptions",
column: "PlanId");
migrationBuilder.CreateIndex(
name: "IX_TenantSubscriptions_StatusId",
table: "TenantSubscriptions",
column: "StatusId");
migrationBuilder.CreateIndex(
name: "IX_TenantSubscriptions_TenantId",
table: "TenantSubscriptions",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_TenantSubscriptions_UpdatedById",
table: "TenantSubscriptions",
column: "UpdatedById");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "TenantSubscriptions");
migrationBuilder.DropTable(
name: "SubscriptionPlans");
migrationBuilder.DropTable(
name: "SubscriptionStatus");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Corrected_Typo_In_Subscription_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "AutoRemew",
table: "TenantSubscriptions",
newName: "AutoRenew");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "AutoRenew",
table: "TenantSubscriptions",
newName: "AutoRemew");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Corrected_Typo_In_SubscriptionPlan_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "PriceHalfMonthly",
table: "SubscriptionPlans",
newName: "PriceHalfYearly");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "PriceHalfYearly",
table: "SubscriptionPlans",
newName: "PriceHalfMonthly");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,411 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Seprated_SubscriptionPlan_And_SubscriptionPlanDetails : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_StatusMasters_Tenants_TenantId",
table: "StatusMasters");
migrationBuilder.DropForeignKey(
name: "FK_SubscriptionPlans_CurrencyMaster_CurrencyId",
table: "SubscriptionPlans");
migrationBuilder.DropForeignKey(
name: "FK_SubscriptionPlans_Employees_CreatedById",
table: "SubscriptionPlans");
migrationBuilder.DropForeignKey(
name: "FK_SubscriptionPlans_Employees_UpdatedById",
table: "SubscriptionPlans");
migrationBuilder.DropForeignKey(
name: "FK_TenantSubscriptions_SubscriptionPlans_PlanId",
table: "TenantSubscriptions");
migrationBuilder.DropIndex(
name: "IX_SubscriptionPlans_CreatedById",
table: "SubscriptionPlans");
migrationBuilder.DropIndex(
name: "IX_SubscriptionPlans_CurrencyId",
table: "SubscriptionPlans");
migrationBuilder.DropIndex(
name: "IX_SubscriptionPlans_UpdatedById",
table: "SubscriptionPlans");
migrationBuilder.DropIndex(
name: "IX_StatusMasters_TenantId",
table: "StatusMasters");
migrationBuilder.DropColumn(
name: "CreateAt",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "CreatedById",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "CurrencyId",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "FeaturesId",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "MaxStorage",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "MaxUser",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "PriceHalfYearly",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "PriceMonthly",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "PriceQuarterly",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "PriceYearly",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "TrialDays",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "UpdateAt",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "UpdatedById",
table: "SubscriptionPlans");
migrationBuilder.DropColumn(
name: "TenantId",
table: "StatusMasters");
migrationBuilder.AddColumn<bool>(
name: "IsCancelled",
table: "TenantSubscriptions",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<double>(
name: "MaxUsers",
table: "TenantSubscriptions",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.CreateTable(
name: "SubscriptionPlanDetails",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Price = table.Column<double>(type: "double", nullable: false),
Frequency = table.Column<int>(type: "int", nullable: false),
TrialDays = table.Column<int>(type: "int", nullable: false),
MaxUser = table.Column<double>(type: "double", nullable: false),
MaxStorage = table.Column<double>(type: "double", nullable: false),
FeaturesId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreateAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
UpdateAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
PlanId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CurrencyId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_SubscriptionPlanDetails", x => x.Id);
table.ForeignKey(
name: "FK_SubscriptionPlanDetails_CurrencyMaster_CurrencyId",
column: x => x.CurrencyId,
principalTable: "CurrencyMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SubscriptionPlanDetails_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SubscriptionPlanDetails_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id");
table.ForeignKey(
name: "FK_SubscriptionPlanDetails_SubscriptionPlans_PlanId",
column: x => x.PlanId,
principalTable: "SubscriptionPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlanDetails_CreatedById",
table: "SubscriptionPlanDetails",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlanDetails_CurrencyId",
table: "SubscriptionPlanDetails",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlanDetails_PlanId",
table: "SubscriptionPlanDetails",
column: "PlanId");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlanDetails_UpdatedById",
table: "SubscriptionPlanDetails",
column: "UpdatedById");
migrationBuilder.AddForeignKey(
name: "FK_TenantSubscriptions_SubscriptionPlanDetails_PlanId",
table: "TenantSubscriptions",
column: "PlanId",
principalTable: "SubscriptionPlanDetails",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_TenantSubscriptions_SubscriptionPlanDetails_PlanId",
table: "TenantSubscriptions");
migrationBuilder.DropTable(
name: "SubscriptionPlanDetails");
migrationBuilder.DropColumn(
name: "IsCancelled",
table: "TenantSubscriptions");
migrationBuilder.DropColumn(
name: "MaxUsers",
table: "TenantSubscriptions");
migrationBuilder.AddColumn<DateTime>(
name: "CreateAt",
table: "SubscriptionPlans",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
migrationBuilder.AddColumn<Guid>(
name: "CreatedById",
table: "SubscriptionPlans",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "CurrencyId",
table: "SubscriptionPlans",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "FeaturesId",
table: "SubscriptionPlans",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AddColumn<double>(
name: "MaxStorage",
table: "SubscriptionPlans",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "MaxUser",
table: "SubscriptionPlans",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "PriceHalfYearly",
table: "SubscriptionPlans",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "PriceMonthly",
table: "SubscriptionPlans",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "PriceQuarterly",
table: "SubscriptionPlans",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "PriceYearly",
table: "SubscriptionPlans",
type: "double",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<int>(
name: "TrialDays",
table: "SubscriptionPlans",
type: "int",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<DateTime>(
name: "UpdateAt",
table: "SubscriptionPlans",
type: "datetime(6)",
nullable: true);
migrationBuilder.AddColumn<Guid>(
name: "UpdatedById",
table: "SubscriptionPlans",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<Guid>(
name: "TenantId",
table: "StatusMasters",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("33deaef9-9af1-4f2a-b443-681ea0d04f81"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("603e994b-a27f-4e5d-a251-f3d69b0498ba"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("b74da4c2-d07e-46f2-9919-e75e49b12731"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("cdad86aa-8a56-4ff4-b633-9c629057dfef"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.UpdateData(
table: "StatusMasters",
keyColumn: "Id",
keyValue: new Guid("ef1c356e-0fe0-42df-a5d3-8daee355492d"),
column: "TenantId",
value: new Guid("b3466e83-7e11-464c-b93a-daf047838b26"));
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlans_CreatedById",
table: "SubscriptionPlans",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlans_CurrencyId",
table: "SubscriptionPlans",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_SubscriptionPlans_UpdatedById",
table: "SubscriptionPlans",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_StatusMasters_TenantId",
table: "StatusMasters",
column: "TenantId");
migrationBuilder.AddForeignKey(
name: "FK_StatusMasters_Tenants_TenantId",
table: "StatusMasters",
column: "TenantId",
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_SubscriptionPlans_CurrencyMaster_CurrencyId",
table: "SubscriptionPlans",
column: "CurrencyId",
principalTable: "CurrencyMaster",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_SubscriptionPlans_Employees_CreatedById",
table: "SubscriptionPlans",
column: "CreatedById",
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_SubscriptionPlans_Employees_UpdatedById",
table: "SubscriptionPlans",
column: "UpdatedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_TenantSubscriptions_SubscriptionPlans_PlanId",
table: "TenantSubscriptions",
column: "PlanId",
principalTable: "SubscriptionPlans",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,49 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_FCMTokenMApping_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "FCMTokenMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
EmployeeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
FcmToken = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_FCMTokenMappings", x => x.Id);
table.ForeignKey(
name: "FK_FCMTokenMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "IX_FCMTokenMappings_TenantId",
table: "FCMTokenMappings",
column: "TenantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "FCMTokenMappings");
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Expriy_Date_In_FCMMapping_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<DateTime>(
name: "ExpiredAt",
table: "FCMTokenMappings",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ExpiredAt",
table: "FCMTokenMappings");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,488 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Document_Manager_Tables : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "DocumentTagMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DocumentTagMasters", x => x.Id);
table.ForeignKey(
name: "FK_DocumentTagMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "EntityTypeMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_EntityTypeMasters", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "DocumentCategoryMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
EntityTypeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DocumentCategoryMasters", x => x.Id);
table.ForeignKey(
name: "FK_DocumentCategoryMasters_EntityTypeMasters_EntityTypeId",
column: x => x.EntityTypeId,
principalTable: "EntityTypeMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentCategoryMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "DocumentTypeMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
RegexExpression = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
AllowedContentType = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
MaxSizeAllowedInMB = table.Column<double>(type: "double", nullable: false),
IsValidationRequired = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsMandatory = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
DocumentCategoryId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DocumentTypeMasters", x => x.Id);
table.ForeignKey(
name: "FK_DocumentTypeMasters_DocumentCategoryMasters_DocumentCategory~",
column: x => x.DocumentCategoryId,
principalTable: "DocumentCategoryMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentTypeMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "DocumentAttachments",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
DocumentId = table.Column<string>(type: "longtext", nullable: true)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
UploadedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
UploadedById = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
UpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
VerifiedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
IsVerified = table.Column<bool>(type: "tinyint(1)", nullable: true),
VerifiedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
EntityId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
DocumentTypeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DocumentAttachments", x => x.Id);
table.ForeignKey(
name: "FK_DocumentAttachments_DocumentTypeMasters_DocumentTypeId",
column: x => x.DocumentTypeId,
principalTable: "DocumentTypeMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentAttachments_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id");
table.ForeignKey(
name: "FK_DocumentAttachments_Employees_UploadedById",
column: x => x.UploadedById,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentAttachments_Employees_VerifiedById",
column: x => x.VerifiedById,
principalTable: "Employees",
principalColumn: "Id");
table.ForeignKey(
name: "FK_DocumentAttachments_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AttachmentTagMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
DocumentTagId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
AttachmentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_AttachmentTagMappings", x => x.Id);
table.ForeignKey(
name: "FK_AttachmentTagMappings_DocumentAttachments_AttachmentId",
column: x => x.AttachmentId,
principalTable: "DocumentAttachments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AttachmentTagMappings_DocumentTagMasters_DocumentTagId",
column: x => x.DocumentTagId,
principalTable: "DocumentTagMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AttachmentTagMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "AttachmentVersionMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ParentAttachmentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Version = table.Column<int>(type: "int", nullable: false),
ChildAttachmentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_AttachmentVersionMappings", x => x.Id);
table.ForeignKey(
name: "FK_AttachmentVersionMappings_DocumentAttachments_ChildAttachmen~",
column: x => x.ChildAttachmentId,
principalTable: "DocumentAttachments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AttachmentVersionMappings_DocumentAttachments_ParentAttachme~",
column: x => x.ParentAttachmentId,
principalTable: "DocumentAttachments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AttachmentVersionMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "DocumentAttachmentMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
AttachmentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DocumentAttachmentMappings", x => x.Id);
table.ForeignKey(
name: "FK_DocumentAttachmentMappings_DocumentAttachments_AttachmentId",
column: x => x.AttachmentId,
principalTable: "DocumentAttachments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentAttachmentMappings_Documents_DocumentId",
column: x => x.DocumentId,
principalTable: "Documents",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentAttachmentMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.InsertData(
table: "EntityTypeMasters",
columns: new[] { "Id", "Description", "Name" },
values: new object[,]
{
{ new Guid("c8fe7115-aa27-43bc-99f4-7b05fabe436e"), "Emtities related to project.", "Project Entity" },
{ new Guid("dbb9555a-7a0c-40f2-a9ed-f0463f1ceed7"), "Employee related entitie", "Employee Entity" }
});
migrationBuilder.InsertData(
table: "Features",
columns: new[] { "Id", "Description", "IsActive", "ModuleId", "Name" },
values: new object[] { new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), "Manage Document", true, new Guid("2a231490-bcb1-4bdd-91f1-f25fb7f25b23"), "Document Management" });
migrationBuilder.InsertData(
table: "DocumentCategoryMasters",
columns: new[] { "Id", "CreatedAt", "Description", "EntityTypeId", "Name", "TenantId" },
values: new object[,]
{
{ new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"), new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8157), "Employment details along with legal IDs like passports or drivers licenses to verify identity and work authorization.", new Guid("dbb9555a-7a0c-40f2-a9ed-f0463f1ceed7"), "Employee Documents", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8150), "Project documents are formal records that outline the plans, progress, and details necessary to execute and manage a project effectively.", new Guid("c8fe7115-aa27-43bc-99f4-7b05fabe436e"), "Project Documents", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[,]
{
{ new Guid("13a1f30f-38d1-41bf-8e7a-b75189aab8e0"), "Grants a user the authority to verify the document", new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), true, "Verify Document" },
{ new Guid("3f6d1f67-6fa5-4b7c-b17b-018d4fe4aab8"), "Grants a user the authority to upload the document", new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), true, "Upload Document" },
{ new Guid("40863a13-5a66-469d-9b48-135bc5dbf486"), "Grants a user the authority to delete the document", new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), true, "Delete Document" },
{ new Guid("71189504-f1c8-4ca5-8db6-810497be2854"), "Grants a user the authority to view all documents related to employees and projects", new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), true, "View Document" },
{ new Guid("c423fd81-6273-4b9d-bb5e-76a0fb343833"), "Grants a user the authority to modify document", new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), true, "Mofify Document" }
});
migrationBuilder.InsertData(
table: "DocumentTypeMasters",
columns: new[] { "Id", "AllowedContentType", "CreatedAt", "DocumentCategoryId", "IsActive", "IsMandatory", "IsSystem", "IsValidationRequired", "MaxSizeAllowedInMB", "Name", "RegexExpression", "TenantId" },
values: new object[,]
{
{ new Guid("07ca7182-9ac0-4407-b988-59901170cb86"), "application/pdf,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8229), new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), true, false, true, false, 1.0, "Letter of Agreement", null, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"), "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8216), new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"), true, true, true, true, 2.0, "Passport", "^[A-PR-WY][1-9]\\d\\s?\\d{4}[1-9]$", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"), "application/pdf,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8222), new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), true, false, true, false, 1.0, "Bill of Quantities (BOQ)", null, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"), "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8212), new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"), true, true, true, true, 2.0, "Voter Card", "^[A-Z]{3}[0-9]{7}$", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"), "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8204), new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"), true, true, true, true, 2.0, "Aadhaar card", "^[2-9][0-9]{11}$", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"), "application/pdf,image/vnd.dwg,application/acad", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8238), new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), true, false, true, false, 20.0, "Drawings", null, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"), "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8209), new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"), true, true, true, true, 2.0, "Pan Card", "^[A-Z]{5}[0-9]{4}[A-Z]{1}$", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("7cc41c91-23cb-442b-badd-f932138d149f"), "application/pdf,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8235), new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), true, false, true, false, 1.0, "Standard Operating Procedure (SOP)", null, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"), "application/pdf,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8232), new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), true, false, true, false, 1.0, "Health and Safety Document", null, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"), "application/pdf,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.openxmlformats-officedocument.wordprocessingml.document", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8226), new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"), true, false, true, false, 1.0, "Work Order", null, new Guid("b3466e83-7e11-464c-b93a-daf047838b26") },
{ new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"), "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8219), new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"), true, true, true, true, 2.0, "Bank Passbook", "^\\d{9,18}$", new Guid("b3466e83-7e11-464c-b93a-daf047838b26") }
});
migrationBuilder.CreateIndex(
name: "IX_AttachmentTagMappings_AttachmentId",
table: "AttachmentTagMappings",
column: "AttachmentId");
migrationBuilder.CreateIndex(
name: "IX_AttachmentTagMappings_DocumentTagId",
table: "AttachmentTagMappings",
column: "DocumentTagId");
migrationBuilder.CreateIndex(
name: "IX_AttachmentTagMappings_TenantId",
table: "AttachmentTagMappings",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_AttachmentVersionMappings_ChildAttachmentId",
table: "AttachmentVersionMappings",
column: "ChildAttachmentId");
migrationBuilder.CreateIndex(
name: "IX_AttachmentVersionMappings_ParentAttachmentId",
table: "AttachmentVersionMappings",
column: "ParentAttachmentId");
migrationBuilder.CreateIndex(
name: "IX_AttachmentVersionMappings_TenantId",
table: "AttachmentVersionMappings",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachmentMappings_AttachmentId",
table: "DocumentAttachmentMappings",
column: "AttachmentId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachmentMappings_DocumentId",
table: "DocumentAttachmentMappings",
column: "DocumentId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachmentMappings_TenantId",
table: "DocumentAttachmentMappings",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachments_DocumentTypeId",
table: "DocumentAttachments",
column: "DocumentTypeId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachments_TenantId",
table: "DocumentAttachments",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachments_UpdatedById",
table: "DocumentAttachments",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachments_UploadedById",
table: "DocumentAttachments",
column: "UploadedById");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachments_VerifiedById",
table: "DocumentAttachments",
column: "VerifiedById");
migrationBuilder.CreateIndex(
name: "IX_DocumentCategoryMasters_EntityTypeId",
table: "DocumentCategoryMasters",
column: "EntityTypeId");
migrationBuilder.CreateIndex(
name: "IX_DocumentCategoryMasters_TenantId",
table: "DocumentCategoryMasters",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_DocumentTagMasters_TenantId",
table: "DocumentTagMasters",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_DocumentTypeMasters_DocumentCategoryId",
table: "DocumentTypeMasters",
column: "DocumentCategoryId");
migrationBuilder.CreateIndex(
name: "IX_DocumentTypeMasters_TenantId",
table: "DocumentTypeMasters",
column: "TenantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AttachmentTagMappings");
migrationBuilder.DropTable(
name: "AttachmentVersionMappings");
migrationBuilder.DropTable(
name: "DocumentAttachmentMappings");
migrationBuilder.DropTable(
name: "DocumentTagMasters");
migrationBuilder.DropTable(
name: "DocumentAttachments");
migrationBuilder.DropTable(
name: "DocumentTypeMasters");
migrationBuilder.DropTable(
name: "DocumentCategoryMasters");
migrationBuilder.DropTable(
name: "EntityTypeMasters");
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("13a1f30f-38d1-41bf-8e7a-b75189aab8e0"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("3f6d1f67-6fa5-4b7c-b17b-018d4fe4aab8"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("40863a13-5a66-469d-9b48-135bc5dbf486"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("71189504-f1c8-4ca5-8db6-810497be2854"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("c423fd81-6273-4b9d-bb5e-76a0fb343833"));
migrationBuilder.DeleteData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,285 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Removed_DocumentAttachmentyMapping_And_Added : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "DocumentAttachmentMappings");
migrationBuilder.AddColumn<Guid>(
name: "DocumentDataId",
table: "DocumentAttachments",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7895));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7887));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7995));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7975) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7984));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7971) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7958) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8008));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7966) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8004));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8000));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7991));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7980) });
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachments_DocumentDataId",
table: "DocumentAttachments",
column: "DocumentDataId");
migrationBuilder.AddForeignKey(
name: "FK_DocumentAttachments_Documents_DocumentDataId",
table: "DocumentAttachments",
column: "DocumentDataId",
principalTable: "Documents",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_DocumentAttachments_Documents_DocumentDataId",
table: "DocumentAttachments");
migrationBuilder.DropIndex(
name: "IX_DocumentAttachments_DocumentDataId",
table: "DocumentAttachments");
migrationBuilder.DropColumn(
name: "DocumentDataId",
table: "DocumentAttachments");
migrationBuilder.CreateTable(
name: "DocumentAttachmentMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
AttachmentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_DocumentAttachmentMappings", x => x.Id);
table.ForeignKey(
name: "FK_DocumentAttachmentMappings_DocumentAttachments_AttachmentId",
column: x => x.AttachmentId,
principalTable: "DocumentAttachments",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentAttachmentMappings_Documents_DocumentId",
column: x => x.DocumentId,
principalTable: "Documents",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_DocumentAttachmentMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8157));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8150));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8229));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8216) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8222));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8212) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8204) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8238));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8209) });
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8235));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8232));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8226));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
columns: new[] { "AllowedContentType", "CreatedAt" },
values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8219) });
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachmentMappings_AttachmentId",
table: "DocumentAttachmentMappings",
column: "AttachmentId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachmentMappings_DocumentId",
table: "DocumentAttachmentMappings",
column: "DocumentId");
migrationBuilder.CreateIndex(
name: "IX_DocumentAttachmentMappings_TenantId",
table: "DocumentAttachmentMappings",
column: "TenantId");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,212 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_IsCurrentVersion_Field_In_Document_Attachment : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsCurrentVersion",
table: "DocumentAttachments",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1227));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1217));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1308));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1293));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1300));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1289));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1275));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1391));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1284));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1388));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1384));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1305));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1297));
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsCurrentVersion",
table: "DocumentAttachments");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7895));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7887));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7995));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7975));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7984));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7971));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7958));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8008));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7966));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8004));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8000));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7991));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7980));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,237 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Modified_UpdatedAt_And_VerifiedAt_To_Nullable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<DateTime>(
name: "VerifiedAt",
table: "DocumentAttachments",
type: "datetime(6)",
nullable: true,
oldClrType: typeof(DateTime),
oldType: "datetime(6)");
migrationBuilder.AlterColumn<DateTime>(
name: "UpdatedAt",
table: "DocumentAttachments",
type: "datetime(6)",
nullable: true,
oldClrType: typeof(DateTime),
oldType: "datetime(6)");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(8988));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(8981));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9059));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9042));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9051));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9038));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9028));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9072));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9034));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9068));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9063));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9055));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9046));
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<DateTime>(
name: "VerifiedAt",
table: "DocumentAttachments",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
oldClrType: typeof(DateTime),
oldType: "datetime(6)",
oldNullable: true);
migrationBuilder.AlterColumn<DateTime>(
name: "UpdatedAt",
table: "DocumentAttachments",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
oldClrType: typeof(DateTime),
oldType: "datetime(6)",
oldNullable: true);
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1227));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1217));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1308));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1293));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1300));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1289));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1275));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1391));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1284));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1388));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1384));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1305));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 11, 44, 468, DateTimeKind.Utc).AddTicks(1297));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,211 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_New_Permission_To_Download_Document : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2627));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2617));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2718));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2700));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2710));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2695));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2684));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2731));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2690));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2727));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2722));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2714));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2705));
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[] { new Guid("404373d0-860f-490e-a575-1c086ffbce1d"), "Grants a user the authority to download the document", new Guid("a8cf4331-8f04-4961-8360-a3f7c3cc7462"), true, "Download Document" });
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("404373d0-860f-490e-a575-1c086ffbce1d"));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(8988));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(8981));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9059));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9042));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9051));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9038));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9028));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9072));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9034));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9068));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9063));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9055));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 28, 11, 18, 55, 873, DateTimeKind.Utc).AddTicks(9046));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,264 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Project_Level_Permssion_Mapping_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "ProjectLevelPermissionMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
EmployeeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PermissionId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ProjectLevelPermissionMappings", x => x.Id);
table.ForeignKey(
name: "FK_ProjectLevelPermissionMappings_Employees_EmployeeId",
column: x => x.EmployeeId,
principalTable: "Employees",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectLevelPermissionMappings_FeaturePermissions_Permission~",
column: x => x.PermissionId,
principalTable: "FeaturePermissions",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectLevelPermissionMappings_Projects_ProjectId",
column: x => x.ProjectId,
principalTable: "Projects",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectLevelPermissionMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6233));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6226));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6307));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6290));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6298));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6286));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6275));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6319));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6282));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6314));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6311));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6302));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6295));
migrationBuilder.CreateIndex(
name: "IX_ProjectLevelPermissionMappings_EmployeeId",
table: "ProjectLevelPermissionMappings",
column: "EmployeeId");
migrationBuilder.CreateIndex(
name: "IX_ProjectLevelPermissionMappings_PermissionId",
table: "ProjectLevelPermissionMappings",
column: "PermissionId");
migrationBuilder.CreateIndex(
name: "IX_ProjectLevelPermissionMappings_ProjectId",
table: "ProjectLevelPermissionMappings",
column: "ProjectId");
migrationBuilder.CreateIndex(
name: "IX_ProjectLevelPermissionMappings_TenantId",
table: "ProjectLevelPermissionMappings",
column: "TenantId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "ProjectLevelPermissionMappings");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2627));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2617));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2718));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2700));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2710));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2695));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2684));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2731));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2690));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2727));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2722));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2714));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 8, 30, 4, 55, 10, 359, DateTimeKind.Utc).AddTicks(2705));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,268 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_IsAttachmentRequried_Parameter_In_ExpensesTypeMaster_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsAttachmentRequried",
table: "ExpensesTypeMaster",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 12, 7, 6, 13, 429, DateTimeKind.Utc).AddTicks(3323));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 12, 7, 6, 13, 429, DateTimeKind.Utc).AddTicks(3316));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("1e2d697a-76b4-4be8-bc66-87144561a1a0"),
column: "IsAttachmentRequried",
value: true);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("2de53163-0dbd-404b-8e60-1b02e6b4886a"),
column: "IsAttachmentRequried",
value: false);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("4842fa61-64eb-4241-aebd-8282065af9f9"),
column: "IsAttachmentRequried",
value: true);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("52484820-1b54-4865-8f0f-baa2b1d339b9"),
column: "IsAttachmentRequried",
value: true);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("5e0c6227-d49d-41ff-9f1f-781f0aee2469"),
column: "IsAttachmentRequried",
value: true);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("77013784-9324-4d8b-bd36-d6f928e68942"),
column: "IsAttachmentRequried",
value: true);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("dd120bc4-ab0a-45ba-8450-5cd45ff221ca"),
column: "IsAttachmentRequried",
value: false);
migrationBuilder.UpdateData(
table: "ExpensesTypeMaster",
keyColumn: "Id",
keyValue: new Guid("fc59eb90-98ea-481c-b421-54bfa9e42d8f"),
column: "IsAttachmentRequried",
value: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsAttachmentRequried",
table: "ExpensesTypeMaster");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6233));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6226));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6307));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6290));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6298));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6286));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6275));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6319));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6282));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6314));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6311));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6302));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6295));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,757 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Tables_Related_To_Organizations : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "ActivityMasters",
keyColumn: "UnitOfMeasurement",
keyValue: null,
column: "UnitOfMeasurement",
value: "");
migrationBuilder.AlterColumn<string>(
name: "UnitOfMeasurement",
table: "ActivityMasters",
type: "longtext",
nullable: false,
oldClrType: typeof(string),
oldType: "longtext",
oldNullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "ActivityMasters",
keyColumn: "ActivityName",
keyValue: null,
column: "ActivityName",
value: "");
migrationBuilder.AlterColumn<string>(
name: "ActivityName",
table: "ActivityMasters",
type: "longtext",
nullable: false,
oldClrType: typeof(string),
oldType: "longtext",
oldNullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<Guid>(
name: "ActivityGroupId",
table: "ActivityMasters",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci");
migrationBuilder.AddColumn<bool>(
name: "IsSystem",
table: "ActivityMasters",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.CreateTable(
name: "GlobalServiceMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_GlobalServiceMasters", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "Organizations",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Email = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ContactPerson = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Address = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ContactNumber = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
SPRID = table.Column<double>(type: "double", nullable: false),
CreatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CreatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
UpdatedById = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
UpdatedAt = table.Column<DateTime>(type: "datetime(6)", nullable: true),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Organizations", x => x.Id);
table.ForeignKey(
name: "FK_Organizations_Employees_CreatedById",
column: x => x.CreatedById,
principalTable: "Employees",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Organizations_Employees_UpdatedById",
column: x => x.UpdatedById,
principalTable: "Employees",
principalColumn: "Id");
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "OrgTypeMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4")
},
constraints: table =>
{
table.PrimaryKey("PK_OrgTypeMasters", x => x.Id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ServiceMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ServiceMasters", x => x.Id);
table.ForeignKey(
name: "FK_ServiceMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "GlobalActivityGroupMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_GlobalActivityGroupMasters", x => x.Id);
table.ForeignKey(
name: "FK_GlobalActivityGroupMasters_GlobalServiceMasters_ServiceId",
column: x => x.ServiceId,
principalTable: "GlobalServiceMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "OrgServiceMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_OrgServiceMappings", x => x.Id);
table.ForeignKey(
name: "FK_OrgServiceMappings_GlobalServiceMasters_ServiceId",
column: x => x.ServiceId,
principalTable: "GlobalServiceMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_OrgServiceMappings_Organizations_OrganizationId",
column: x => x.OrganizationId,
principalTable: "Organizations",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "TenantOrgMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
SPRID = table.Column<double>(type: "double", nullable: false),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false),
AssignedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ReassignedDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_TenantOrgMappings", x => x.Id);
table.ForeignKey(
name: "FK_TenantOrgMappings_Organizations_OrganizationId",
column: x => x.OrganizationId,
principalTable: "Organizations",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_TenantOrgMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ActivityGroupMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
Name = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
Description = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
IsSystem = table.Column<bool>(type: "tinyint(1)", nullable: false),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ActivityGroupMasters", x => x.Id);
table.ForeignKey(
name: "FK_ActivityGroupMasters_ServiceMasters_ServiceId",
column: x => x.ServiceId,
principalTable: "ServiceMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ActivityGroupMasters_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ProjectServiceMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
PlannedStartDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
PlannedEndDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ActualStartDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ActualEndDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ProjectServiceMappings", x => x.Id);
table.ForeignKey(
name: "FK_ProjectServiceMappings_Projects_ProjectId",
column: x => x.ProjectId,
principalTable: "Projects",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectServiceMappings_ServiceMasters_ServiceId",
column: x => x.ServiceId,
principalTable: "ServiceMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectServiceMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "GlobalActivityMasters",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ActivityName = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
UnitOfMeasurement = table.Column<string>(type: "longtext", nullable: false)
.Annotation("MySql:CharSet", "utf8mb4"),
ActivityGroupId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
IsActive = table.Column<bool>(type: "tinyint(1)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_GlobalActivityMasters", x => x.Id);
table.ForeignKey(
name: "FK_GlobalActivityMasters_GlobalActivityGroupMasters_ActivityGro~",
column: x => x.ActivityGroupId,
principalTable: "GlobalActivityGroupMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "ProjectOrgMappings",
columns: table => new
{
Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ParentOrganizationId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
ProjectServiceId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
OrganizationTypeId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
AssignedDate = table.Column<DateTime>(type: "datetime(6)", nullable: false),
CompletionDate = table.Column<DateTime>(type: "datetime(6)", nullable: true),
TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
},
constraints: table =>
{
table.PrimaryKey("PK_ProjectOrgMappings", x => x.Id);
table.ForeignKey(
name: "FK_ProjectOrgMappings_OrgTypeMasters_OrganizationTypeId",
column: x => x.OrganizationTypeId,
principalTable: "OrgTypeMasters",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectOrgMappings_Organizations_OrganizationId",
column: x => x.OrganizationId,
principalTable: "Organizations",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectOrgMappings_Organizations_ParentOrganizationId",
column: x => x.ParentOrganizationId,
principalTable: "Organizations",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectOrgMappings_ProjectServiceMappings_ProjectServiceId",
column: x => x.ProjectServiceId,
principalTable: "ProjectServiceMappings",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ProjectOrgMappings_Tenants_TenantId",
column: x => x.TenantId,
principalTable: "Tenants",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 15, 12, 42, 3, 202, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 15, 12, 42, 3, 202, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc));
migrationBuilder.InsertData(
table: "OrgTypeMasters",
columns: new[] { "Id", "Name" },
values: new object[,]
{
{ new Guid("5ee49bcd-b6d3-482f-9aaf-484afe04abec"), "Service Provider" },
{ new Guid("743806fe-d991-4079-b223-e4e2da44f435"), "Tenant" },
{ new Guid("a283356a-9b02-4029-afb7-e65c703efdd4"), "Sub-Contractor" },
{ new Guid("b1877a3b-8832-47b1-bbe3-dc7e98672f49"), "PMC" }
});
migrationBuilder.InsertData(
table: "Organizations",
columns: new[] { "Id", "Address", "ContactNumber", "ContactPerson", "CreatedAt", "CreatedById", "Email", "IsActive", "Name", "SPRID", "UpdatedAt", "UpdatedById" },
values: new object[] { new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"), "2nd Floor, Fullora Building, Tejas CHS, behind Kothrud Stand, Tejas Society, Dahanukar Colony, Kothrud, Pune, Maharashtra 411038", "123456789", "Admin", new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified), null, "admin@marcoaiot.com", true, "MarcoBMS", 5400.0, null, null });
migrationBuilder.CreateIndex(
name: "IX_ActivityMasters_ActivityGroupId",
table: "ActivityMasters",
column: "ActivityGroupId");
migrationBuilder.CreateIndex(
name: "IX_ActivityGroupMasters_ServiceId",
table: "ActivityGroupMasters",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_ActivityGroupMasters_TenantId",
table: "ActivityGroupMasters",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_GlobalActivityGroupMasters_ServiceId",
table: "GlobalActivityGroupMasters",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_GlobalActivityMasters_ActivityGroupId",
table: "GlobalActivityMasters",
column: "ActivityGroupId");
migrationBuilder.CreateIndex(
name: "IX_Organizations_CreatedById",
table: "Organizations",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_Organizations_UpdatedById",
table: "Organizations",
column: "UpdatedById");
migrationBuilder.CreateIndex(
name: "IX_OrgServiceMappings_OrganizationId",
table: "OrgServiceMappings",
column: "OrganizationId");
migrationBuilder.CreateIndex(
name: "IX_OrgServiceMappings_ServiceId",
table: "OrgServiceMappings",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_ProjectOrgMappings_OrganizationId",
table: "ProjectOrgMappings",
column: "OrganizationId");
migrationBuilder.CreateIndex(
name: "IX_ProjectOrgMappings_OrganizationTypeId",
table: "ProjectOrgMappings",
column: "OrganizationTypeId");
migrationBuilder.CreateIndex(
name: "IX_ProjectOrgMappings_ParentOrganizationId",
table: "ProjectOrgMappings",
column: "ParentOrganizationId");
migrationBuilder.CreateIndex(
name: "IX_ProjectOrgMappings_ProjectServiceId",
table: "ProjectOrgMappings",
column: "ProjectServiceId");
migrationBuilder.CreateIndex(
name: "IX_ProjectOrgMappings_TenantId",
table: "ProjectOrgMappings",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ProjectServiceMappings_ProjectId",
table: "ProjectServiceMappings",
column: "ProjectId");
migrationBuilder.CreateIndex(
name: "IX_ProjectServiceMappings_ServiceId",
table: "ProjectServiceMappings",
column: "ServiceId");
migrationBuilder.CreateIndex(
name: "IX_ProjectServiceMappings_TenantId",
table: "ProjectServiceMappings",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_ServiceMasters_TenantId",
table: "ServiceMasters",
column: "TenantId");
migrationBuilder.CreateIndex(
name: "IX_TenantOrgMappings_OrganizationId",
table: "TenantOrgMappings",
column: "OrganizationId");
migrationBuilder.CreateIndex(
name: "IX_TenantOrgMappings_TenantId",
table: "TenantOrgMappings",
column: "TenantId");
migrationBuilder.AddForeignKey(
name: "FK_ActivityMasters_ActivityGroupMasters_ActivityGroupId",
table: "ActivityMasters",
column: "ActivityGroupId",
principalTable: "ActivityGroupMasters",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_ActivityMasters_ActivityGroupMasters_ActivityGroupId",
table: "ActivityMasters");
migrationBuilder.DropTable(
name: "ActivityGroupMasters");
migrationBuilder.DropTable(
name: "GlobalActivityMasters");
migrationBuilder.DropTable(
name: "OrgServiceMappings");
migrationBuilder.DropTable(
name: "ProjectOrgMappings");
migrationBuilder.DropTable(
name: "TenantOrgMappings");
migrationBuilder.DropTable(
name: "GlobalActivityGroupMasters");
migrationBuilder.DropTable(
name: "OrgTypeMasters");
migrationBuilder.DropTable(
name: "ProjectServiceMappings");
migrationBuilder.DropTable(
name: "Organizations");
migrationBuilder.DropTable(
name: "GlobalServiceMasters");
migrationBuilder.DropTable(
name: "ServiceMasters");
migrationBuilder.DropIndex(
name: "IX_ActivityMasters_ActivityGroupId",
table: "ActivityMasters");
migrationBuilder.DropColumn(
name: "ActivityGroupId",
table: "ActivityMasters");
migrationBuilder.DropColumn(
name: "IsSystem",
table: "ActivityMasters");
migrationBuilder.AlterColumn<string>(
name: "UnitOfMeasurement",
table: "ActivityMasters",
type: "longtext",
nullable: true,
oldClrType: typeof(string),
oldType: "longtext")
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AlterColumn<string>(
name: "ActivityName",
table: "ActivityMasters",
type: "longtext",
nullable: true,
oldClrType: typeof(string),
oldType: "longtext")
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6233));
migrationBuilder.UpdateData(
table: "DocumentCategoryMasters",
keyColumn: "Id",
keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6226));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6307));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6290));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6298));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6286));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6275));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6319));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6282));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6314));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6311));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6302));
migrationBuilder.UpdateData(
table: "DocumentTypeMasters",
keyColumn: "Id",
keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
column: "CreatedAt",
value: new DateTime(2025, 9, 3, 10, 46, 49, 955, DateTimeKind.Utc).AddTicks(6295));
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,77 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_IsActive_In_ServiceMaster : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsActive",
table: "ServiceMasters",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.AddColumn<bool>(
name: "IsActive",
table: "ActivityGroupMasters",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.InsertData(
table: "Features",
columns: new[] { "Id", "Description", "IsActive", "ModuleId", "Name" },
values: new object[] { new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), "Managing all organization related rights", true, new Guid("c43db8c7-ab73-47f4-9d3b-f83e81357924"), "Organization Management" });
migrationBuilder.InsertData(
table: "FeaturePermissions",
columns: new[] { "Id", "Description", "FeatureId", "IsEnabled", "Name" },
values: new object[,]
{
{ new Guid("068cb3c1-49c5-4746-9f29-1fce16e820ac"), "Allow user to create new organization", new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), true, "Add Organization" },
{ new Guid("7a6cf830-0008-4e03-b31d-0d050cb634f4"), "Allow the user to view information of the organization", new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), true, "View Organization" },
{ new Guid("c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a"), "Allow the user to update the basic information of the organization", new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"), true, "Edit Organization" }
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("068cb3c1-49c5-4746-9f29-1fce16e820ac"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("7a6cf830-0008-4e03-b31d-0d050cb634f4"));
migrationBuilder.DeleteData(
table: "FeaturePermissions",
keyColumn: "Id",
keyValue: new Guid("c1ae1363-ab8a-4bd9-a9d1-8c2c6083873a"));
migrationBuilder.DeleteData(
table: "Features",
keyColumn: "Id",
keyValue: new Guid("6d4c82d6-dbce-48ab-b8b8-f785f4d8c914"));
migrationBuilder.DropColumn(
name: "IsActive",
table: "ServiceMasters");
migrationBuilder.DropColumn(
name: "IsActive",
table: "ActivityGroupMasters");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,136 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Updated_EMployee_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Employees_JobRoles_JobRoleId",
table: "Employees");
migrationBuilder.DropColumn(
name: "AadharNumber",
table: "Employees");
migrationBuilder.DropColumn(
name: "PanNumber",
table: "Employees");
migrationBuilder.DropColumn(
name: "RoleId",
table: "Employees");
migrationBuilder.AlterColumn<Guid>(
name: "JobRoleId",
table: "Employees",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)",
oldNullable: true)
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.UpdateData(
table: "Employees",
keyColumn: "FirstName",
keyValue: null,
column: "FirstName",
value: "");
migrationBuilder.AlterColumn<string>(
name: "FirstName",
table: "Employees",
type: "longtext",
nullable: false,
oldClrType: typeof(string),
oldType: "longtext",
oldNullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<bool>(
name: "HasApplicationAccess",
table: "Employees",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
migrationBuilder.AddForeignKey(
name: "FK_Employees_JobRoles_JobRoleId",
table: "Employees",
column: "JobRoleId",
principalTable: "JobRoles",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Employees_JobRoles_JobRoleId",
table: "Employees");
migrationBuilder.DropColumn(
name: "HasApplicationAccess",
table: "Employees");
migrationBuilder.AlterColumn<Guid>(
name: "JobRoleId",
table: "Employees",
type: "char(36)",
nullable: true,
collation: "ascii_general_ci",
oldClrType: typeof(Guid),
oldType: "char(36)")
.OldAnnotation("Relational:Collation", "ascii_general_ci");
migrationBuilder.AlterColumn<string>(
name: "FirstName",
table: "Employees",
type: "longtext",
nullable: true,
oldClrType: typeof(string),
oldType: "longtext")
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<string>(
name: "AadharNumber",
table: "Employees",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<string>(
name: "PanNumber",
table: "Employees",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<Guid>(
name: "RoleId",
table: "Employees",
type: "char(36)",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
collation: "ascii_general_ci");
migrationBuilder.AddForeignKey(
name: "FK_Employees_JobRoles_JobRoleId",
table: "Employees",
column: "JobRoleId",
principalTable: "JobRoles",
principalColumn: "Id");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,70 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Organization_In_Employee_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Organizations_Employees_CreatedById",
table: "Organizations");
migrationBuilder.DropForeignKey(
name: "FK_Organizations_Employees_UpdatedById",
table: "Organizations");
migrationBuilder.DropIndex(
name: "IX_Organizations_CreatedById",
table: "Organizations");
migrationBuilder.DropIndex(
name: "IX_Organizations_UpdatedById",
table: "Organizations");
migrationBuilder.AddColumn<Guid>(
name: "OrganizationId",
table: "Employees",
type: "char(36)",
nullable: false,
defaultValue: new Guid("4e3a6d31-c640-40f7-8d67-6c109fcdb9ea"),
collation: "ascii_general_ci");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "OrganizationId",
table: "Employees");
migrationBuilder.CreateIndex(
name: "IX_Organizations_CreatedById",
table: "Organizations",
column: "CreatedById");
migrationBuilder.CreateIndex(
name: "IX_Organizations_UpdatedById",
table: "Organizations",
column: "UpdatedById");
migrationBuilder.AddForeignKey(
name: "FK_Organizations_Employees_CreatedById",
table: "Organizations",
column: "CreatedById",
principalTable: "Employees",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Organizations_Employees_UpdatedById",
table: "Organizations",
column: "UpdatedById",
principalTable: "Employees",
principalColumn: "Id");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,39 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_Organization_In_Employee_Table_As_Forgin_Key : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateIndex(
name: "IX_Employees_OrganizationId",
table: "Employees",
column: "OrganizationId");
migrationBuilder.AddForeignKey(
name: "FK_Employees_Organizations_OrganizationId",
table: "Employees",
column: "OrganizationId",
principalTable: "Organizations",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Employees_Organizations_OrganizationId",
table: "Employees");
migrationBuilder.DropIndex(
name: "IX_Employees_OrganizationId",
table: "Employees");
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Marco.Pms.DataAccess.Migrations
{
/// <inheritdoc />
public partial class Added_IsPrimary_Parameter_In_Employee_Table : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<bool>(
name: "IsPrimary",
table: "Employees",
type: "tinyint(1)",
nullable: false,
defaultValue: false);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "IsPrimary",
table: "Employees");
}
}
}

Some files were not shown because too many files have changed in this diff Show More