104 lines
5.3 KiB
C#
104 lines
5.3 KiB
C#
using System.Collections.Generic;
|
|
using _0_Framework.Application;
|
|
using Company.Domain.TaxJobCategoryAgg;
|
|
using Company.Domain.TaxLeftWorkCategoryAgg;
|
|
using Company.Domain.TaxLeftWorkItemAgg;
|
|
using CompanyManagment.App.Contracts.TaxLeftWorkCategory;
|
|
using CompanyManagment.App.Contracts.TaxLeftWorkItem;
|
|
|
|
namespace CompanyManagment.Application;
|
|
|
|
public class TaxLeftWorkCategoryApplication : ITaxLeftWorkCategoryApplication
|
|
{
|
|
private readonly ITaxLeftWorkCategoryRepository _taxLeftWorkCategoryRepository;
|
|
private readonly ITaxJobCategoryRepository _taxJobCategoryRepository;
|
|
private readonly ITaxLeftWorkItemApplication _taxLeftWorkItemApplication;
|
|
|
|
public TaxLeftWorkCategoryApplication(ITaxLeftWorkCategoryRepository taxLeftWorkCategoryRepository, ITaxJobCategoryRepository taxJobCategoryRepository, ITaxLeftWorkItemApplication taxLeftWorkItemApplication)
|
|
{
|
|
_taxLeftWorkCategoryRepository = taxLeftWorkCategoryRepository;
|
|
_taxJobCategoryRepository = taxJobCategoryRepository;
|
|
_taxLeftWorkItemApplication = taxLeftWorkItemApplication;
|
|
}
|
|
|
|
|
|
public OperationResult Create(CreateTaxLeftWorkCategory command)
|
|
{
|
|
var op = new OperationResult();
|
|
if (command.WorkshopId == 0 || string.IsNullOrWhiteSpace(command.WorkshopName))
|
|
return op.Failed("کارگاه مشخص نشده است");
|
|
if (command.EmployeeId == 0 || string.IsNullOrWhiteSpace(command.EmployeeName))
|
|
return op.Failed("پرسنل مشخص نشده است");
|
|
if (_taxLeftWorkCategoryRepository.Exists(x => x.WorkshopId == command.WorkshopId))
|
|
return op.Failed("کارگاه تکراری است");
|
|
if (string.IsNullOrWhiteSpace(command.JobTitle))
|
|
return op.Failed("سمت را وارد کنید");
|
|
if (string.IsNullOrWhiteSpace(command.JobCategoryCode))
|
|
return op.Failed("رسته را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.TypeOfEmployment))
|
|
return op.Failed("نوع استخدام را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.TypeOfInsurance))
|
|
return op.Failed("نوع بیمه را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.TaxExempt))
|
|
return op.Failed("وضعیت معافیت مالیاتی را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.Country))
|
|
return op.Failed("کشور را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.EmploymentLocationStatus))
|
|
return op.Failed("وضعیت محل خدمت را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.BudgetLawExceptions))
|
|
return op.Failed("استثنائات قانون بودجه را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.PaymentType))
|
|
return op.Failed("نوع پرداخت را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.CurrencyType))
|
|
return op.Failed("نوع ارز را مشخص کنید");
|
|
if (string.IsNullOrWhiteSpace(command.ExchangeRate))
|
|
return op.Failed("نرخ تسعیر را مشخص کنید");
|
|
if (command.TaxLeftWorkItemViewModels.Count == 0 || command.TaxLeftWorkItemViewModels == null)
|
|
return op.Failed("هیچ شروع بکاری وارد نشده است");
|
|
var checkDatesErr = TaxLeftWorkItemsCheckError(command.TaxLeftWorkItemViewModels);
|
|
if (!checkDatesErr.IsSuccedded)
|
|
return op.Failed(checkDatesErr.Message);
|
|
var jobCatId = _taxJobCategoryRepository.GetTaxJobCategoryByCode(command.JobCategoryCode);
|
|
var createTaxLeftWorkCategory = new TaxLeftWorkCategory(command.RetirementDate,command.JobTitle,command.JobCategoryCode,jobCatId.Id,
|
|
command.TypeOfEmployment,command.EmploymentLocationStatus,command.TypeOfInsurance,command.InsuranceName,command.InsuranceBranch,
|
|
command.TaxExempt,command.BudgetLawExceptions,command.PaymentType,command.CurrencyType,command.ExchangeRate,command.WorkshopId,
|
|
command.WorkshopName,command.EmployeeId,command.EmployeeName,command.Country);
|
|
_taxLeftWorkCategoryRepository.Create(createTaxLeftWorkCategory);
|
|
_taxLeftWorkCategoryRepository.SaveChanges();
|
|
//ثبت آیتم های تاریخ
|
|
foreach (var item in command.TaxLeftWorkItemViewModels)
|
|
{
|
|
var createItems = new CreateTaxLeftWorkItem()
|
|
{
|
|
TaxLeftWorkCategoryId = createTaxLeftWorkCategory.id,
|
|
StartWorkFa = item.StartWorkFa,
|
|
LeftWorkFa = item.LeftWorkFa,
|
|
|
|
};
|
|
|
|
_taxLeftWorkItemApplication.Create(createItems);
|
|
}
|
|
|
|
return op.Succcedded();
|
|
}
|
|
|
|
public OperationResult Edit(EditTaxLeftWorkCategory command)
|
|
{
|
|
throw new System.NotImplementedException();
|
|
}
|
|
|
|
public EditTaxLeftWorkCategory GetDetails(long id)
|
|
{
|
|
return _taxLeftWorkCategoryRepository.GetDetails(id);
|
|
}
|
|
|
|
public List<TaxLeftWorkCategoryViewModel> Search(TaxLeftWorkCategorySearchModel searchModel)
|
|
{
|
|
return _taxLeftWorkCategoryRepository.Search(searchModel);
|
|
}
|
|
|
|
public OperationResult TaxLeftWorkItemsCheckError(List<TaxLeftWorkItemViewModel> taxLeftWorkItemList)
|
|
{
|
|
return _taxLeftWorkCategoryRepository.TaxLeftWorkItemsCheckError(taxLeftWorkItemList);
|
|
}
|
|
} |