diff --git a/CompanyManagment.Application/ProceedingSessionApplication.cs b/CompanyManagment.Application/ProceedingSessionApplication.cs index 08d5e2bd..4695dfc3 100644 --- a/CompanyManagment.Application/ProceedingSessionApplication.cs +++ b/CompanyManagment.Application/ProceedingSessionApplication.cs @@ -130,6 +130,7 @@ public class ProceedingSessionApplication : IProceedingSessionApplication ArchiveNo = searchModel.File.ArchiveNo.ToString(), FileClass = searchModel.File.FileClass, UserId_RequesterOrSummoned = searchModel.UserId_RequesterOrSummoned, + Status = 0 }); if (searchModel.IsSearched) @@ -230,6 +231,10 @@ public class ProceedingSessionApplication : IProceedingSessionApplication private List GetFile_Board_PSList(List list, List files, ProceedingSessionSearchModel searchModel) { + if (list.Any(x=>x.Id == 1516)) + { + + } var file_PSList = new List(); foreach (var item in list) @@ -248,7 +253,9 @@ public class ProceedingSessionApplication : IProceedingSessionApplication continue; } - var file = _fileRepository.Search(new FileSearchModel { Id = board.File_Id, Status = 0 }).FirstOrDefault(); + var filelist = _fileRepository.Search(new FileSearchModel { Id = board.File_Id, Status = 0 }).ToList(); + + var file = filelist.FirstOrDefault(); file = _fileApplication.GetFileDetails(file); diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs index 18c51bff..3f6d64e5 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs @@ -1,4 +1,5 @@ -using _0_Framework.Application; +using System.Transactions; +using _0_Framework.Application; using CompanyManagement.Infrastructure.Excel.CaseManagement; using CompanyManagment.App.Contracts.Board; using CompanyManagment.App.Contracts.Contact2; @@ -183,63 +184,58 @@ public class IndexModel : PageModel public IActionResult OnPostEditFile(EditFile command) { - var result = _fileApplication.Edit(command); + using var transaction = new TransactionScope(); + var fileResult = _fileApplication.Edit(command); - if (!result.IsSuccedded) - return new JsonResult(result); + if (!fileResult.IsSuccedded) + return new JsonResult(fileResult); - if ( - command.createDiagnosisBoard.BoardChairman != null - || command.createDiagnosisBoard.Branch != null - || command.createDiagnosisBoard.DisputeResolutionPetitionDate != null - || command.createDiagnosisBoard.ExpertReport != null - ) - { - if (command.createDiagnosisBoard.Id == 0) - result = _boardApplication.Create(command.createDiagnosisBoard); - else - result = _boardApplication.Edit(command.createDiagnosisBoard); + OperationResult diagnosisBoardResult; + if (command.createDiagnosisBoard.Id == 0) + diagnosisBoardResult = _boardApplication.Create(command.createDiagnosisBoard); + else + diagnosisBoardResult = _boardApplication.Edit(command.createDiagnosisBoard); - if (!result.IsSuccedded) - return new JsonResult(result); + if (!diagnosisBoardResult.IsSuccedded) + return new JsonResult(diagnosisBoardResult); - if (command.createDiagnosisPS != null) - result = _proceedingSessionApplication.CreateProceedingSessions( - command.createDiagnosisPS, - result.SendId - ); + if (command.createDiagnosisPS is { Count: > 0 }) + { + OperationResult diagnosisPs = _proceedingSessionApplication.CreateProceedingSessions( + command.createDiagnosisPS, + diagnosisBoardResult.SendId + ); - if (!result.IsSuccedded) - return new JsonResult(result); - } + if (!diagnosisPs.IsSuccedded) + return new JsonResult(diagnosisPs); + } - if ( - command.createDisputeResolutionBoard.BoardChairman != null - || command.createDisputeResolutionBoard.Branch != null - || command.createDisputeResolutionBoard.DisputeResolutionPetitionDate != null - || command.createDisputeResolutionBoard.ExpertReport != null - ) - { - if (command.createDisputeResolutionBoard.Id == 0) - result = _boardApplication.Create(command.createDisputeResolutionBoard); - else - result = _boardApplication.Edit(command.createDisputeResolutionBoard); + OperationResult disputeBoardResult; + if (command.createDisputeResolutionBoard.Id == 0) + disputeBoardResult = _boardApplication.Create(command.createDisputeResolutionBoard); + else + disputeBoardResult = _boardApplication.Edit(command.createDisputeResolutionBoard); - if (!result.IsSuccedded) - return new JsonResult(result); + if (!disputeBoardResult.IsSuccedded) + return new JsonResult(disputeBoardResult); - if (command.createDisputeResolutionPS != null) - result = _proceedingSessionApplication.CreateProceedingSessions( - command.createDisputeResolutionPS, - result.SendId - ); - if (!result.IsSuccedded) - return new JsonResult(result); - } - return new JsonResult(result); - } + if (command.createDisputeResolutionPS is { Count: > 0 }) + { + OperationResult disputePs = _proceedingSessionApplication.CreateProceedingSessions( + command.createDisputeResolutionPS, + disputeBoardResult.SendId + ); + + if (!disputePs.IsSuccedded) + return new JsonResult(disputePs); + } + + transaction.Complete(); + + return new JsonResult(disputeBoardResult); + } public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId) { diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs index eaad9ac1..f7621963 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Sessions.cshtml.cs @@ -32,11 +32,11 @@ public class SessionsModel : PageModel public void OnGet(ProceedingSessionSearchModel searchModel) { - _proceedingSessionApplication.UpdatePastProceedingSessions(); +_proceedingSessionApplication.UpdatePastProceedingSessions(); viewModels = _proceedingSessionApplication.FilterSessions(searchModel); - var files = _fileApplication.Search(new FileSearchModel()); + var files = _fileApplication.Search(new FileSearchModel(){Status = 0}); var ArchiveNo_FileClass_UserIdList = files.Select(x => new ArchiveNo_FileClass_UserIdList { ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass,