add unauthenticated edit support for contracting party phone and info in institution contracts
This commit is contained in:
@@ -251,6 +251,35 @@ public class PersonalContractingParty : EntityBase
|
||||
this.IsAuthenticated = true;
|
||||
Phone = phone;
|
||||
}
|
||||
|
||||
public void UnAuthenticateRealEdit(string fName, string lName, string fatherName,string idNumber,
|
||||
string idNumberSeri, string idNumberSerial, string dateOfBirth, Gender gender,string phone)
|
||||
{
|
||||
this.FName = fName;
|
||||
this.LName = lName;
|
||||
this.FatherName = fatherName;
|
||||
this.IdNumberSeri = idNumberSeri;
|
||||
this.IdNumberSerial = idNumberSerial;
|
||||
this.DateOfBirth = !string.IsNullOrWhiteSpace(dateOfBirth) ? dateOfBirth.ToGeorgianDateTime() : null;
|
||||
this.IdNumber = idNumber;
|
||||
this.Gender = gender;
|
||||
Phone = phone;
|
||||
}
|
||||
|
||||
public void UnAuthenticateLegalEdit(string fName, string lName, string fatherName, string idNumber,
|
||||
string idNumberSeri,
|
||||
string idNumberSerial, string dateOfBirth, Gender gender, string phone)
|
||||
{
|
||||
CeoFName = fName;
|
||||
CeoLName = lName;
|
||||
this.FatherName = fatherName;
|
||||
this.IdNumberSeri = idNumberSeri;
|
||||
this.IdNumberSerial = idNumberSerial;
|
||||
this.DateOfBirth = !string.IsNullOrWhiteSpace(dateOfBirth) ? dateOfBirth.ToGeorgianDateTime() : null;
|
||||
this.IdNumber = idNumber;
|
||||
this.Gender = gender;
|
||||
Phone = phone;
|
||||
}
|
||||
|
||||
public void RegisterComplete(string fatherName, string idNumberSeri, string idNumberSerial, DateTime dateOfBirth, Gender gender)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Application.Enums;
|
||||
using CompanyManagment.App.Contracts.InstitutionContractContactinfo;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.InstitutionContract;
|
||||
@@ -11,4 +12,15 @@ public class InstitutionContractExtensionWorkshopsRequest
|
||||
public string Province { get; set; }
|
||||
public string Address { get; set; }
|
||||
public List<EditContactInfo> ContactInfos { get; set; }
|
||||
/// <summary>
|
||||
/// اطلاعات شخص حقیقی
|
||||
/// </summary>
|
||||
public CreateInstitutionContractRealPartyRequest RealParty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اطلاعات شخص حقوقی
|
||||
/// </summary>
|
||||
public CreateInstitutionContractLegalPartyRequest LegalParty { get; set; }
|
||||
|
||||
public LegalType LegalType { get; set; }
|
||||
}
|
||||
@@ -974,6 +974,13 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
throw new BadRequestException("امکان ایجاد قرارداد تکراری وجود ندارد");
|
||||
}
|
||||
}
|
||||
|
||||
if (!command.LegalParty.IsAuth)
|
||||
{
|
||||
var legalCommand = command.LegalParty;
|
||||
existingContractingParty.UnAuthenticateLegalEdit(legalCommand.FName,legalCommand.LName,legalCommand.FatherName,legalCommand.IdNumber,existingContractingParty.IdNumberSeri,existingContractingParty.IdNumberSerial,
|
||||
legalCommand.BirthDateFa,legalCommand.Gender,legalCommand.PhoneNumber);
|
||||
}
|
||||
}
|
||||
else if (command.ContractingPartyLegalType == LegalType.Real)
|
||||
{
|
||||
@@ -990,8 +997,15 @@ public class InstitutionContractApplication : IInstitutionContractApplication
|
||||
throw new BadRequestException("امکان ایجاد قرارداد تکراری وجود ندارد");
|
||||
}
|
||||
}
|
||||
if (!command.RealParty.IsAuth)
|
||||
{
|
||||
var realCommand = command.RealParty;
|
||||
existingContractingParty.UnAuthenticateRealEdit(realCommand.FName,realCommand.LName,realCommand.FatherName,realCommand.IdNumber,existingContractingParty.IdNumberSeri,existingContractingParty.IdNumberSerial,
|
||||
realCommand.BirthDateFa,realCommand.Gender,realCommand.PhoneNumber);
|
||||
}
|
||||
}
|
||||
|
||||
await _institutionContractRepository.SaveChangesAsync();
|
||||
PersonalContractingParty contractingParty;
|
||||
if (existingContractingParty != null)
|
||||
{
|
||||
|
||||
@@ -42,6 +42,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata;
|
||||
using Microsoft.EntityFrameworkCore.Storage;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using MongoDB.Driver;
|
||||
using OfficeOpenXml.Packaging.Ionic.Zip;
|
||||
@@ -1961,13 +1962,51 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
|
||||
public async Task<InstitutionContractExtensionWorkshopsResponse> GetExtensionWorkshops(
|
||||
InstitutionContractExtensionWorkshopsRequest request)
|
||||
{
|
||||
var transaction = await _context.Database.BeginTransactionAsync();
|
||||
switch (request.LegalType)
|
||||
{
|
||||
case LegalType.Legal:
|
||||
if (!request.LegalParty.IsAuth)
|
||||
{
|
||||
var legalCommand = request.LegalParty;
|
||||
var personalContractingParty = _context.PersonalContractingParties
|
||||
.FirstOrDefault(x=>x.NationalId == legalCommand.NationalId);
|
||||
if (personalContractingParty is {IsAuthenticated:false})
|
||||
{
|
||||
personalContractingParty.UnAuthenticateLegalEdit(legalCommand.FName, legalCommand.LName,
|
||||
legalCommand.FatherName, legalCommand.IdNumber, personalContractingParty.IdNumberSeri,
|
||||
personalContractingParty.IdNumberSerial, legalCommand.BirthDateFa, legalCommand.Gender,
|
||||
legalCommand.PhoneNumber);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case LegalType.Real:
|
||||
if (!request.RealParty.IsAuth)
|
||||
{
|
||||
var realCommand = request.RealParty;
|
||||
var personalContractingParty = _context.PersonalContractingParties
|
||||
.FirstOrDefault(x => x.Nationalcode == realCommand.NationalCode);
|
||||
if (personalContractingParty is {IsAuthenticated:false})
|
||||
{
|
||||
personalContractingParty.UnAuthenticateRealEdit(realCommand.FName, realCommand.LName,
|
||||
realCommand.FatherName, realCommand.IdNumber, personalContractingParty.IdNumberSeri,
|
||||
personalContractingParty.IdNumberSerial, realCommand.BirthDateFa, realCommand.Gender,
|
||||
realCommand.PhoneNumber);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
await SaveChangesAsync();
|
||||
await transaction.CommitAsync();
|
||||
|
||||
var extenstionTemp = await _institutionExtensionTemp.Find(x => x.Id == request.TempId)
|
||||
.FirstOrDefaultAsync();
|
||||
if (extenstionTemp == null)
|
||||
{
|
||||
throw new BadRequestException("دیتای درخواست شده نامعتبر است");
|
||||
}
|
||||
|
||||
|
||||
var prevInstitutionContracts = await _context.InstitutionContractSet
|
||||
.Include(x => x.WorkshopGroup)
|
||||
.ThenInclude(institutionContractWorkshopGroup => institutionContractWorkshopGroup.CurrentWorkshops)
|
||||
@@ -2139,6 +2178,7 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
|
||||
{
|
||||
var institutionContractTemp = await _institutionExtensionTemp.Find(x => x.Id == request.TemporaryId)
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
if (institutionContractTemp == null)
|
||||
throw new BadRequestException("اطلاعات وارد شده نامعتبر است");
|
||||
var selectedDuration = institutionContractTemp.Duration switch
|
||||
|
||||
Reference in New Issue
Block a user