Files
Backend-Api/CompanyManagment.Application/InsuranceJobApplication.cs
2024-07-05 21:36:15 +03:30

139 lines
5.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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);
}
}