Files
Backend-Api/CompanyManagment.Application/MasterPetitionApplication.cs
2025-04-15 15:06:17 +03:30

85 lines
2.9 KiB
C#

using System.Collections.Generic;
using _0_Framework.Application;
using Company.Domain.MasterPetition;
using CompanyManagment.App.Contracts.MasterPetition;
namespace CompanyManagment.Application;
public class MasterPetitionApplication : IMasterPetitionApplication
{
private readonly IMasterPetitionRepository _masterPetitionRepository;
public MasterPetitionApplication(IMasterPetitionRepository MasterPetitionRepository)
{
_masterPetitionRepository = MasterPetitionRepository;
}
public OperationResult Create(CreateMasterPetition command)
{
var operation = new OperationResult();
//var petitionIssuanceDate = new DateTime();
//var notificationPetitionDate = new DateTime();
//petitionIssuanceDate = command.PetitionIssuanceDate.ToGeorgianDateTime();
//notificationPetitionDate = command.NotificationPetitionDate.ToGeorgianDateTime();
//TODO if
//if(_BoardRepository.Exists(x=>x.Branch == command.Branch))
// operation.Failed("fail message")
var masterPetition = new MasterPetition(command.MasterName,
command.Description, command.WorkHistoryDescription, command.BoardType_Id, command.File_Id);
_masterPetitionRepository.Create(masterPetition);
_masterPetitionRepository.SaveChanges();
return operation.Succcedded(masterPetition.id);
}
public OperationResult Edit(EditMasterPetition command)
{
var operation = new OperationResult();
var MasterPetition = _masterPetitionRepository.Get(command.Id);
//var petitionIssuanceDate = new DateTime();
//var notificationPetitionDate = new DateTime();
//petitionIssuanceDate = command.PetitionIssuanceDate.ToGeorgianDateTime();
//notificationPetitionDate = command.NotificationPetitionDate.ToGeorgianDateTime();
//TODO
//if(_BoardRepository.Exists(x=>x.Branch == command.Branch))
// operation.Failed("fail message")
MasterPetition.Edit(command.MasterName,
command.Description, command.WorkHistoryDescription, command.BoardType_Id, command.File_Id);
_masterPetitionRepository.SaveChanges();
return operation.Succcedded(MasterPetition.id);
}
public EditMasterPetition GetDetails(long id)
{
return _masterPetitionRepository.GetDetails(id);
}
public EditMasterPetition GetDetails(long fileId, int boardTypeId)
{
return _masterPetitionRepository.GetDetails(fileId, boardTypeId);
}
public OperationResult Remove(long id)
{
var operation = new OperationResult();
_masterPetitionRepository.Remove(id);
_masterPetitionRepository.SaveChanges();
return operation.Succcedded(-1, "اطلاعات کارشناسی با موفقیت حذف شد");
}
public List<EditMasterPetition> Search(MasterPetitionSearchModel searchModel)
{
return _masterPetitionRepository.Search(searchModel);
}
}