139 lines
5.6 KiB
C#
139 lines
5.6 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using _0_Framework.Application;
|
||
using Company.Domain.InsuranceJobItemAgg;
|
||
using Company.Domain.InsurancJobAgg;
|
||
using CompanyManagment.App.Contracts.InsuranceJob;
|
||
|
||
namespace CompanyManagment.Application;
|
||
|
||
public class InsuranceJobApplication: IInsuranceJobApplication
|
||
{
|
||
|
||
private readonly IInsuranceJobRepositpry _insuranceJobRepositpry;
|
||
private readonly IInsuranceJobItemRepositpry _insuranceJobItemRepositpry;
|
||
|
||
public InsuranceJobApplication(IInsuranceJobRepositpry insuranceJobRepositpry, IInsuranceJobItemRepositpry insuranceJobItemRepositpry)
|
||
{
|
||
_insuranceJobRepositpry = insuranceJobRepositpry;
|
||
_insuranceJobItemRepositpry = insuranceJobItemRepositpry;
|
||
}
|
||
|
||
public OperationResult Create(CreateInsuranceJob command)
|
||
{
|
||
var opration = new OperationResult();
|
||
|
||
if (string.IsNullOrWhiteSpace(command.EconomicCode))
|
||
return opration.Failed("کد اقتصادی نمی تواند خالی باشد");
|
||
|
||
if (string.IsNullOrWhiteSpace(command.InsuranceJobTitle))
|
||
return opration.Failed("عنوان صنف و درجه نمی تواند خالی باشد");
|
||
|
||
if (_insuranceJobRepositpry.Exists(x => x.InsuranceJobTitle == command.InsuranceJobTitle))
|
||
return opration.Failed("عنوان صنف و درجه تکراری است");
|
||
|
||
//if (_insuranceJobRepositpry.Exists(x => x.EconomicCode == command.EconomicCode))
|
||
// return opration.Failed("کد اقتصادی تکراری است");
|
||
|
||
try
|
||
{
|
||
|
||
if (command.InsuranceJobItems== null)
|
||
return opration.Failed("لطفا تمامی فیلد ها را تکمیل کنید.");
|
||
|
||
foreach (var item in command.InsuranceJobItems)
|
||
{
|
||
// ----- شرط قبل از تغییرات ----
|
||
//if (string.IsNullOrWhiteSpace(item.SalaeyLessThanString) ||
|
||
// string.IsNullOrWhiteSpace(item.SalaryMoreThanString) ||
|
||
// item.PercentageLessThan > 0 && item.PercentageMoreThan > 0 ||
|
||
// (item.JobIds == null || item.JobIds.Count == 0))
|
||
if (item.PercentageLessThan == 0 || item.PercentageMoreThan == 0 || item.JobIds == null || (item.JobIds != null && item.JobIds.Count == 0))
|
||
{
|
||
return opration.Failed("لطفا تمامی فیلد ها را تکمیل کنید");
|
||
break;
|
||
}
|
||
}
|
||
opration = _insuranceJobRepositpry.CreateInsuranceJob(command);
|
||
|
||
//var insuranceJobObj = new InsuranceJob(command.InsuranceJobTitle, command.YearlySalaryId, command.EconomicCode, command.Year);
|
||
//_insuranceJobRepositpry.Create(insuranceJobObj);
|
||
//_insuranceJobRepositpry.SaveChanges();
|
||
//foreach (var item in command.InsuranceJobItems)
|
||
//{
|
||
// item.SalaryMoreThan = item.SalaryMoreThanString.MoneyToDouble();
|
||
// item.SalaeyLessThan = item.SalaeyLessThanString.MoneyToDouble();
|
||
// item.InsuranceJobId = insuranceJobObj.id;
|
||
// _insuranceJobItemRepositpry.CreateInsuranceJobItem(item);
|
||
// _insuranceJobItemRepositpry.SaveChanges();
|
||
//}
|
||
return opration;
|
||
}
|
||
catch (Exception er)
|
||
{
|
||
return opration.Failed("ثبت با خطا مواجه شد.");
|
||
}
|
||
|
||
}
|
||
|
||
public OperationResult Edit(EditInsuranceJob command)
|
||
{
|
||
var opration = new OperationResult();
|
||
|
||
if (string.IsNullOrWhiteSpace(command.EconomicCode))
|
||
return opration.Failed("کد اقتصادی نمی تواند خالی باشد");
|
||
|
||
if (string.IsNullOrWhiteSpace(command.InsuranceJobTitle))
|
||
return opration.Failed("عنوان صنف و درجه نمی تواند خالی باشد");
|
||
|
||
if (_insuranceJobRepositpry.Exists(x => x.InsuranceJobTitle == command.InsuranceJobTitle && x.id!=command.Id))
|
||
return opration.Failed("عنوان صنف و درجه تکراری است");
|
||
|
||
//if (_insuranceJobRepositpry.Exists(x => x.EconomicCode == command.EconomicCode && x.id != command.Id))
|
||
// return opration.Failed("کد اقتصادی تکراری است");
|
||
|
||
try
|
||
{
|
||
|
||
if (command.InsuranceJobItems == null)
|
||
return opration.Failed("لطفا تمامی فیلد ها را تکمیل کنید.");
|
||
|
||
foreach (var item in command.InsuranceJobItems)
|
||
{
|
||
|
||
if (item.PercentageLessThan == 0 || item.PercentageMoreThan == 0 || item.JobIds == null || (item.JobIds != null && item.JobIds.Count == 0))
|
||
{
|
||
return opration.Failed("لطفا تمامی فیلد ها را تکمیل کنید");
|
||
break;
|
||
}
|
||
}
|
||
opration = _insuranceJobRepositpry.EditInsuranceJob(command);
|
||
|
||
return opration;
|
||
}
|
||
catch (Exception er)
|
||
{
|
||
return opration.Failed("ویرایش با خطا مواجه شد.");
|
||
}
|
||
}
|
||
public EditInsuranceJob GetDetails(long id)
|
||
{
|
||
return _insuranceJobRepositpry.GetDetails(id);
|
||
}
|
||
|
||
public List<InsuranceJobViewModel> GetInsurancJob()
|
||
{
|
||
return _insuranceJobRepositpry.GetInsurancJob();
|
||
}
|
||
|
||
|
||
public List<InsuranceJobViewModel> Search(InsuranceJobSearchModel searchModel)
|
||
{
|
||
return _insuranceJobRepositpry.Search(searchModel);
|
||
}
|
||
|
||
public OperationResult Remove(long id)
|
||
{
|
||
return _insuranceJobRepositpry.Remove(id);
|
||
}
|
||
} |