From 069f427459acef3288f359e87bb989e982187b31 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 13 Sep 2024 09:56:30 +0700 Subject: [PATCH] fix : Update LeaveRequest Error Tracking Entity Id --- .../Common/Interfaces/ILeaveDbContext.cs | 2 ++ .../Repositories/Leaves/GenericLeaveRepository.cs | 1 + .../Leaves/LeaveRequests/LeaveRequestRepository.cs | 11 +++++++---- BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs | 5 +++++ BMA.EHR.Leave/appsettings.json | 8 ++++---- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/BMA.EHR.Application/Common/Interfaces/ILeaveDbContext.cs b/BMA.EHR.Application/Common/Interfaces/ILeaveDbContext.cs index 0ec6d3f3..9ffac8c7 100644 --- a/BMA.EHR.Application/Common/Interfaces/ILeaveDbContext.cs +++ b/BMA.EHR.Application/Common/Interfaces/ILeaveDbContext.cs @@ -8,6 +8,8 @@ namespace BMA.EHR.Application.Common.Interfaces void Attatch(T entity) where T : class; + void Detach(T entity) where T : class; + Task SaveChangesAsync(); } } diff --git a/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs b/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs index 712a49de..0e407725 100644 --- a/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/GenericLeaveRepository.cs @@ -77,6 +77,7 @@ namespace BMA.EHR.Application.Repositories.Leaves (entity as EntityBase).LastUpdatedAt = DateTime.Now; } + _dbContext.Detach(entity); _dbSet.Update(entity); await _dbContext.SaveChangesAsync(); diff --git a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs index 2272ea53..fe892ad2 100644 --- a/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs +++ b/BMA.EHR.Application/Repositories/Leaves/LeaveRequests/LeaveRequestRepository.cs @@ -72,7 +72,8 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public override async Task GetByIdAsync(Guid id) { - var data = await _dbContext.Set().AsQueryable().AsNoTracking() + var data = await _dbContext.Set().AsQueryable() + //.AsNoTracking() .Include(x => x.LeaveDocument) .ThenInclude(x => x.Document) .Include(x => x.LeaveDraftDocument) @@ -109,6 +110,9 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests public override async Task UpdateAsync(LeaveRequest entity) { + // detach + //_dbContext.Detach(entity); + if (entity.LeaveCancelDocument != null) _dbContext.Attatch(entity.LeaveCancelDocument); @@ -121,13 +125,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests { _dbContext.Attatch(d); } - } if (entity.Type != null) { - - _dbContext.Attatch(entity.Type); + //_dbContext.Attatch(entity.Type); + //_dbContext.Detach(entity.Type); } diff --git a/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs b/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs index 33e9be0e..cbc150a7 100644 --- a/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs +++ b/BMA.EHR.Infrastructure/Persistence/LeaveDbContext.cs @@ -49,5 +49,10 @@ namespace BMA.EHR.Infrastructure.Persistence { Attach(entity); } + + public void Detach(T entity) where T : class + { + base.Entry(entity).State = EntityState.Detached; + } } } diff --git a/BMA.EHR.Leave/appsettings.json b/BMA.EHR.Leave/appsettings.json index 6d09ce83..0f667faf 100644 --- a/BMA.EHR.Leave/appsettings.json +++ b/BMA.EHR.Leave/appsettings.json @@ -15,12 +15,12 @@ "ConnectionStrings": { //"DefaultConnection": "User Id=sys;Password=P@ssw0rd;DBA Privilege=SYSDBA;Data Source=localhost:1521/ORCLCDB", //"DefaultConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4061;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", - "DefaultConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", - //"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", + //"DefaultConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", + "DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", "ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", //"LeaveConnection": "server=192.168.4.11;user=root;password=P@ssw0rd;port=3306;database=bma_ehr_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;" - //"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", - "LeaveConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;" + "LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", + //"LeaveConnection": "server=192.168.1.81;user=root;password=adminVM123;port=4063;database=bma_ehr_leave;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;" }, "Jwt": { "Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",