126 lines
4.8 KiB
C#
126 lines
4.8 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Threading.Tasks;
|
||
using _0_Framework.Application;
|
||
using _0_Framework.Application.Enums;
|
||
using CompanyManagment.App.Contracts.InstitutionContract;
|
||
using CompanyManagment.App.Contracts.InstitutionPlan;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
|
||
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, long contractingPartyTempId);
|
||
|
||
/// <summary>
|
||
/// دریافت جمع کل خدمات برای یک کارگاه
|
||
/// </summary>
|
||
/// <param name="workshop"></param>
|
||
/// <returns></returns>
|
||
InstitutionPlanViewModel GetInstitutionPlanForWorkshop(WorkshopTempViewModel workshop);
|
||
|
||
/// <summary>
|
||
/// دریافت مبالغ بررسی و پرداخت
|
||
/// </summary>
|
||
/// <param name="contractingPartyTempId"></param>
|
||
/// <param name="duration"></param>
|
||
/// <param name="paymentModel"></param>
|
||
/// <returns></returns>
|
||
Task<ReviewAndPaymentViewModel> GetTotalPaymentAndWorkshopList(long contractingPartyTempId,
|
||
InstitutionContractDuration duration = InstitutionContractDuration.TwelveMonths, string paymentModel = "OneTime", string contractStartType = "currentMonth");
|
||
|
||
/// <summary>
|
||
/// دریافت مبالغ بررسی و پرداخت با لیست کارگاه ها
|
||
/// این متد برای زمانی است که کارگاه ها در مرحله ثبت نام موقت هستند
|
||
/// و هنوز در دیتابیس ثبت نشده اند
|
||
/// </summary>
|
||
/// <param name="contractingPartyTempId"></param>
|
||
/// <param name="workshopList"></param>
|
||
/// <param name="duration"></param>
|
||
/// <param name="paymentModel"></param>
|
||
/// <param name="contractStartType"></param>
|
||
/// <returns></returns>
|
||
Task<ReviewAndPaymentViewModel> GetTotalPaymentAndWorkshopList(long contractingPartyTempId,
|
||
List<WorkshopTempViewModel> workshopList,
|
||
InstitutionContractDuration duration = InstitutionContractDuration.TwelveMonths, string contractStartType = "currentMonth");
|
||
|
||
/// <summary>
|
||
/// ایجاد یا ویرایش قرارداد موقت
|
||
/// </summary>
|
||
/// <param name="contractingPartyTempId"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> CreateOrUpdateInstitutionContractTemp(long contractingPartyTempId, string periodModel, string paymentModel, double totalPayment, double valueAddedTax, DateTime contractStart);
|
||
|
||
/// <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);
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// ارسال لینک تایید قوانین و مقررات به طرف حساب
|
||
/// </summary>
|
||
/// <param name="contractingPartyTempId"></param>
|
||
/// <returns></returns>
|
||
Task<OperationResult> SendAgreementLink(long contractingPartyTempId);
|
||
}
|
||
|