add list new design

This commit is contained in:
MahanCh
2025-04-19 16:11:22 +03:30
parent b5affa43c1
commit f2f8571b44
11 changed files with 3342 additions and 1593 deletions

View File

@@ -25,4 +25,9 @@ public interface IFileRepository : IRepository<long, File1>
Task<List<FileListViewModel>> GetList(GetFileSearchModel searchModel);
#endregion
Task<List<string>> GetAllArchiveNo();
Task<List<string>> GetAllClassFiles();
Task<List<EmployeeSelectListViewModel>> GetClientAndLitigation();
Task<EditEmployee> GetClientDetails(long fileId);
}

View File

@@ -35,6 +35,11 @@ public interface IFileApplication
Task<List<FileListViewModel>> GetList(GetFileSearchModel searchModel);
Task<List<string>> GetAllArchiveNo();
Task<List<string>> GetAllClassFiles();
Task<List<EmployeeSelectListViewModel>> GetClientAndLitigation();
Task<EditEmployee> GetClientDetails(long fileId);
#endregion
}
@@ -53,7 +58,7 @@ public class GetFileSearchModel
/// <summary>
/// اصیل دعوی (شامل جمع خواهان ها و خوانده ها
/// </summary>
public (long id, bool IsRequester) ClientOrLitigationParty { get; set; }
public long ClientOrLitigationPartyId { get; set; }
/// <summary>
/// شعبه هیئت تشخیص
/// </summary>
@@ -93,6 +98,8 @@ public class GetFileSearchModel
/// </summary>
public string DisputeResolutionBoardToDate{ get; set; }
public int Status { get; set; }
public int PageIndex { get; set; }
}
@@ -134,6 +141,11 @@ public class FileListViewModel
/// وضعیت پرونده. یک به معنی غیرفعال. دو به معنی فعال. سه به معنی خروج موقت
/// </summary>
public int Status { get; set; }
/// <summary>
/// درج وکالتنامه . یک یعنی ندارد . دو یعنی دارد
/// </summary>
public int HasMandate { get; set; }
}
public class FileListBoardViewModel

View File

@@ -200,10 +200,6 @@ public class FileApplication : IFileApplication
return employers;
}
public FileViewModel GetFileDetails(FileViewModel file)
{
var viewModel = new FileViewModel();
@@ -527,5 +523,26 @@ public class FileApplication : IFileApplication
{
return await _fileRepository.GetList(searchModel);
}
public async Task<List<string>> GetAllArchiveNo()
{
return await _fileRepository.GetAllArchiveNo();
}
public async Task<List<string>> GetAllClassFiles()
{
return await _fileRepository.GetAllClassFiles();
}
public async Task<List<EmployeeSelectListViewModel>> GetClientAndLitigation()
{
return await _fileRepository.GetClientAndLitigation();
}
public async Task<EditEmployee> GetClientDetails(long fileId)
{
return await _fileRepository.GetClientDetails(fileId);
}
#endregion
}

View File

@@ -38,24 +38,14 @@ public class ProceedingSessionApplication : IProceedingSessionApplication
//var Time = new DateTime();
//Time = command.Time.ToGeorgianDateTime();
if (string.IsNullOrWhiteSpace(command.Date) && string.IsNullOrWhiteSpace(command.Time))
if (String.IsNullOrWhiteSpace(command.Date) && String.IsNullOrWhiteSpace(command.Time))
return operation.Succcedded();
if (string.IsNullOrWhiteSpace(command.Date) || string.IsNullOrWhiteSpace(command.Time))
if (String.IsNullOrWhiteSpace(command.Date) || String.IsNullOrWhiteSpace(command.Time))
return operation.Failed("تاریخ و زمان رسیدگی الزامی است");
var Date = new DateTime();
if (!command.Date.TryToGeorgianDateTime(out Date))
{
return operation.Failed("تاریخ جلسه وارد شده نامعتبر است ");
}
if (!TimeOnly.TryParse(command.Time, out _))
{
return operation.Failed("ساعت جلسه وارد شده نامعتبر است");
}
Date = command.Date.ToGeorgianDateTime();
var proSession = new ProceedingSession(Date, command.Time, command.Board_Id);
_proceedingSessionRepository.Create(proSession);
@@ -249,7 +239,7 @@ public class ProceedingSessionApplication : IProceedingSessionApplication
if (searchModel.Board.BoardType_Id != 0 && board.BoardType_Id != searchModel.Board.BoardType_Id)
continue;
if (searchModel.Board.BoardChairman != null)
if(searchModel.Board.BoardChairman != null)
{
if (board.BoardChairman == null)
continue;
@@ -333,7 +323,7 @@ public class ProceedingSessionApplication : IProceedingSessionApplication
{
var pastProceedingSessions = _proceedingSessionRepository.Search(new ProceedingSessionSearchModel { Status = 1, ToDate = DateTime.Today.AddDays(-1).ToFarsi() });
foreach (var PS in pastProceedingSessions)
foreach(var PS in pastProceedingSessions)
{
var proceedingSession = _proceedingSessionRepository.Get(PS.Id);
proceedingSession.Edit(PS.Date.ToGeorgianDateTime(), PS.Time, PS.Board_Id, 2);

View File

@@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using _0_Framework_b.InfraStructure;
using _0_Framework_b.Application;
using Company.Domain.File1;
@@ -11,6 +8,7 @@ using CompanyManagment.App.Contracts.Employer;
using CompanyManagment.App.Contracts.File1;
using Microsoft.EntityFrameworkCore;
using PersianTools.Core;
using System.Threading.Tasks;
namespace CompanyManagment.EFCore.Repository;
@@ -266,7 +264,7 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
EmployeeFullName = x.FName + " " + x.LName
}).FirstOrDefault();
return result?.EmployeeFullName ?? "";
return result?.EmployeeFullName??"-";
}
public string GetEmployerFullNameById(long id)
@@ -276,7 +274,7 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
FullName = x.FullName
}).FirstOrDefault();
return result?.FullName ?? "";
return result?.FullName??"-";
}
public List<EmployeeViewModel> GetAllEmploees()
@@ -314,59 +312,6 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
}).ToList();
}
public List<FileViewModel> GetFileList(FileSearchModel searchModel)
{
var query = _context.Files.Select(x => new FileViewModel
{
Id = x.id,
ArchiveNo = x.ArchiveNo,
ClientVisitDate = x.ClientVisitDate.ToFarsi(),
ProceederReference = x.ProceederReference,
Reqester = x.Reqester,
Summoned = x.Summoned,
Client = x.Client,
FileClass = x.FileClass,
HasMandate = x.HasMandate,
Description = x.Description,
Status = x.Status
});
if (searchModel.Id != 0)
{
query = query.Where(x => x.Id == searchModel.Id);
}
//TODO if
if (searchModel.ArchiveNo != null && int.Parse(searchModel.ArchiveNo) != -1)
{
query = query.Where(x => x.ArchiveNo == int.Parse(searchModel.ArchiveNo));
}
if (!string.IsNullOrEmpty(searchModel.FileClass) && searchModel.FileClass != "-1")
{
query = query.Where(x => x.FileClass.Contains(searchModel.FileClass));
}
if (searchModel.UserId != 0)
{
if (searchModel.Client == 0)
query = query.Where(x => x.Reqester == searchModel.UserId || x.Summoned == searchModel.UserId);
else if (searchModel.Client == 1)
query = query.Where(x => x.Reqester == searchModel.UserId);
else
query = query.Where(x => x.Summoned == searchModel.UserId);
}
if (searchModel.Status != 0)
{
query = query.Where(x => x.Status == searchModel.Status);
}
return query.OrderByDescending(x => x.ArchiveNo).Skip(searchModel.PageIndex).Take(30).ToList();
}
public async Task<List<FileExcelViewModel>> GetExcelDetails()
{
var fileQuery = _context.Files.Include(x => x.PetitionsList).AsQueryable();
@@ -405,6 +350,8 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
#region Search
if (searchModel.Status > 0)
fileQuery = fileQuery.Where(x => x.Status == searchModel.Status);
if (searchModel.ArchiveNumber > 0)
{
fileQuery = fileQuery.Where(x => x.ArchiveNo == searchModel.ArchiveNumber);
@@ -415,16 +362,11 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
fileQuery = fileQuery.Where(x => x.FileClass.Contains(searchModel.FileClass));
}
if (searchModel.ClientOrLitigationParty.id > 0)
if (searchModel.ClientOrLitigationPartyId > 0)
{
if (searchModel.ClientOrLitigationParty.IsRequester)
{
fileQuery = fileQuery.Where(x => x.Reqester == searchModel.ClientOrLitigationParty.id);
}
else
{
fileQuery = fileQuery.Where(x => x.Summoned == searchModel.ClientOrLitigationParty.id);
}
fileQuery = fileQuery.Where(x => x.Reqester == searchModel.ClientOrLitigationPartyId || x.Summoned == searchModel.ClientOrLitigationPartyId);
}
if (!string.IsNullOrWhiteSpace(searchModel.DiagnosisBoardBranch))
@@ -488,11 +430,13 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
var disputeResolutionPetition = x.PetitionsList.FirstOrDefault(p => p.BoardType_Id == 2);
return new FileListViewModel()
{
Id = x.id,
ArchiveNumber = x.ArchiveNo,
FileClass = x.FileClass,
Client = x.Client == 1 ? requester?.FullName : summoned?.FullName ?? "-",
LitigationParty = x.Client == 1 ? summoned?.FullName : requester?.FullName ?? "-",
Status = x.Status,
HasMandate = x.HasMandate,
DiagnosisBoard = new FileListBoardViewModel()
{
BoardChairman = diagnosisBoard?.BoardChairman ?? "-",
@@ -532,4 +476,77 @@ public class FileRepository : RepositoryBase<long, Company.Domain.File1.File1>,
}
public async Task<List<string>> GetAllArchiveNo()
{
return await _context.Files.Select(x => x.ArchiveNo.ToString()).ToListAsync();
}
public async Task<List<string>> GetAllClassFiles()
{
return await _context.Files.Select(x => x.FileClass).Distinct().ToListAsync();
}
async Task<List<EmployeeSelectListViewModel>> IFileRepository.GetClientAndLitigation()
{
var files = _context.Files.AsQueryable();
var employees = await _context.Employees.Where(x => files.Any(f => f.Reqester == x.id)).Select(x => new EmployeeSelectListViewModel
{
Id = x.id,
EmployeeFullName = x.FName + " " + x.LName,
}).ToListAsync();
var employers = await _context.Employers.Where(x => files.Any(f => f.Summoned == x.id)).Select(x => new EmployeeSelectListViewModel
{
Id = x.id,
EmployeeFullName = x.FullName,
}).ToListAsync();
var result = employers.Concat(employees).ToList();
return result;
}
public async Task<EditEmployee> GetClientDetails(long fileId)
{
var file = await _context.Files.FirstOrDefaultAsync(x => x.id == fileId);
if (file == null)
return null;
EditEmployee result ;
if (file.Client == 1)
{
result = _context.Employees.Where(x => x.id == file.Reqester).Select(x => new EditEmployee
{
Id = x.id,
FName = x.FName,
LName = x.LName,
MclsUserName = x.MclsUserName,
MclsPassword = x.MclsPassword,
EserviceUserName = x.EserviceUserName,
EservicePassword = x.EservicePassword,
SanaUserName = x.SanaUserName,
SanaPassword = x.SanaPassword
}).FirstOrDefault();
}
else
{
result = _context.Employers.Where(x => x.id == file.Summoned).Select(x => new EditEmployee
{
Id = x.id,
FName = x.FName,
LName = x.LName,
MclsUserName = x.MclsUserName,
MclsPassword = x.MclsPassword,
EserviceUserName = x.EserviceUserName,
EservicePassword = x.EservicePassword,
SanaUserName = x.SanaUserName,
SanaPassword = x.SanaPassword
}).FirstOrDefault();
}
return result;
}
}

View File

@@ -6,7 +6,7 @@ using Company.Domain.ProceedingSession;
using CompanyManagment.App.Contracts.ProceedingSession;
using CompanyManagment.EFCore;
namespace File.EfCore.Repository;
namespace CompanyManagment.EFCore.Repository;
public class ProceedingSessionRepository : RepositoryBase<long, ProceedingSession>, IProceedingSessionRepository
{

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,4 @@
using System.Transactions;
using _0_Framework.Application;
using _0_Framework.Application;
using CompanyManagement.Infrastructure.Excel.CaseManagement;
using CompanyManagment.App.Contracts.Board;
using CompanyManagment.App.Contracts.Contact2;
@@ -14,10 +13,11 @@ using CompanyManagment.App.Contracts.MasterWorkHistory;
using CompanyManagment.App.Contracts.PenaltyTitle;
using CompanyManagment.App.Contracts.Petition;
using CompanyManagment.App.Contracts.ProceedingSession;
using CompanyManagment.App.Contracts.Reward;
using CompanyManagment.App.Contracts.WorkHistory;
using IPE.SmsIrClient.Models.Results;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Configuration.UserSecrets;
using ArchiveNo_FileClass_UserIdList = CompanyManagment.App.Contracts.File1.ArchiveNo_FileClass_UserIdList;
using Users = CompanyManagment.App.Contracts.File1.Users;
//using CompanyManagment.App.Contracts.FileAlert;
@@ -43,6 +43,7 @@ public class IndexModel : PageModel
private readonly IWorkHistoryApplication _workHistoryApplication;
public FileSearchModel fileSearchModel;
public List<FileViewModel> viewModels;
public int PageIndex = 0;
public IndexModel(
@@ -78,87 +79,21 @@ public class IndexModel : PageModel
_contactApplication = contactApplication;
}
public void OnGet(FileSearchModel fileSearchModel)
public IActionResult OnGet()
{
var files = new List<FileViewModel>();
if (fileSearchModel.diagnosisBoard == null)
fileSearchModel.diagnosisBoard = new BoardSearchModel();
if (fileSearchModel.diagnosisProceedingSession == null)
fileSearchModel.diagnosisProceedingSession = new ProceedingSessionSearchModel();
if (fileSearchModel.disputeResolutionBoard == null)
fileSearchModel.disputeResolutionBoard = new BoardSearchModel();
if (fileSearchModel.disputeResolutionProceedingSession == null)
fileSearchModel.disputeResolutionProceedingSession =
new ProceedingSessionSearchModel();
var allFiles = _fileApplication.Search(new FileSearchModel());
if (this.fileSearchModel == null)
{
this.fileSearchModel = new FileSearchModel
{
ArchiveNo_FileClass_UserIdList = allFiles.Select(x => new ArchiveNo_FileClass_UserIdList
{
ArchiveNo = x.ArchiveNo.ToString(),
FileClass = x.FileClass,
UserId = x.Client == 1 ? x.Reqester : x.Summoned
}).ToList(),
UsersList = _fileApplication.GetAllEmploees().Select(x => new Users
{ Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList()
};
this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers()
.Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList());
}
else
{
this.fileSearchModel.ArchiveNo_FileClass_UserIdList = allFiles.Select(x =>
new ArchiveNo_FileClass_UserIdList
{
ArchiveNo = x.ArchiveNo.ToString(),
FileClass = x.FileClass,
UserId = x.Client == 1 ? x.Reqester : x.Summoned
}).ToList();
this.fileSearchModel.UsersList = _fileApplication.GetAllEmploees().Select(x =>
new Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList();
this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers()
.Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList());
return Page();
}
if (!fileSearchModel.IsSearch)
files = _fileApplication.Search(fileSearchModel).Take(50).ToList();
else
files = _fileApplication.Search(fileSearchModel).ToList();
files.ForEach(f => f.ReqesterFullname = _fileApplication.GetEmployeeFullNameById(f.Reqester));
files.ForEach(f => f.SummonedFullname = _fileApplication.GetEmployerFullNameById(f.Summoned));
viewModels = files;
var i = 0;
foreach (var file in files.ToList())
public async Task<IActionResult> OnGetLoadDataAjax(GetFileSearchModel searchModel)
{
var tempViewModel = new FileViewModel();
tempViewModel = _fileApplication.GetFileDetails(file);
var resultData = await _fileApplication.GetList(searchModel);
if (fileSearchModel.IsSearch)
return new JsonResult(new
{
if (_fileApplication.FilterFileDetails(tempViewModel, fileSearchModel))
{
viewModels[i] = tempViewModel;
i++;
}
else
{
viewModels.RemoveAt(i);
}
}
}
success = true,
data = resultData,
pageIndex = resultData.Count()
});
}
public IActionResult OnGetCreateFile()
@@ -248,57 +183,62 @@ public class IndexModel : PageModel
public IActionResult OnPostEditFile(EditFile command)
{
using var transaction = new TransactionScope();
var fileResult = _fileApplication.Edit(command);
var result = _fileApplication.Edit(command);
if (!fileResult.IsSuccedded)
return new JsonResult(fileResult);
if (!result.IsSuccedded)
return new JsonResult(result);
OperationResult diagnosisBoardResult;
if (
command.createDiagnosisBoard.BoardChairman != null
|| command.createDiagnosisBoard.Branch != null
|| command.createDiagnosisBoard.DisputeResolutionPetitionDate != null
|| command.createDiagnosisBoard.ExpertReport != null
)
{
if (command.createDiagnosisBoard.Id == 0)
diagnosisBoardResult = _boardApplication.Create(command.createDiagnosisBoard);
result = _boardApplication.Create(command.createDiagnosisBoard);
else
diagnosisBoardResult = _boardApplication.Edit(command.createDiagnosisBoard);
result = _boardApplication.Edit(command.createDiagnosisBoard);
if (!diagnosisBoardResult.IsSuccedded)
return new JsonResult(diagnosisBoardResult);
if (!result.IsSuccedded)
return new JsonResult(result);
if (command.createDiagnosisPS is { Count: > 0 })
{
OperationResult diagnosisPs = _proceedingSessionApplication.CreateProceedingSessions(
if (command.createDiagnosisPS != null)
result = _proceedingSessionApplication.CreateProceedingSessions(
command.createDiagnosisPS,
diagnosisBoardResult.SendId
result.SendId
);
if (!diagnosisPs.IsSuccedded)
return new JsonResult(diagnosisPs);
if (!result.IsSuccedded)
return new JsonResult(result);
}
OperationResult disputeBoardResult;
if (command.createDisputeResolutionBoard.Id == 0)
disputeBoardResult = _boardApplication.Create(command.createDisputeResolutionBoard);
else
disputeBoardResult = _boardApplication.Edit(command.createDisputeResolutionBoard);
if (!disputeBoardResult.IsSuccedded)
return new JsonResult(disputeBoardResult);
if (command.createDisputeResolutionPS is { Count: > 0 })
if (
command.createDisputeResolutionBoard.BoardChairman != null
|| command.createDisputeResolutionBoard.Branch != null
|| command.createDisputeResolutionBoard.DisputeResolutionPetitionDate != null
|| command.createDisputeResolutionBoard.ExpertReport != null
)
{
OperationResult disputePs = _proceedingSessionApplication.CreateProceedingSessions(
if (command.createDisputeResolutionBoard.Id == 0)
result = _boardApplication.Create(command.createDisputeResolutionBoard);
else
result = _boardApplication.Edit(command.createDisputeResolutionBoard);
if (!result.IsSuccedded)
return new JsonResult(result);
if (command.createDisputeResolutionPS != null)
result = _proceedingSessionApplication.CreateProceedingSessions(
command.createDisputeResolutionPS,
disputeBoardResult.SendId
result.SendId
);
if (!disputePs.IsSuccedded)
return new JsonResult(disputePs);
if (!result.IsSuccedded)
return new JsonResult(result);
}
transaction.Complete();
return new JsonResult(disputeBoardResult);
return new JsonResult(result);
}
public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId)
@@ -355,7 +295,6 @@ public class IndexModel : PageModel
if (!penaltyResult.IsSuccedded)
return new JsonResult(penaltyResult);
return new JsonResult(penaltyResult);
}
@@ -662,5 +601,30 @@ public class IndexModel : PageModel
$"پرونده.xlsx");
}
public async Task<IActionResult> OnGetClassFilesList()
{
var result = await _fileApplication.GetAllClassFiles();
return new JsonResult(result);
}
public async Task<IActionResult> OnGetArchiveNoList()
{
var result = await _fileApplication.GetAllArchiveNo();
return new JsonResult(result);
}
public async Task<IActionResult> OnGetClientOrLitigant()
{
var result = await _fileApplication.GetClientAndLitigation();
return new JsonResult(result);
}
public async Task<IActionResult> OnGetClientDetails(long fileId)
{
var command = await _fileApplication.GetClientDetails(fileId);
return Partial("ModalEmployeeDetail", command);
}
#endregion
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,667 @@
using _0_Framework.Application;
using CompanyManagement.Infrastructure.Excel.CaseManagement;
using CompanyManagment.App.Contracts.Board;
using CompanyManagment.App.Contracts.Contact2;
using CompanyManagment.App.Contracts.Evidence;
using CompanyManagment.App.Contracts.EvidenceDetail;
using CompanyManagment.App.Contracts.File1;
using CompanyManagment.App.Contracts.FileTiming;
using CompanyManagment.App.Contracts.FileTitle;
using CompanyManagment.App.Contracts.MasterPenaltyTitle;
using CompanyManagment.App.Contracts.MasterPetition;
using CompanyManagment.App.Contracts.MasterWorkHistory;
using CompanyManagment.App.Contracts.PenaltyTitle;
using CompanyManagment.App.Contracts.Petition;
using CompanyManagment.App.Contracts.ProceedingSession;
using CompanyManagment.App.Contracts.WorkHistory;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using ArchiveNo_FileClass_UserIdList = CompanyManagment.App.Contracts.File1.ArchiveNo_FileClass_UserIdList;
using Users = CompanyManagment.App.Contracts.File1.Users;
//using CompanyManagment.App.Contracts.FileAlert;
namespace ServiceHost.Areas.Admin.Pages.Company.FilePage;
public class IndexOldModel : PageModel
{
private readonly IBoardApplication _boardApplication;
private readonly IContactApplication2 _contactApplication;
private readonly IEvidenceApplication _evidenceApplication;
private readonly IEvidenceDetailApplication _evidenceDetailApplication;
private readonly IFileApplication _fileApplication;
private readonly IFileTimingApplication _fileTimingApplication;
private readonly IFileTitleApplication _fileTitleApplication;
private readonly IMasterPenaltyTitleApplication _masterPenaltyTitleApplication;
private readonly IMasterPetitionApplication _masterPetitionApplication;
private readonly IMasterWorkHistoryApplication _masterWorkHistoryApplication;
private readonly IPenaltyTitleApplication _penaltyTitleApplication;
private readonly IPetitionApplication _petitionApplication;
private readonly IProceedingSessionApplication _proceedingSessionApplication;
private readonly IWorkHistoryApplication _workHistoryApplication;
public FileSearchModel fileSearchModel;
public List<FileViewModel> viewModels;
public IndexOldModel(
IFileApplication fileApplication,
IBoardApplication boardApplication,
IPetitionApplication petitionApplication,
IWorkHistoryApplication workHistoryApplication,
IPenaltyTitleApplication penaltyTitleApplication,
IProceedingSessionApplication proceedingSessionApplication,
IMasterPetitionApplication masterPetitionApplication,
IMasterWorkHistoryApplication masterWorkHistoryApplication,
IMasterPenaltyTitleApplication masterPenaltyTitleApplication,
IEvidenceApplication evidenceApplication,
IEvidenceDetailApplication evidenceDetailApplication,
IFileTitleApplication fileTitleApplication,
IFileTimingApplication fileTimingApplication,
IContactApplication2 contactApplication
)
{
_fileApplication = fileApplication;
_boardApplication = boardApplication;
_petitionApplication = petitionApplication;
_workHistoryApplication = workHistoryApplication;
_penaltyTitleApplication = penaltyTitleApplication;
_proceedingSessionApplication = proceedingSessionApplication;
_masterPetitionApplication = masterPetitionApplication;
_masterWorkHistoryApplication = masterWorkHistoryApplication;
_masterPenaltyTitleApplication = masterPenaltyTitleApplication;
_evidenceApplication = evidenceApplication;
_evidenceDetailApplication = evidenceDetailApplication;
_fileTitleApplication = fileTitleApplication;
_fileTimingApplication = fileTimingApplication;
_contactApplication = contactApplication;
}
public void OnGet(FileSearchModel fileSearchModel)
{
var files = new List<FileViewModel>();
if (fileSearchModel.diagnosisBoard == null)
fileSearchModel.diagnosisBoard = new BoardSearchModel();
if (fileSearchModel.diagnosisProceedingSession == null)
fileSearchModel.diagnosisProceedingSession = new ProceedingSessionSearchModel();
if (fileSearchModel.disputeResolutionBoard == null)
fileSearchModel.disputeResolutionBoard = new BoardSearchModel();
if (fileSearchModel.disputeResolutionProceedingSession == null)
fileSearchModel.disputeResolutionProceedingSession =
new ProceedingSessionSearchModel();
var allFiles = _fileApplication.Search(new FileSearchModel());
if (this.fileSearchModel == null)
{
this.fileSearchModel = new FileSearchModel
{
ArchiveNo_FileClass_UserIdList = allFiles.Select(x => new ArchiveNo_FileClass_UserIdList
{
ArchiveNo = x.ArchiveNo.ToString(),
FileClass = x.FileClass,
UserId = x.Client == 1 ? x.Reqester : x.Summoned
}).ToList(),
UsersList = _fileApplication.GetAllEmploees().Select(x => new Users
{ Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList()
};
this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers()
.Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList());
}
else
{
this.fileSearchModel.ArchiveNo_FileClass_UserIdList = allFiles.Select(x =>
new ArchiveNo_FileClass_UserIdList
{
ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass,
UserId = x.Client == 1 ? x.Reqester : x.Summoned
}).ToList();
this.fileSearchModel.UsersList = _fileApplication.GetAllEmploees().Select(x =>
new Users { Id = x.Id, FullName = x.EmployeeFullName, RequesterOrSummoned = 1 }).ToList();
this.fileSearchModel.UsersList.AddRange(_fileApplication.GetAllEmployers()
.Select(x => new Users { Id = x.Id, FullName = x.FullName, RequesterOrSummoned = 2 }).ToList());
}
if (!fileSearchModel.IsSearch)
files = _fileApplication.Search(fileSearchModel).Take(50).ToList();
else
files = _fileApplication.Search(fileSearchModel).ToList();
files.ForEach(f => f.ReqesterFullname = _fileApplication.GetEmployeeFullNameById(f.Reqester));
files.ForEach(f => f.SummonedFullname = _fileApplication.GetEmployerFullNameById(f.Summoned));
viewModels = files;
var i = 0;
foreach (var file in files.ToList())
{
var tempViewModel = new FileViewModel();
tempViewModel = _fileApplication.GetFileDetails(file);
if (fileSearchModel.IsSearch)
{
if (_fileApplication.FilterFileDetails(tempViewModel, fileSearchModel))
{
viewModels[i] = tempViewModel;
i++;
}
else
{
viewModels.RemoveAt(i);
}
}
}
}
public IActionResult OnGetCreateFile()
{
var archiveNo = _fileApplication.FindLastArchiveNumber();
var createFile = new CreateFile
{
ArchiveNo = archiveNo + 1,
Employees = _fileApplication.GetAllEmploees(false),
Employers = _fileApplication.GetAllEmployers(false),
Contacts = _contactApplication.GetAllContact()
};
return Partial("./CreateFile", createFile);
}
public IActionResult OnPostCreateFile(CreateFile command)
{
var result = _fileApplication.Create(command);
return new JsonResult(result);
}
public IActionResult OnGetEditFile(long id = -1)
{
if (id == -1)
{
var file = _fileApplication.Search(new FileSearchModel()).FirstOrDefault();
if (file != null) id = file.Id;
}
var editFile = _fileApplication.GetDetails(id);
var diagnosisBoard =
_boardApplication.GetDetails(editFile.Id, 1)
?? new EditBoard { File_Id = editFile.Id, BoardType_Id = 1 };
var diagnosisPS = new List<EditProceedingSession> { new() };
if (diagnosisBoard.Id != 0)
{
var PsSearchModel = new ProceedingSessionSearchModel { Board_Id = diagnosisBoard.Id, Status = 0 };
diagnosisPS = _proceedingSessionApplication.Search(PsSearchModel);
if (diagnosisPS.Count == 0)
diagnosisPS.Add(new EditProceedingSession());
}
//diagnosisPS =
// diagnosisPS.Count != 0
// ? diagnosisPS
// : new List<EditProceedingSession> { new EditProceedingSession() };
var diagnosisPetition = _petitionApplication.GetDetails(editFile.Id, 1);
var disputeResolutionBoard =
_boardApplication.GetDetails(editFile.Id, 2)
?? new EditBoard { File_Id = editFile.Id, BoardType_Id = 2 };
var disputeResolutionPS = new List<EditProceedingSession> { new() };
if (disputeResolutionBoard.Id != 0)
{
var PsSearchModel = new ProceedingSessionSearchModel { Board_Id = disputeResolutionBoard.Id };
disputeResolutionPS = _proceedingSessionApplication.Search(PsSearchModel);
if (disputeResolutionPS.Count == 0)
disputeResolutionPS.Add(new EditProceedingSession());
}
//disputeResolutionPS =
// disputeResolutionPS.Count != 0
// ? disputeResolutionPS
// : new List<EditProceedingSession> { new EditProceedingSession() };
var disputeResolutionPetition = _petitionApplication.GetDetails(editFile.Id, 2);
editFile.createDiagnosisBoard = diagnosisBoard;
editFile.createDiagnosisPS = diagnosisPS;
editFile.createDiagnosisPetition = diagnosisPetition;
editFile.createDisputeResolutionBoard = disputeResolutionBoard;
editFile.createDisputeResolutionPS = disputeResolutionPS;
editFile.createDisputeResolutionPetition = disputeResolutionPetition;
editFile.Employees = _fileApplication.GetAllEmploees();
editFile.Employers = _fileApplication.GetAllEmployers();
return Partial("Edit", editFile);
}
public IActionResult OnPostEditFile(EditFile command)
{
var result = _fileApplication.Edit(command);
if (!result.IsSuccedded)
return new JsonResult(result);
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);
if (!result.IsSuccedded)
return new JsonResult(result);
if (command.createDiagnosisPS != null)
result = _proceedingSessionApplication.CreateProceedingSessions(
command.createDiagnosisPS,
result.SendId
);
if (!result.IsSuccedded)
return new JsonResult(result);
}
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);
if (!result.IsSuccedded)
return new JsonResult(result);
if (command.createDisputeResolutionPS != null)
result = _proceedingSessionApplication.CreateProceedingSessions(
command.createDisputeResolutionPS,
result.SendId
);
if (!result.IsSuccedded)
return new JsonResult(result);
}
return new JsonResult(result);
}
public IActionResult OnGetCreateOrEditPetition(long fileId, int boardTypeId)
{
var file = _fileApplication.GetDetails(fileId);
var petition = _petitionApplication.GetDetails(fileId, boardTypeId) ?? new EditPetition();
var workHistories = _workHistoryApplication.Search(petition.Id);
workHistories =
workHistories.Count != 0
? workHistories
: new List<EditWorkHistory> { new() };
var PenaltyTitles = _penaltyTitleApplication.Search(petition.Id);
PenaltyTitles =
PenaltyTitles.Count != 0
? PenaltyTitles
: new List<EditPenaltyTitle> { new() };
petition.File_Id = fileId;
petition.BoardType_Id = boardTypeId;
petition.FileData = file;
petition.CreateWorkHistory = workHistories;
petition.CreatePenaltyTitle = PenaltyTitles;
return Partial("./CreateOrEditPetition", petition);
}
public IActionResult OnPostCreateOrEditPetition(EditPetition command)
{
var petitionResult = new OperationResult();
if (command.Id == 0)
petitionResult = _petitionApplication.Create(command);
else
petitionResult = _petitionApplication.Edit(command);
if (!petitionResult.IsSuccedded)
return new JsonResult(petitionResult);
var workResult = _workHistoryApplication.CreateWorkHistories(
command.CreateWorkHistory,
petitionResult.SendId
);
if (!workResult.IsSuccedded)
return new JsonResult(workResult);
var penaltyResult = _penaltyTitleApplication.CreatePenaltyTitles(
command.CreatePenaltyTitle,
petitionResult.SendId
);
if (!penaltyResult.IsSuccedded)
return new JsonResult(penaltyResult);
return new JsonResult(penaltyResult);
}
public IActionResult OnGetCreateOrEditMasterPetition(long fileId, int boardTypeId)
{
var file = _fileApplication.GetDetails(fileId);
var masterPetition = _masterPetitionApplication.GetDetails(fileId, boardTypeId) ?? new EditMasterPetition();
var workHistories = _masterWorkHistoryApplication.Search(masterPetition.Id);
workHistories =
workHistories.Count != 0
? workHistories
: new List<EditMasterWorkHistory> { new() };
var PenaltyTitles = _masterPenaltyTitleApplication.Search(masterPetition.Id);
PenaltyTitles =
PenaltyTitles.Count != 0
? PenaltyTitles
: new List<EditMasterPenaltyTitle> { new() };
masterPetition.File_Id = fileId;
masterPetition.BoardType_Id = boardTypeId;
masterPetition.FileData = file;
masterPetition.CreateMasterWorkHistory = workHistories;
masterPetition.CreateMasterPenaltyTitle = PenaltyTitles;
return Partial("./CreateOrEditMasterPetition", masterPetition);
}
public IActionResult OnPostCreateOrEditMasterPetition(EditMasterPetition command)
{
var masterPetitionResult = new OperationResult();
//if (!ModelState.IsValid)
//{
// return BadRequest();
//}
//var result = _fileApplication.Edit(command.FileData);
//if (!result.IsSuccedded)
// return new JsonResult(result);
if (command.Id == 0)
masterPetitionResult = _masterPetitionApplication.Create(command);
else
masterPetitionResult = _masterPetitionApplication.Edit(command);
if (!masterPetitionResult.IsSuccedded)
return new JsonResult(masterPetitionResult);
var workResult = _masterWorkHistoryApplication.CreateMasterWorkHistories(
command.CreateMasterWorkHistory,
masterPetitionResult.SendId
);
if (!workResult.IsSuccedded)
return new JsonResult(workResult);
var penaltyResult = _masterPenaltyTitleApplication.CreateMasterPenaltyTitles(
command.CreateMasterPenaltyTitle,
masterPetitionResult.SendId
);
if (!penaltyResult.IsSuccedded)
return new JsonResult(penaltyResult);
return new JsonResult(penaltyResult);
}
public IActionResult OnGetCreateOrEditEvidence(long fileId, int boardTypeId)
{
var file = _fileApplication.GetDetails(fileId);
var evidence = _evidenceApplication.GetDetails(fileId, boardTypeId) ?? new EditEvidence();
var evidenceDetails = _evidenceDetailApplication.Search(evidence.Id);
evidenceDetails =
evidenceDetails.Count != 0
? evidenceDetails
: new List<EditEvidenceDetail> { new() };
evidence.File_Id = fileId;
evidence.BoardType_Id = boardTypeId;
evidence.FileData = file;
evidence.CreateEvidenceDetail = evidenceDetails;
return Partial("./CreateOrEditEvidence", evidence);
}
public IActionResult OnPostCreateOrEditEvidence(EditEvidence command)
{
var evidenceResult = new OperationResult();
//if (!ModelState.IsValid)
//{
// return BadRequest();
//}
//var result = _fileApplication.Edit(command.FileData);
//if (!result.IsSuccedded)
// return new JsonResult(result);
if (command.Id == 0)
evidenceResult = _evidenceApplication.Create(command);
else
evidenceResult = _evidenceApplication.Edit(command);
if (!evidenceResult.IsSuccedded)
return new JsonResult(evidenceResult);
var evidenceDetail = _evidenceDetailApplication.CreateEvidenceDetail(
command.CreateEvidenceDetail,
evidenceResult.SendId
);
if (!evidenceDetail.IsSuccedded)
return new JsonResult(evidenceDetail);
return new JsonResult(evidenceDetail);
}
public IActionResult OnGetCreateOrEditFileTitle(string type)
{
var EditFileTitle = new EditFileTitle();
EditFileTitle.FileTitlesList = _fileTitleApplication.Search(new FileTitleSearchModel { Type = type });
return Partial("./CreateOrEditFileTitle", EditFileTitle);
}
public IActionResult OnPostCreateOrEditFileTitle(EditFileTitle command)
{
var result = new OperationResult();
if (_fileTitleApplication.Search(new FileTitleSearchModel { Title = command.Title, Type = command.Type })
.Count != 0)
{
result.Failed("این عنوان قبلا ثبت شده است");
}
else
{
if (command.Id == 0)
{
result = _fileTitleApplication.Create(command);
}
else
{
var fileTitle = _fileTitleApplication.Search(new FileTitleSearchModel { Id = command.Id })
.FirstOrDefault();
fileTitle.Title = command.Title;
result = _fileTitleApplication.Edit(fileTitle);
}
}
var res = new
{
result,
type = command.Type
};
return new JsonResult(res);
}
public IActionResult OnGetCreateOrEditFileTiming(string type)
{
var FileTimings = _fileTimingApplication.Search(new FileTimingSearchModel());
if (FileTimings.Count == 0)
FileTimings = Enumerable.Repeat(new EditFileTiming(), 6).ToList();
return Partial("./CreateOrEditFileTiming", FileTimings);
}
public IActionResult OnPostCreateOrEditFileTiming(List<EditFileTiming> command)
{
var result = new OperationResult();
foreach (var item in command)
if (item.Id == 0)
_fileTimingApplication.Create(item);
else
_fileTimingApplication.Edit(item);
return new JsonResult(result.Succcedded());
}
public IActionResult OnGetFileSummary(long id)
{
var summary = _fileApplication.GetFileSummary(id);
return Partial("FileSummary", summary);
}
public JsonResult OnPostCheckUniqueArchiveNo(string archiveNo)
{
var sModel = new FileSearchModel { ArchiveNo = archiveNo };
var vModel = _fileApplication.Search(sModel);
return new JsonResult(
new
{
stat = vModel.Count() == 0 ? true : false,
message = vModel == null ? "" : "شماره بایگانی تکراری است"
}
);
}
public JsonResult OnPostCheckUniqueFileClass(string fileClass)
{
var sModel = new FileSearchModel { FileClass = fileClass };
var vModel = _fileApplication.Search(sModel);
return new JsonResult(
new
{
stat = vModel.Count() == 0 ? true : false,
message = vModel == null ? "" : "کلاسه پرونده تکراری است"
}
);
}
public JsonResult OnPostRemoveMasterPetition(long id)
{
_masterPenaltyTitleApplication.RemoveMasterPenaltyTitles(id);
_masterWorkHistoryApplication.RemoveMasterWorkHistories(id);
var result = _masterPetitionApplication.Remove(id);
return new JsonResult(result);
}
public JsonResult OnGetGetFileTitles(string type)
{
var fileTitlesList = new List<string>();
if (type == "contact")
fileTitlesList = _contactApplication.GetAllContact().Select(x => x.NameContact).ToList();
else
fileTitlesList = _fileTitleApplication.Search(new FileTitleSearchModel { Type = type }).Select(x => x.Title)
.ToList();
return new JsonResult(fileTitlesList);
}
public JsonResult OnPostRemoveFileTitle(long id)
{
var result = _fileTitleApplication.Remove(id);
return new JsonResult(result);
}
public JsonResult OnPostRemoveEvidence(long id)
{
_evidenceDetailApplication.RemoveEvidenceDetails(id);
var result = _evidenceApplication.Remove(id);
return new JsonResult(result);
}
public JsonResult OnPostSetFileStatus(long id, int status)
{
var result = new OperationResult();
var file = _fileApplication.GetDetails(id);
file.Status = status;
result = _fileApplication.Edit(file);
switch (file.Status)
{
case 1:
//file.Status = 2;
//result = _fileApplication.Edit(file);
result.Message = "پرونده با موفقیت فعال شد";
break;
case 2:
//file.Status = 1;
//result = _fileApplication.Edit(file);
result.Message = "پرونده با موفقیت غیرفعال شد";
break;
case 3:
//file.Status = 1;
//result = _fileApplication.Edit(file);
result.Message = "پرونده با موفقیت از بایگانی خارج شد";
break;
}
return new JsonResult(result);
}
#region Mahan
public async Task<IActionResult> OnGetExcelFileDetails()
{
var data = await _fileApplication.GetExcelDetails();
var excelBytes = CaseManagementExcelGenerator.GenerateCheckoutTempExcelInfo(data);
return File(excelBytes,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
$"پرونده.xlsx");
}
#endregion
}

View File

@@ -0,0 +1,96 @@
@model CompanyManagment.App.Contracts.Employee.EditEmployee
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<div class="row">
<fieldset class="m-b-15" style="border: 1px solid #999797; border-radius: 10px; padding: revert">
<legend style="margin-bottom: 5px; font-size: large; border-bottom: 0px; color: #505458; width: 215px; text-align: center;"> @Model.EmployeeFullName </legend>
<div class="col-sm-12 col-sm-12 col-xs-12">
<table id="datatable" class="table table-striped table-bordered">
<thead>
<tr>
<td>
<p>نام کاربری اداره کار</p>
</td>
<td>
<p>رمز عبور اداره کار</p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>@Model.MclsUserName</p>
</td>
<td>
<p>@Model.MclsPassword</p>
</td>
</tr>
</tbody>
<thead>
<tr>
<td>
<p>نام کاربری E Service</p>
</td>
<td>
<p>رمز عبور E Service</p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>@Model.EserviceUserName</p>
</td>
<td>
<p>@Model.EservicePassword</p>
</td>
</tr>
</tbody>
<thead>
<tr>
<td>
<p>نام کاربری سامانه مالیات</p>
</td>
<td>
<p>رمز عبور سامانه مالیات</p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>@Model.TaxOfficeUserName</p>
</td>
<td>
<p>@Model.TaxOfficepassword</p>
</td>
</tr>
</tbody>
<thead>
<tr>
<td>
<p>نام کاربری سامانه ثنا</p>
</td>
<td>
<p>رمز عبور سامانه ثنا</p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<p>@Model.SanaUserName</p>
</td>
<td>
<p>@Model.SanaPassword</p>
</td>
</tr>
</tbody>
</table>
</div>
</fieldset>
</div>
</div>