167 lines
6.0 KiB
C#
167 lines
6.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using CompanyManagment.App.Contracts.InstitutionContract;
|
|
using MongoDB.Bson;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
|
|
namespace Company.Domain.InstitutionContractAmendmentTempAgg;
|
|
|
|
public class InstitutionContractAmendmentTemp
|
|
{
|
|
public InstitutionContractAmendmentTemp(List<InstitutionContractAmendmentTempPrevWorkshop> prevWorkshops,
|
|
long institutionContractId)
|
|
{
|
|
Id = Guid.NewGuid();
|
|
PrevWorkshops = prevWorkshops;
|
|
NewWorkshops = prevWorkshops.Select(x=> new InstitutionContractAmendmentTempNewWorkshop(
|
|
x.WorkshopName, x.CountPerson, x.ContractAndCheckout, x.ContractAndCheckoutInPerson, x.Insurance,
|
|
x.InsuranceInPerson, x.RollCall, x.RollCallInPerson, x.CustomizeCheckout, x.Price, x.WorkshopId,
|
|
x.CurrentWorkshopId, 0,x.Id)).ToList();
|
|
InstitutionContractId = institutionContractId;
|
|
}
|
|
|
|
[BsonId]
|
|
[BsonRepresentation(BsonType.String)]
|
|
public Guid Id { get; private set; }
|
|
public List<InstitutionContractAmendmentTempPrevWorkshop> PrevWorkshops { get; private set; }
|
|
public List<InstitutionContractAmendmentTempNewWorkshop> NewWorkshops { get; private set; }
|
|
|
|
public InstitutionContractPaymentMonthlyViewModel MonthlyPayment { get; set; }
|
|
|
|
public InstitutionContractPaymentOneTimeViewModel OneTimePayment { get; set; }
|
|
|
|
public long InstitutionContractId { get; private set; }
|
|
|
|
public int MonthDifference { get; set; }
|
|
public void AddPaymentDetails(InstitutionContractPaymentMonthlyViewModel resMonthly, InstitutionContractPaymentOneTimeViewModel resOneTime, int monthDiff)
|
|
{
|
|
MonthlyPayment = resMonthly;
|
|
OneTimePayment = resOneTime;
|
|
MonthDifference = monthDiff;
|
|
}
|
|
|
|
}
|
|
|
|
public class InstitutionContractAmendmentTempNewWorkshop : InstitutionContractAmendmentTempPrevWorkshop
|
|
{
|
|
public InstitutionContractAmendmentTempNewWorkshop(string workshopName, int countPerson, bool contractAndCheckout,
|
|
bool contractAndCheckoutInPerson, bool insurance, bool insuranceInPerson, bool rollCall, bool rollCallInPerson,
|
|
bool customizeCheckout, double price, long workshopId, long currentWorkshopId,double priceDifference,Guid prevId) : base(
|
|
workshopName, countPerson, contractAndCheckout, contractAndCheckoutInPerson, insurance, insuranceInPerson,
|
|
rollCall, rollCallInPerson, customizeCheckout, price, workshopId, currentWorkshopId)
|
|
{
|
|
Id = prevId;
|
|
PriceDifference = priceDifference;
|
|
}
|
|
|
|
/// <summary>
|
|
/// مبلغ اختلاف کارگاه جدید با کارگاه قبلی(مبلغ اصلی ارتقاء)
|
|
/// </summary>
|
|
public double PriceDifference { get; private set; }
|
|
|
|
|
|
public void Edit(string workshopName, int countPerson, bool contractAndCheckout,
|
|
bool contractAndCheckoutInPerson,
|
|
bool insurance, bool insuranceInPerson, bool rollCall, bool customizeCheckout,
|
|
double price,double priceDifference)
|
|
{
|
|
base.Edit(workshopName, countPerson, contractAndCheckout, contractAndCheckoutInPerson, insurance,
|
|
insuranceInPerson, rollCall, customizeCheckout, price);
|
|
PriceDifference = priceDifference;
|
|
}
|
|
}
|
|
|
|
public class InstitutionContractAmendmentTempPrevWorkshop
|
|
{
|
|
public InstitutionContractAmendmentTempPrevWorkshop(string workshopName, int countPerson, bool contractAndCheckout,
|
|
bool contractAndCheckoutInPerson,
|
|
bool insurance, bool insuranceInPerson,
|
|
bool rollCall, bool rollCallInPerson, bool customizeCheckout, double price, long workshopId,
|
|
long currentWorkshopId)
|
|
{
|
|
Id = Guid.NewGuid();
|
|
WorkshopName = workshopName;
|
|
CountPerson = countPerson;
|
|
ContractAndCheckout = contractAndCheckout;
|
|
Insurance = insurance;
|
|
RollCall = rollCall;
|
|
CustomizeCheckout = customizeCheckout;
|
|
ContractAndCheckoutInPerson = contractAndCheckoutInPerson;
|
|
InsuranceInPerson = insuranceInPerson;
|
|
RollCallInPerson = rollCallInPerson;
|
|
Price = price;
|
|
WorkshopId = workshopId;
|
|
CurrentWorkshopId = currentWorkshopId;
|
|
}
|
|
|
|
[BsonRepresentation(BsonType.String)]
|
|
public Guid Id { get; set; }
|
|
|
|
public long CurrentWorkshopId { get; private set; }
|
|
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; private set; }
|
|
|
|
#endregion
|
|
|
|
public void Edit(string workshopName, int countPerson, bool contractAndCheckout, bool contractAndCheckoutInPerson,
|
|
bool insurance, bool insuranceInPerson, bool rollCall, bool customizeCheckout,
|
|
double price)
|
|
{
|
|
WorkshopName = workshopName;
|
|
CountPerson = countPerson;
|
|
ContractAndCheckout = contractAndCheckout;
|
|
Insurance = insurance;
|
|
RollCall = rollCall;
|
|
CustomizeCheckout = customizeCheckout;
|
|
ContractAndCheckoutInPerson = contractAndCheckoutInPerson;
|
|
InsuranceInPerson = insuranceInPerson;
|
|
Price = price;
|
|
}
|
|
} |