Files
Backend-Api/CompanyManagment.App.Contracts/TemporaryClientRegistration/ITemporaryClientRegistrationApplication.cs
2025-04-15 23:51:13 +03:30

95 lines
3.4 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using _0_Framework.Application;
using CompanyManagment.App.Contracts.InstitutionPlan;
namespace CompanyManagment.App.Contracts.TemporaryClientRegistration;
public interface ITemporaryClientRegistrationApplication
{
/// <summary>
/// احراز هویت
/// </summary>
/// <param name="nationalCode"></param>
/// <param name="dateOfBirth"></param>
/// <param name="mobile"></param>
/// <returns></returns>
Task<OperationResult<ContractingPartyTempViewModel>> CreateContractingPartyTemp(string nationalCode, string dateOfBirth, string mobile);
/// <summary>
/// تکمیل اطلاعات
/// </summary>
/// <param name="id"></param>
/// <param name="state"></param>
/// <param name="city"></param>
/// <param name="address"></param>
/// <returns></returns>
Task<OperationResult> UpdateAddress(long id, string state, string city, string address);
/// <summary>
/// دریافت کارگاه های ذخیره شده
/// </summary>
/// <param name="contractingPartyTempId"></param>
/// <returns></returns>
Task<List<WorkshopTempViewModel>> GetWorkshopTemp(long contractingPartyTempId);
/// <summary>
/// ایجاد یا ویرایش کارگاه و سرویس های آن
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> CreateOrUpdateWorkshopTemp(List<WorkshopTempViewModel> command);
/// <summary>
/// دریافت جمع کل خدمات برای یک کارگاه
/// </summary>
/// <param name="workshop"></param>
/// <returns></returns>
InstitutionPlanViewModel GetInstitutionPlanForWorkshop(WorkshopTempViewModel workshop);
/// <summary>
/// دریافت مبالغ بررسی و پرداخت
/// </summary>
/// <param name="contractingPartyTempId"></param>
/// <param name="periodModel"></param>
/// <param name="paymentModel"></param>
/// <returns></returns>
Task<ReviewAndPaymentViewModel> GetTotalPaymentAndWorkshopList(long contractingPartyTempId,
string periodModel = "12", string paymentModel = "OneTime");
/// <summary>
/// ایجاد یا ویرایش قرارداد موقت
/// </summary>
/// <param name="contractingPartyTempId"></param>
/// <returns></returns>
Task<OperationResult> CreateOrUpdateInstitutionContractTemp(long contractingPartyTempId, string periodModel, string paymentModel, double totalPayment, double valueAddedTax);
/// <summary>
/// دریافت کد برای کلاینت
/// از طرف سرور
/// </summary>
/// <param name="contractingPartyTempId"></param>
/// <returns></returns>
Task<OperationResult> ReceivedCodeFromServer(long contractingPartyTempId);
/// <summary>
/// ورود کد از طرف کلاینت
/// برا چک کردن
/// </summary>
/// <param name="contractingPartyTempId"></param>
/// <param name="verifyCode"></param>
/// <returns></returns>
Task<OperationResult> CheckVerifyCodeIsTrue(long contractingPartyTempId, string verifyCode);
/// <summary>
/// تکمیل پرداخت
/// </summary>
/// <param name="contractingPartyTempId"></param>
/// <param name="verifyCode"></param>
/// <returns></returns>
Task<OperationResult> PayOffCompleted(long contractingPartyTempId);
}