79 lines
3.0 KiB
C#
79 lines
3.0 KiB
C#
using System.Collections.Generic;
|
|
using _0_Framework.Application;
|
|
using Company.Domain.PersonnelCodeAgg;
|
|
using Company.Domain.WorkshopAgg;
|
|
using CompanyManagment.App.Contracts.PersonnleCode;
|
|
|
|
namespace CompanyManagment.Application;
|
|
|
|
public class PersonnelCodeApplication : IPersonnelCodeApplication
|
|
{
|
|
private readonly IPersonnelCodeRepository _personnelCodeRepository;
|
|
private readonly IWorkshopRepository _workshopRepository;
|
|
|
|
public PersonnelCodeApplication(IPersonnelCodeRepository personnelCodeRepository, IWorkshopRepository workshopRepository)
|
|
{
|
|
_personnelCodeRepository = personnelCodeRepository;
|
|
_workshopRepository = workshopRepository;
|
|
}
|
|
|
|
|
|
public OperationResult Create(CreatePersonnelCode command)
|
|
{
|
|
var opration = new OperationResult();
|
|
if (_personnelCodeRepository.Exists(x =>
|
|
x.WorkshopId == command.WorkshopId && x.PersonnelCode == command.PersonnelCode))
|
|
{
|
|
var workshopObj = _workshopRepository.GetDetails(command.WorkshopId);
|
|
return opration.Failed(" کد پرسنلی در کارگاه "+ workshopObj.WorkshopFullName + " تکراری می باشد. ");
|
|
}
|
|
|
|
if ( command.PersonnelCode<=0)
|
|
{
|
|
var workshopObj = _workshopRepository.GetDetails(command.WorkshopId);
|
|
return opration.Failed(" کد پرسنلی در کارگاه " + workshopObj.WorkshopFullName + "نامعتبر است.");
|
|
}
|
|
var psCode = new PersonnelCodeDomain(command.WorkshopId, command.EmployeeId, command.PersonnelCode);
|
|
_personnelCodeRepository.Create(psCode);
|
|
_personnelCodeRepository.SaveChanges();
|
|
|
|
return opration.Succcedded();
|
|
}
|
|
|
|
public OperationResult Edit(EditPersonnelCode command)
|
|
{
|
|
var opration = new OperationResult();
|
|
var psCodeedit = _personnelCodeRepository.Get(command.Id);
|
|
if (psCodeedit == null)
|
|
opration.Failed("رکورد مورد نظر وجود ندارد");
|
|
|
|
if (_personnelCodeRepository.Exists(x => x.WorkshopId == command.WorkshopId && x.PersonnelCode == command.PersonnelCode && x.id != command.Id))
|
|
return opration.Failed(" ;کد وارد شده تکراری است");
|
|
|
|
psCodeedit.Edit(command.PersonnelCode);
|
|
_personnelCodeRepository.SaveChanges();
|
|
|
|
|
|
return opration.Succcedded();
|
|
}
|
|
|
|
public EditPersonnelCode GetDetails(long id)
|
|
{
|
|
return _personnelCodeRepository.GetDetails(id);
|
|
}
|
|
|
|
public List<PersonnelCodeViewModel> Search(PersonnelCodeSearchModel searchModel)
|
|
{
|
|
return _personnelCodeRepository.Search(searchModel);
|
|
}
|
|
|
|
public PersonnelCodeViewModel GetPersonnelCodeViewModel(PersonnelCodeSearchModel searchModel)
|
|
{
|
|
return _personnelCodeRepository.GetPersonnelCodeViewModel(searchModel);
|
|
}
|
|
|
|
public long GetEmployeeIdByPersonelCode(long personleCode, long workshopId)
|
|
{
|
|
return _personnelCodeRepository.GetEmployeeIdByPersonelCode(personleCode, workshopId);
|
|
}
|
|
} |