341 lines
10 KiB
C#
341 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using _0_Framework.Application;
|
|
using _0_Framework.Application.Enums;
|
|
using CompanyManagment.App.Contracts.InstitutionContract;
|
|
using CompanyManagment.App.Contracts.InstitutionContractContactinfo;
|
|
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
|
|
namespace Company.Domain.InstitutionContractCreationTempAgg;
|
|
|
|
public class InstitutionContractCreationTemp
|
|
{
|
|
public InstitutionContractCreationTemp()
|
|
{
|
|
Id = Guid.NewGuid();
|
|
}
|
|
|
|
[BsonId] // Specifies this field as the _id in MongoDB
|
|
[BsonRepresentation(BsonType.String)] // Ensures the GUID is stored as a string
|
|
public Guid Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// نوع حقوقی طرف قرارداد (حقیقی یا حقوقی)
|
|
/// </summary>
|
|
public LegalType ContractingPartyLegalType { get; set; }
|
|
|
|
/// <summary>
|
|
/// اطلاعات شخص حقیقی
|
|
/// </summary>
|
|
public InstitutionContractCreationTempRealParty RealParty { get; set; }
|
|
|
|
/// <summary>
|
|
/// اطلاعات شخص حقوقی
|
|
/// </summary>
|
|
public InstitutionContractCreationTempLegalParty LegalParty { get; set; }
|
|
|
|
public string Address { get; set; }
|
|
public string City { get; set; }
|
|
public string Province { get; set; }
|
|
public List<EditContactInfo> ContactInfos { get; set; }
|
|
public long RepresentativeId { get; set; }
|
|
|
|
|
|
public List<InstitutionContractCreationTempWorkshop> Workshops { get; set; }
|
|
|
|
public InstitutionContractCreationPlanDetail OneMonth { get; set; }
|
|
public InstitutionContractCreationPlanDetail ThreeMonths { get; set; }
|
|
public InstitutionContractCreationPlanDetail SixMonths { get; set; }
|
|
public InstitutionContractCreationPlanDetail TwelveMonths { get; set; }
|
|
public InstitutionContractPaymentMonthlyViewModel MonthlyPayment { get; set; }
|
|
public InstitutionContractPaymentOneTimeViewModel OneTimePayment { get; set; }
|
|
|
|
public bool HasContractInPerson { get; set; }
|
|
|
|
public InstitutionContractDuration? Duration { get; set; }
|
|
|
|
public void SetContractingPartyInfo(LegalType legalType,
|
|
InstitutionContractCreationTempRealParty realParty,
|
|
InstitutionContractCreationTempLegalParty legalParty)
|
|
{
|
|
ContractingPartyLegalType = legalType;
|
|
RealParty = realParty;
|
|
LegalParty = legalParty;
|
|
}
|
|
|
|
public void SetWorkshopsAndPlanAmounts(List<InstitutionContractCreationTempWorkshop> workshops,
|
|
InstitutionContractCreationPlanDetail oneMonth,
|
|
InstitutionContractCreationPlanDetail threeMonth, InstitutionContractCreationPlanDetail sixMonth,
|
|
InstitutionContractCreationPlanDetail twelveMonth, bool hasContractInPerson)
|
|
{
|
|
Workshops = workshops;
|
|
OneMonth = oneMonth;
|
|
ThreeMonths = threeMonth;
|
|
SixMonths = sixMonth;
|
|
TwelveMonths = twelveMonth;
|
|
HasContractInPerson = hasContractInPerson;
|
|
}
|
|
|
|
public void SetAmountAndDuration(InstitutionContractDuration duration,InstitutionContractPaymentMonthlyViewModel monthly,
|
|
InstitutionContractPaymentOneTimeViewModel oneTime)
|
|
{
|
|
Duration = duration;
|
|
MonthlyPayment = monthly;
|
|
OneTimePayment = oneTime;
|
|
}
|
|
|
|
|
|
public void SetContractingPartyContactInfo(string address, string city, string province, List<EditContactInfo> requestContactInfos,long representativeId)
|
|
{
|
|
Address = address;
|
|
City = city;
|
|
Province = province;
|
|
ContactInfos = requestContactInfos;
|
|
RepresentativeId = representativeId;
|
|
}
|
|
|
|
}
|
|
|
|
public class InstitutionContractCreationTempLegalParty
|
|
{
|
|
/// <summary>
|
|
/// آیدی طرف حساب در صورتی که از قبل ایجاد شده باشد
|
|
/// </summary>
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام شرکت
|
|
/// </summary>
|
|
public string CompanyName { get; set; }
|
|
|
|
/// <summary>
|
|
/// شماره ثبت
|
|
/// </summary>
|
|
public string RegisterId { get; set; }
|
|
|
|
/// <summary>
|
|
/// شناسه ملی شرکت
|
|
/// </summary>
|
|
public string NationalId { get; set; }
|
|
|
|
/// <summary>
|
|
/// شماره تلفن شرکت
|
|
/// </summary>
|
|
public string PhoneNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// شناسه موقت طرف قرارداد
|
|
/// </summary>
|
|
public long ContractingPartyTempId { get; set; }
|
|
|
|
/// <summary>
|
|
/// کد ملی نماینده قانونی
|
|
/// </summary>
|
|
public string NationalCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// تاریخ تولد نماینده قانونی فارسی
|
|
/// </summary>
|
|
public string BirthDateFa { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام نماینده قانونی
|
|
/// </summary>
|
|
public string FName { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام خانوادگی نماینده قانونی
|
|
/// </summary>
|
|
public string LName { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام پدر نماینده قانونی
|
|
/// </summary>
|
|
public string FatherName { get; set; }
|
|
|
|
/// <summary>
|
|
/// شماره شناسنامه نماینده قانونی
|
|
/// </summary>
|
|
public string IdNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// وضعیت احراز هویت نماینده قانونی
|
|
/// </summary>
|
|
public bool IsAuth { get; set; }
|
|
|
|
/// <summary>
|
|
/// سمت نماینده قانونی در شرکت
|
|
/// </summary>
|
|
public string Position { get; set; }
|
|
|
|
/// <summary>
|
|
/// جنسیت نماینده قانونی
|
|
/// </summary>
|
|
public Gender Gender { get; set; }
|
|
|
|
public string IdNumberSeri { get; set; }
|
|
|
|
public string IdNumberSerial { get; set; }
|
|
}
|
|
|
|
public class InstitutionContractCreationTempRealParty
|
|
{
|
|
/// <summary>
|
|
/// آیدی طرف حساب در صورتی که از قبل ایجاد شده باشد
|
|
/// </summary>
|
|
public long Id { get; set; }
|
|
/// <summary>
|
|
/// کد ملی
|
|
/// </summary>
|
|
public string NationalCode { get; set; }
|
|
|
|
/// <summary>
|
|
/// تاریخ تولد فارسی
|
|
/// </summary>
|
|
public string BirthDateFa { get; set; }
|
|
|
|
/// <summary>
|
|
/// شماره تلفن
|
|
/// </summary>
|
|
public string PhoneNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// وضعیت احراز هویت
|
|
/// </summary>
|
|
public bool IsAuth { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام
|
|
/// </summary>
|
|
public string FName { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام خانوادگی
|
|
/// </summary>
|
|
public string LName { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام پدر
|
|
/// </summary>
|
|
public string FatherName { get; set; }
|
|
|
|
/// <summary>
|
|
/// شماره شناسنامه
|
|
/// </summary>
|
|
public string IdNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// شناسه موقت طرف قرارداد
|
|
/// </summary>
|
|
public long ContractingPartyTempId { get; set; }
|
|
|
|
/// <summary>
|
|
/// جنسیت
|
|
/// </summary>
|
|
public Gender Gender { get; set; }
|
|
|
|
public string IdNumberSeri { get; set; }
|
|
|
|
public string IdNumberSerial { get; set; }
|
|
}
|
|
|
|
public class InstitutionContractCreationTempPlan
|
|
{
|
|
public InstitutionContractCreationTempPlan(string contractStart, string contractEnd,
|
|
string oneMonthPaymentDiscounted, string oneMonthDiscount, string oneMonthOriginalPayment,
|
|
string totalPayment, string dailyCompensation, string obligation)
|
|
{
|
|
ContractStart = contractStart;
|
|
ContractEnd = contractEnd;
|
|
OneMonthPaymentDiscounted = oneMonthPaymentDiscounted;
|
|
OneMonthDiscount = oneMonthDiscount;
|
|
OneMonthOriginalPayment = oneMonthOriginalPayment;
|
|
TotalPayment = totalPayment;
|
|
DailyCompensation = dailyCompensation;
|
|
Obligation = obligation;
|
|
}
|
|
|
|
public string ContractStart { get; set; }
|
|
public string ContractEnd { get; set; }
|
|
public string OneMonthPaymentDiscounted { get; set; }
|
|
public string OneMonthDiscount { get; set; }
|
|
public string OneMonthOriginalPayment { get; set; }
|
|
public string TotalPayment { get; set; }
|
|
public string DailyCompensation { get; set; }
|
|
public string Obligation { get; set; }
|
|
}
|
|
|
|
public class InstitutionContractCreationTempWorkshop
|
|
{
|
|
public InstitutionContractCreationTempWorkshop(string workshopName, int countPerson, bool contractAndCheckout, bool contractAndCheckoutInPerson,
|
|
bool insurance, bool insuranceInPerson,
|
|
bool rollCall,bool rollCallInPerson, bool customizeCheckout,double price,long workshopId)
|
|
{
|
|
WorkshopName = workshopName;
|
|
CountPerson = countPerson;
|
|
ContractAndCheckout = contractAndCheckout;
|
|
Insurance = insurance;
|
|
RollCall = rollCall;
|
|
CustomizeCheckout = customizeCheckout;
|
|
ContractAndCheckoutInPerson = contractAndCheckoutInPerson;
|
|
InsuranceInPerson = insuranceInPerson;
|
|
RollCallInPerson = rollCallInPerson;
|
|
Price = price;
|
|
WorkshopId = workshopId;
|
|
}
|
|
|
|
public long WorkshopId { get; set; }
|
|
|
|
/// <summary>
|
|
/// نام کارگاه
|
|
/// </summary>
|
|
public string WorkshopName { get; private set; }
|
|
|
|
/// <summary>
|
|
/// تعداد پرسنل
|
|
/// </summary>
|
|
public int CountPerson { get; private set; }
|
|
|
|
|
|
#region ServiceSelection
|
|
|
|
/// <summary>
|
|
/// قرارداد و تصفیه
|
|
/// </summary>
|
|
public bool ContractAndCheckout { get; private set; }
|
|
|
|
/// <summary>
|
|
/// بیمه
|
|
/// </summary>
|
|
public bool Insurance { get; private set; }
|
|
|
|
/// <summary>
|
|
/// حضورغباب
|
|
/// </summary>
|
|
public bool RollCall { get; private set; }
|
|
|
|
public bool RollCallInPerson { get; set; }
|
|
|
|
/// <summary>
|
|
/// فیش غیر رسمی
|
|
/// </summary>
|
|
public bool CustomizeCheckout { get;private set; }
|
|
|
|
/// <summary>
|
|
/// خدمات حضوری قرداد و تصفیه
|
|
/// </summary>
|
|
public bool ContractAndCheckoutInPerson { get; private set; }
|
|
|
|
/// <summary>
|
|
/// خدمات حضوری بیمه
|
|
/// </summary>
|
|
public bool InsuranceInPerson { get; private set; }
|
|
|
|
public double Price{ get; set; }
|
|
|
|
#endregion
|
|
}
|
|
|
|
|