Files
Backend-Api/CompanyManagment.Application/BoardApplication.cs
2025-04-15 16:56:18 +03:30

76 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using _0_Framework.Application;
using Company.Domain.Board;
using CompanyManagment.App.Contracts.Board;
namespace CompanyManagment.Application;
public class BoardApplication : IBoardApplication
{
private readonly IBoardRepository _boardRepository;
public BoardApplication(IBoardRepository boardRepository)
{
_boardRepository = boardRepository;
}
public OperationResult Create(CreateBoard command)
{
var operation = new OperationResult();
var disputeResolutionPetitionDate = new DateTime();
if (!command.DisputeResolutionPetitionDate.TryToGeorgianDateTime(out disputeResolutionPetitionDate))
{
disputeResolutionPetitionDate = new DateTime();
}
var board = new Board(disputeResolutionPetitionDate, command.Branch, command.BoardChairman,
command.ExpertReport,command.File_Id, command.BoardType_Id);
_boardRepository.Create(board);
_boardRepository.SaveChanges();
return operation.Succcedded(board.id);
}
public OperationResult Edit(EditBoard command)
{
var operation = new OperationResult();
var board = _boardRepository.Get(command.Id);
var disputeResolutionPetitionDate = new DateTime();
if (!command.DisputeResolutionPetitionDate.TryToGeorgianDateTime(out disputeResolutionPetitionDate))
{
disputeResolutionPetitionDate = new DateTime();
}
//TODO
//if(_BoardRepository.Exists(x=>x.Branch == command.Branch))
// operation.Failed("fail message")
board.Edit(disputeResolutionPetitionDate, command.Branch, command.BoardChairman,
command.ExpertReport,command.File_Id,command.BoardType_Id);
_boardRepository.SaveChanges();
return operation.Succcedded(board.id);
}
public EditBoard GetDetails(long id)
{
return _boardRepository.GetDetails(id);
}
public EditBoard GetDetails(long fileId, int boardTypeId)
{
return _boardRepository.GetDetails(fileId, boardTypeId);
}
public List<EditBoard> Search(BoardSearchModel searchModel)
{
return _boardRepository.Search(searchModel);
}
}