Files
Backend-Api/ServiceHost/Areas/Admin/Controllers/FinancialStatementController.cs
2025-08-11 15:13:31 +03:30

123 lines
3.8 KiB
C#

using _0_Framework.Application;
using CompanyManagment.App.Contracts.FinancialStatment;
using CompanyManagment.App.Contracts.FinancilTransaction;
using Microsoft.AspNetCore.Mvc;
using PersianTools.Core;
using ServiceHost.BaseControllers;
namespace ServiceHost.Areas.Admin.Controllers;
public class FinancialStatementController : AdminBaseController
{
private readonly IFinancialStatmentApplication _financialStatementApplication;
private readonly IFinancialTransactionApplication _financialTransactionApplication;
public FinancialStatementController(IFinancialStatmentApplication financialStatementApplication,
IFinancialTransactionApplication financialTransactionApplication)
{
_financialStatementApplication = financialStatementApplication;
_financialTransactionApplication = financialTransactionApplication;
}
/// <summary>
/// گرفتن جزئیات وضعیت مالی با آیدی طرف حساب
/// </summary>
/// <param name="id"></param>
/// <param name="searchModel"></param>
/// <returns></returns>
[HttpGet("contracting-party/{id}")]
public async Task<ActionResult<FinancialStatmentDetailsByContractingPartyViewModel>> GetDetailsByContractingParty(
long id, FinancialStatementSearchModel searchModel)
{
var data = await _financialStatementApplication.GetDetailsByContractingParty(id, searchModel);
return data;
}
/// <summary>
/// گرفتن جزییات ویرایش
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("edit/{id}")]
public ActionResult<EditFinancialTransaction> GetEditDetails(long id)
{
var res = _financialTransactionApplication.GetDetails(id);
return res;
}
/// <summary>
/// حذف بلاک
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost("removeBlocked/{id}")]
public ActionResult<OperationResult> RemoveBlocked(long id)
{
var res = _financialTransactionApplication.RemoveBlocked(id);
return res;
}
/// <summary>
/// ایجاد
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
[HttpPost]
public ActionResult<OperationResult> Create([FromBody] CreateFinancialStatment command)
{
var res = _financialStatementApplication.Create(command);
return res;
}
/// <summary>
/// ویرایش
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPut]
public ActionResult<OperationResult> Edit([FromBody] EditFinancialTransactionRequest request)
{
var command = new EditFinancialTransaction
{
Id = request.Id,
TdateFa = request.TDateFa,
TypeOfTransaction = request.TypeOfTransaction,
DescriptionOption = request.DescriptionOption,
Description = request.Description,
DeptorString = request.DeptorString,
CreditorString = request.CreditorString
};
var result = _financialTransactionApplication.Edit(command);
return result;
}
/// <summary>
/// حذف
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id}")]
public IActionResult RemoveTransaction(long id)
{
var res = _financialTransactionApplication.RemoveFinancialTransaction(id);
if (res.IsSuccedded)
return new JsonResult(new
{
success = true
});
return new JsonResult(new
{
success = false
});
}
}
public record EditFinancialTransactionRequest(
long Id,
string TDateFa,
string TypeOfTransaction,
string DescriptionOption,
string Description,
string DeptorString,
string CreditorString);