feat: enhance institution contract creation with representative retrieval and code formatting improvements
This commit is contained in:
@@ -40,16 +40,15 @@ public class institutionContractController : AdminBaseController
|
||||
private readonly ITemporaryClientRegistrationApplication _clientRegistrationApplication;
|
||||
private readonly IPaymentGateway _paymentGateway;
|
||||
|
||||
private static readonly ConcurrentDictionary<Guid, SemaphoreSlim> _locks
|
||||
private static readonly ConcurrentDictionary<Guid, SemaphoreSlim> _locks
|
||||
= new ConcurrentDictionary<Guid, SemaphoreSlim>();
|
||||
|
||||
|
||||
|
||||
public institutionContractController(IInstitutionContractApplication institutionContractApplication,
|
||||
IPersonalContractingPartyApp contractingPartyApplication, IContactInfoApplication contactInfoApplication,
|
||||
IAccountApplication accountApplication, IEmployerApplication employerApplication,
|
||||
IWorkshopApplication workshopApplication, ITemporaryClientRegistrationApplication temporaryClientRegistration,
|
||||
ITemporaryClientRegistrationApplication clientRegistrationApplication,IHttpClientFactory httpClientFactory)
|
||||
ITemporaryClientRegistrationApplication clientRegistrationApplication, IHttpClientFactory httpClientFactory)
|
||||
{
|
||||
_institutionContractApplication = institutionContractApplication;
|
||||
_contractingPartyApplication = contractingPartyApplication;
|
||||
@@ -72,12 +71,13 @@ public class institutionContractController : AdminBaseController
|
||||
{
|
||||
return await _institutionContractApplication.GetList(searchModel);
|
||||
}
|
||||
|
||||
|
||||
[HttpGet("select-list")]
|
||||
public async Task<ActionResult<List<InstitutionContractSelectListViewModel>>> GetContractingPartySelectList(string search,string selected)
|
||||
public async Task<ActionResult<List<InstitutionContractSelectListViewModel>>> GetContractingPartySelectList(
|
||||
string search, string selected)
|
||||
{
|
||||
var result = await _institutionContractApplication
|
||||
.GetInstitutionContractSelectList(search,selected);
|
||||
.GetInstitutionContractSelectList(search, selected);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -225,9 +225,8 @@ public class institutionContractController : AdminBaseController
|
||||
{
|
||||
_institutionContractApplication.RemoveContract(id);
|
||||
return new OperationResult().Succcedded();
|
||||
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("deActive/{id}")]
|
||||
public ActionResult<OperationResult> DeActive(long id, string balance)
|
||||
{
|
||||
@@ -358,7 +357,8 @@ public class institutionContractController : AdminBaseController
|
||||
}
|
||||
|
||||
[HttpPost("workshop-service-calculator")]
|
||||
public ActionResult<WorkshopServiceCalculatorResponse> WorkshopServiceCalculator([FromBody]CreateWorkshopTemp command)
|
||||
public ActionResult<WorkshopServiceCalculatorResponse> WorkshopServiceCalculator(
|
||||
[FromBody] CreateWorkshopTemp command)
|
||||
{
|
||||
var workshopTemp = new WorkshopTempViewModel
|
||||
{
|
||||
@@ -373,7 +373,7 @@ public class institutionContractController : AdminBaseController
|
||||
};
|
||||
|
||||
var response = _temporaryClientRegistration.GetInstitutionPlanForWorkshop(workshopTemp);
|
||||
|
||||
|
||||
var result = new WorkshopServiceCalculatorResponse
|
||||
{
|
||||
TotalAmount = response.OnlineAndInPersonSumAmountStr
|
||||
@@ -385,7 +385,8 @@ public class institutionContractController : AdminBaseController
|
||||
public async Task<ActionResult<InstitutionPlanCalculatorResponse>> InstitutionPlanCalculator(
|
||||
[FromBody] InstitutionPlanCalculatorRequest request)
|
||||
{
|
||||
var res = await _temporaryClientRegistration.GetTotalPaymentAndWorkshopList(request.TotalAmountMonth,duration: request.Duration,request.HasInPersonContract);
|
||||
var res = await _temporaryClientRegistration.GetTotalPaymentAndWorkshopList(request.TotalAmountMonth,
|
||||
duration: request.Duration, request.HasInPersonContract);
|
||||
var result = new InstitutionPlanCalculatorResponse()
|
||||
{
|
||||
TotalAmountWithTax = res.OneTimeTotalPaymentStr,
|
||||
@@ -403,7 +404,6 @@ public class institutionContractController : AdminBaseController
|
||||
Obligation = res.OneTimeTotalPaymentStr,
|
||||
PaymentForOneMonth = res.SumOfWorkshopsPayment,
|
||||
DiscountedAmountForOneMonth = res.DiscountedAmountForOneMonth
|
||||
|
||||
};
|
||||
return result;
|
||||
}
|
||||
@@ -414,13 +414,13 @@ public class institutionContractController : AdminBaseController
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<ActionResult<OperationResult>> Create([FromBody]CreateInstitutionContractRequest command)
|
||||
public async Task<ActionResult<OperationResult>> Create([FromBody] CreateInstitutionContractRequest command)
|
||||
{
|
||||
var res =await _institutionContractApplication.CreateAsync(command);
|
||||
|
||||
if(!res.IsSuccedded)
|
||||
var res = await _institutionContractApplication.CreateAsync(command);
|
||||
|
||||
if (!res.IsSuccedded)
|
||||
throw new BadRequestException(res.Message);
|
||||
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -448,22 +448,26 @@ public class institutionContractController : AdminBaseController
|
||||
|
||||
if (operationResult.IsSuccedded)
|
||||
transaction.Complete();
|
||||
|
||||
|
||||
return operationResult;
|
||||
}
|
||||
|
||||
[HttpPost("create/set-discount")]
|
||||
public ActionResult<InstitutionContractDiscountResponse> SetDiscountForInstitutionContract([FromBody]InstitutionContractSetDiscountRequest request)
|
||||
public ActionResult<InstitutionContractDiscountResponse> SetDiscountForInstitutionContract(
|
||||
[FromBody] InstitutionContractSetDiscountRequest request)
|
||||
{
|
||||
var res = _institutionContractApplication.CalculateDiscount(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("create/reset-discount")]
|
||||
public ActionResult<InstitutionContractDiscountResponse> ResetDiscountForCreate([FromBody]InstitutionContractResetDiscountForCreateRequest request)
|
||||
public ActionResult<InstitutionContractDiscountResponse> ResetDiscountForCreate(
|
||||
[FromBody] InstitutionContractResetDiscountForCreateRequest request)
|
||||
{
|
||||
var res = _institutionContractApplication.ResetDiscountCreate(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
@@ -484,15 +488,15 @@ public class institutionContractController : AdminBaseController
|
||||
var paymentRedirectUrl = Url.Action("ProcessPayment", "institutionContract", null, Request.Scheme);
|
||||
var callback = Url.Action("Verify", "General", null, Request.Scheme);
|
||||
var res = await _institutionContractApplication.VerifyOtpAndMakeGateway(command.Id, command.Code, callback);
|
||||
|
||||
|
||||
if (!res.IsSuccedded)
|
||||
return new OperationResult<string>().Failed(res.Message);
|
||||
|
||||
|
||||
var payUrl = _paymentGateway.GetStartPayUrl(res.Data);
|
||||
|
||||
|
||||
// URL کامل برای redirect شامل paymentUrl به عنوان query parameter
|
||||
var redirectUrl = $"{paymentRedirectUrl}?paymentUrl={Uri.EscapeDataString(payUrl)}";
|
||||
|
||||
|
||||
return new OperationResult<string>().Succcedded(redirectUrl);
|
||||
}
|
||||
|
||||
@@ -504,13 +508,12 @@ public class institutionContractController : AdminBaseController
|
||||
{
|
||||
return BadRequest("Payment URL is required");
|
||||
}
|
||||
|
||||
|
||||
// redirect به درگاه پرداخت
|
||||
return Redirect(paymentUrl);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[HttpPost("/api/institutionContract/Verification/{id:guid}/send-otp")]
|
||||
[AllowAnonymous]
|
||||
public async Task<ActionResult<OperationResult<OtpResultViewModel>>> SendVerifyOtp(Guid id)
|
||||
@@ -529,52 +532,71 @@ public class institutionContractController : AdminBaseController
|
||||
}
|
||||
|
||||
#region Create
|
||||
|
||||
[HttpPost("creation/inquiry/")]
|
||||
public async Task<ActionResult<InstitutionContractCreationInquiryResult>> CreationInquiry(InstitutionContractCreationInquiryRequest request)
|
||||
public async Task<ActionResult<InstitutionContractCreationInquiryResult>> CreationInquiry(
|
||||
InstitutionContractCreationInquiryRequest request)
|
||||
{
|
||||
var res= await _institutionContractApplication.CreationInquiry(request);
|
||||
var res = await _institutionContractApplication.CreationInquiry(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("creation/workshops")]
|
||||
public async Task<ActionResult<InstitutionContractCreationWorkshopsResponse>> CreationWorkshops([FromBody] InstitutionContractCreationWorkshopsRequest request)
|
||||
|
||||
[HttpGet("creation/get-representative")]
|
||||
public async Task<ActionResult<InstitutionContractCreationGetRepresentativeIdResponse>> GetRepresentatives(
|
||||
string nationalCode)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetCreationWorkshops(request);
|
||||
var res = await _contractingPartyApplication.GetRepresentativeIdByNationalCode(nationalCode);
|
||||
return new InstitutionContractCreationGetRepresentativeIdResponse()
|
||||
{
|
||||
RepresentativeId = res
|
||||
};
|
||||
}
|
||||
|
||||
[HttpPost("creation/workshops")]
|
||||
public async Task<ActionResult<InstitutionContractCreationWorkshopsResponse>> CreationWorkshops(
|
||||
[FromBody] InstitutionContractCreationWorkshopsRequest request)
|
||||
{
|
||||
var res = await _institutionContractApplication.GetCreationWorkshops(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("creation/institution-plan")]
|
||||
public async Task<ActionResult<InstitutionContractCreationPlanResponse>> CreationInstitutionPlan([FromBody]InstitutionContractCreationPlanRequest request)
|
||||
public async Task<ActionResult<InstitutionContractCreationPlanResponse>> CreationInstitutionPlan(
|
||||
[FromBody] InstitutionContractCreationPlanRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetCreationInstitutionPlan(request);
|
||||
var res = await _institutionContractApplication.GetCreationInstitutionPlan(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("creation/payment-method")]
|
||||
public async Task<ActionResult<InstitutionContractCreationPaymentResponse>> GetCreationPaymentMethod([FromBody]InstitutionContractCreationPaymentRequest request)
|
||||
public async Task<ActionResult<InstitutionContractCreationPaymentResponse>> GetCreationPaymentMethod(
|
||||
[FromBody] InstitutionContractCreationPaymentRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetCreationPaymentMethod(request);
|
||||
var res = await _institutionContractApplication.GetCreationPaymentMethod(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("creation/set-discount")]
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> SetDiscountForCreation([FromBody]InstitutionContractSetDiscountForCreationRequest request)
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> SetDiscountForCreation(
|
||||
[FromBody] InstitutionContractSetDiscountForCreationRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.SetDiscountForCreation(request);
|
||||
var res = await _institutionContractApplication.SetDiscountForCreation(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("creation/reset-discount")]
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> ResetDiscountForCreation([FromBody]InstitutionContractResetDiscountForExtensionRequest request)
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> ResetDiscountForCreation(
|
||||
[FromBody] InstitutionContractResetDiscountForExtensionRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.ResetDiscountForCreation(request);
|
||||
var res = await _institutionContractApplication.ResetDiscountForCreation(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("creation/complete")]
|
||||
public async Task<ActionResult<OperationResult>> CreationComplete([FromBody]InstitutionContractExtensionCompleteRequest request)
|
||||
public async Task<ActionResult<OperationResult>> CreationComplete(
|
||||
[FromBody] InstitutionContractExtensionCompleteRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.CreationComplete(request);
|
||||
var res = await _institutionContractApplication.CreationComplete(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -583,93 +605,104 @@ public class institutionContractController : AdminBaseController
|
||||
[HttpGet("extenstion/inquiry/{previousContractId}")]
|
||||
public async Task<ActionResult<InstitutionContractExtensionInquiryResult>> ExtensionInquiry(long previousContractId)
|
||||
{
|
||||
var res= await _institutionContractApplication.GetExtensionInquiry(previousContractId);
|
||||
var res = await _institutionContractApplication.GetExtensionInquiry(previousContractId);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("extenstion/workshops")]
|
||||
public async Task<ActionResult<InstitutionContractExtensionWorkshopsResponse>> ExtensionWorkshops([FromBody] InstitutionContractExtensionWorkshopsRequest request)
|
||||
public async Task<ActionResult<InstitutionContractExtensionWorkshopsResponse>> ExtensionWorkshops(
|
||||
[FromBody] InstitutionContractExtensionWorkshopsRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetExtensionWorkshops(request);
|
||||
var res = await _institutionContractApplication.GetExtensionWorkshops(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("extenstion/institution-plan")]
|
||||
public async Task<ActionResult<InstitutionContractExtensionPlanResponse>> ExtensionInstitutionPlan([FromBody]InstitutionContractExtensionPlanRequest request)
|
||||
public async Task<ActionResult<InstitutionContractExtensionPlanResponse>> ExtensionInstitutionPlan(
|
||||
[FromBody] InstitutionContractExtensionPlanRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetExtensionInstitutionPlan(request);
|
||||
var res = await _institutionContractApplication.GetExtensionInstitutionPlan(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("extenstion/payment-method")]
|
||||
public async Task<ActionResult<InstitutionContractExtensionPaymentResponse>> GetExtensionPaymentMethod([FromBody]InstitutionContractExtensionPaymentRequest request)
|
||||
public async Task<ActionResult<InstitutionContractExtensionPaymentResponse>> GetExtensionPaymentMethod(
|
||||
[FromBody] InstitutionContractExtensionPaymentRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetExtensionPaymentMethod(request);
|
||||
var res = await _institutionContractApplication.GetExtensionPaymentMethod(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("extension/set-discount")]
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> SetDiscountForExtension([FromBody]InstitutionContractSetDiscountForExtensionRequest request)
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> SetDiscountForExtension(
|
||||
[FromBody] InstitutionContractSetDiscountForExtensionRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.SetDiscountForExtension(request);
|
||||
var res = await _institutionContractApplication.SetDiscountForExtension(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("extension/reset-discount")]
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> ResetDiscountForExtension([FromBody]InstitutionContractResetDiscountForExtensionRequest request)
|
||||
public async Task<ActionResult<InstitutionContractDiscountResponse>> ResetDiscountForExtension(
|
||||
[FromBody] InstitutionContractResetDiscountForExtensionRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.ResetDiscountForExtension(request);
|
||||
var res = await _institutionContractApplication.ResetDiscountForExtension(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("extenstion/complete")]
|
||||
public async Task<ActionResult<OperationResult>> ExtensionComplete([FromBody]InstitutionContractExtensionCompleteRequest request)
|
||||
public async Task<ActionResult<OperationResult>> ExtensionComplete(
|
||||
[FromBody] InstitutionContractExtensionCompleteRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.ExtensionComplete(request);
|
||||
var res = await _institutionContractApplication.ExtensionComplete(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpGet("amendment/workshops/{institutionContractId}")]
|
||||
public async Task<ActionResult<InstitutionContractAmendmentWorkshopsResponse>> GetAmendmentWorkshops(long institutionContractId)
|
||||
public async Task<ActionResult<InstitutionContractAmendmentWorkshopsResponse>> GetAmendmentWorkshops(
|
||||
long institutionContractId)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetAmendmentWorkshops(institutionContractId);
|
||||
var res = await _institutionContractApplication.GetAmendmentWorkshops(institutionContractId);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("resend-verify-link/{institutionContractId}")]
|
||||
public async Task<OperationResult> ResendVerifyLink(long institutionContractId)
|
||||
{
|
||||
var res = await _institutionContractApplication.ResendVerifyLink(institutionContractId);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("amendment/insert-temp-workshops")]
|
||||
public async Task<ActionResult<InsertAmendmentTempWorkshopResponse>> InsertAmendmentTempWorkshops([FromBody]InstitutionContractAmendmentTempWorkshopViewModel request)
|
||||
public async Task<ActionResult<InsertAmendmentTempWorkshopResponse>> InsertAmendmentTempWorkshops(
|
||||
[FromBody] InstitutionContractAmendmentTempWorkshopViewModel request)
|
||||
{
|
||||
var res =await _institutionContractApplication.InsertAmendmentTempWorkshops(request);
|
||||
var res = await _institutionContractApplication.InsertAmendmentTempWorkshops(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpDelete("amendment/remove-temp-workshops/{workshopTempId:guid}")]
|
||||
public async Task<ActionResult> RemoveAmendmentWorkshops(Guid workshopTempId)
|
||||
{
|
||||
{
|
||||
await _institutionContractApplication.RemoveAmendmentWorkshops(workshopTempId);
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[HttpPost("amendment/payment-details")]
|
||||
public async Task<ActionResult<InsitutionContractAmendmentPaymentResponse>> GetAmendmentPaymentDetails([FromBody]InsitutionContractAmendmentPaymentRequest request)
|
||||
public async Task<ActionResult<InsitutionContractAmendmentPaymentResponse>> GetAmendmentPaymentDetails(
|
||||
[FromBody] InsitutionContractAmendmentPaymentRequest request)
|
||||
{
|
||||
var res =await _institutionContractApplication.GetAmendmentPaymentDetails(request);
|
||||
var res = await _institutionContractApplication.GetAmendmentPaymentDetails(request);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[HttpGet("edit-old/{id}")]
|
||||
public ActionResult<EditInstitutionContract> GetEditOldDetails(long id)
|
||||
public ActionResult<EditInstitutionContract> GetEditOldDetails(long id)
|
||||
{
|
||||
var representativList = new List<RepresentativeViewModel>();
|
||||
var contractingPartyList = new List<PersonalContractingPartyViewModel>();
|
||||
var res = _institutionContractApplication.GetDetails(id);
|
||||
|
||||
|
||||
var representative = new RepresentativeViewModel
|
||||
{
|
||||
Id = res.RepresentativeId,
|
||||
@@ -734,13 +767,14 @@ public class institutionContractController : AdminBaseController
|
||||
res.ContractAmountOAlone = res.ContractAmountString;
|
||||
res.ValueAddedTaxStr = "0";
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("edit-old")]
|
||||
public ActionResult<OperationResult> EditOld([FromBody] EditInstitutionContract command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
var op = new OperationResult();
|
||||
var phoneNumber = command.ContactInformationList.FirstOrDefault(x =>
|
||||
x.SendSmsString == "true" && x.Position == "طرف قرارداد" && x.PhoneType == "شماره همراه");
|
||||
var conractingParty = _contractingPartyApplication.GetDetails(command.ContractingPartyId);
|
||||
@@ -754,57 +788,58 @@ public class institutionContractController : AdminBaseController
|
||||
//if (string.IsNullOrWhiteSpace(command.HasValueAddedTax))
|
||||
// command.HasValueAddedTax = "false";
|
||||
var result = _institutionContractApplication.Edit(command);
|
||||
var contractingPartyId = _institutionContractApplication.GetDetails(result.SendId);
|
||||
var counter = command.ContactInformationList.Count;
|
||||
var getOldContarct = _institutionContractApplication.NewSearch(new InstitutionContractSearchModel()
|
||||
{ ContractingPartyId = contractingPartyId.ContractingPartyId, IsActiveString = "both" }).Where(x=>x.IsActiveString == "false" || x.IsActiveString == "blue").ToList();
|
||||
if (result.IsSuccedded && counter > 0)
|
||||
{
|
||||
|
||||
if (getOldContarct.Count > 0)
|
||||
{
|
||||
foreach (var item in getOldContarct)
|
||||
{
|
||||
_contactInfoApplication.RemoveContactInfo(item.Id);
|
||||
foreach (var phone in command.ContactInformationList)
|
||||
{
|
||||
if (phone.PhoneNumber != null)
|
||||
{
|
||||
var contactinfo = new CreateContactInfo
|
||||
{
|
||||
InstitutionContractId = item.Id,
|
||||
PhoneType = phone.PhoneType,
|
||||
Position = phone.Position,
|
||||
PhoneNumber = phone.PhoneNumber,
|
||||
FnameLname = phone.FnameLname,
|
||||
SendSms = phone.SendSmsString == "true" ? true : false
|
||||
};
|
||||
_contactInfoApplication.Create(contactinfo);
|
||||
}
|
||||
var contractingPartyId = _institutionContractApplication.GetDetails(result.SendId);
|
||||
var counter = command.ContactInformationList.Count;
|
||||
var getOldContarct = _institutionContractApplication.NewSearch(new InstitutionContractSearchModel()
|
||||
{ ContractingPartyId = contractingPartyId.ContractingPartyId, IsActiveString = "both" })
|
||||
.Where(x => x.IsActiveString == "false" || x.IsActiveString == "blue").ToList();
|
||||
if (result.IsSuccedded && counter > 0)
|
||||
{
|
||||
if (getOldContarct.Count > 0)
|
||||
{
|
||||
foreach (var item in getOldContarct)
|
||||
{
|
||||
_contactInfoApplication.RemoveContactInfo(item.Id);
|
||||
foreach (var phone in command.ContactInformationList)
|
||||
{
|
||||
if (phone.PhoneNumber != null)
|
||||
{
|
||||
var contactinfo = new CreateContactInfo
|
||||
{
|
||||
InstitutionContractId = item.Id,
|
||||
PhoneType = phone.PhoneType,
|
||||
Position = phone.Position,
|
||||
PhoneNumber = phone.PhoneNumber,
|
||||
FnameLname = phone.FnameLname,
|
||||
SendSms = phone.SendSmsString == "true" ? true : false
|
||||
};
|
||||
_contactInfoApplication.Create(contactinfo);
|
||||
}
|
||||
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
}
|
||||
}
|
||||
_contactInfoApplication.RemoveContactInfo(command.Id);
|
||||
foreach (var item in command.ContactInformationList)
|
||||
{
|
||||
if (item.PhoneNumber != null)
|
||||
{
|
||||
var contactinfo = new CreateContactInfo
|
||||
{
|
||||
InstitutionContractId = result.SendId,
|
||||
PhoneType = item.PhoneType,
|
||||
Position = item.Position,
|
||||
PhoneNumber = item.PhoneNumber,
|
||||
FnameLname = item.FnameLname,
|
||||
SendSms = item.SendSmsString == "true" ? true : false
|
||||
};
|
||||
_contactInfoApplication.Create(contactinfo);
|
||||
}
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
_contactInfoApplication.RemoveContactInfo(command.Id);
|
||||
foreach (var item in command.ContactInformationList)
|
||||
{
|
||||
if (item.PhoneNumber != null)
|
||||
{
|
||||
var contactinfo = new CreateContactInfo
|
||||
{
|
||||
InstitutionContractId = result.SendId,
|
||||
PhoneType = item.PhoneType,
|
||||
Position = item.Position,
|
||||
PhoneNumber = item.PhoneNumber,
|
||||
FnameLname = item.FnameLname,
|
||||
SendSms = item.SendSmsString == "true" ? true : false
|
||||
};
|
||||
_contactInfoApplication.Create(contactinfo);
|
||||
}
|
||||
|
||||
Thread.Sleep(500);
|
||||
}
|
||||
|
||||
|
||||
//ساخت اکانت کلاینت
|
||||
@@ -814,7 +849,6 @@ public class institutionContractController : AdminBaseController
|
||||
var checkExistAccount = _accountApplication.CheckExistClientAccount(userPass);
|
||||
if (!checkExistAccount)
|
||||
{
|
||||
|
||||
var createAcc = new RegisterAccount
|
||||
{
|
||||
Fullname = conractingParty.LName,
|
||||
@@ -825,69 +859,72 @@ public class institutionContractController : AdminBaseController
|
||||
};
|
||||
var res = _accountApplication.RegisterClient(createAcc);
|
||||
if (res.IsSuccedded)
|
||||
_institutionContractApplication.CreateContractingPartyAccount(command.ContractingPartyId, res.SendId);
|
||||
_institutionContractApplication.CreateContractingPartyAccount(command.ContractingPartyId,
|
||||
res.SendId);
|
||||
}
|
||||
}
|
||||
//Thread.Sleep(500);
|
||||
//for (int i = 0; i <= counter - 1; i++)
|
||||
//{
|
||||
// if (command.ContactInformationList[i].PhoneNumber != null)
|
||||
// {
|
||||
//Thread.Sleep(500);
|
||||
//for (int i = 0; i <= counter - 1; i++)
|
||||
//{
|
||||
// if (command.ContactInformationList[i].PhoneNumber != null)
|
||||
// {
|
||||
|
||||
// var contactinfo = new CreateContactInfo()
|
||||
// {
|
||||
// InstitutionContractId = result.SendId,
|
||||
// PhoneType = command.ContactInformationList[i].PhoneType,
|
||||
// Position = command.ContactInformationList[i].Position,
|
||||
// PhoneNumber = command.ContactInformationList[i].PhoneNumber,
|
||||
// FnameLname = command.ContactInformationList[i].FnameLname,
|
||||
// SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false
|
||||
// };
|
||||
// _contactInfoApplication.Create(contactinfo);
|
||||
// var contactinfo = new CreateContactInfo()
|
||||
// {
|
||||
// InstitutionContractId = result.SendId,
|
||||
// PhoneType = command.ContactInformationList[i].PhoneType,
|
||||
// Position = command.ContactInformationList[i].Position,
|
||||
// PhoneNumber = command.ContactInformationList[i].PhoneNumber,
|
||||
// FnameLname = command.ContactInformationList[i].FnameLname,
|
||||
// SendSms = command.ContactInformationList[i].SendSmsString == "true" ? true : false
|
||||
// };
|
||||
// _contactInfoApplication.Create(contactinfo);
|
||||
|
||||
// }
|
||||
// Thread.Sleep(500);
|
||||
//}
|
||||
// }
|
||||
// Thread.Sleep(500);
|
||||
//}
|
||||
|
||||
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
|
||||
[HttpGet("print/{id}")]
|
||||
public async Task<ActionResult<InstitutionContractPrintViewModel>> PrintOne(long id)
|
||||
{
|
||||
var res =await _institutionContractApplication.PrintOneAsync(id);
|
||||
var res = await _institutionContractApplication.PrintOneAsync(id);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpPost("mannual-verify/{id}")]
|
||||
public async Task<ActionResult<OperationResult>> VerifyInstitutionContractManually(long id)
|
||||
{
|
||||
var res= await _institutionContractApplication.VerifyInstitutionContractManually(id);
|
||||
var res = await _institutionContractApplication.VerifyInstitutionContractManually(id);
|
||||
return res;
|
||||
}
|
||||
|
||||
[HttpGet("excel-download")]
|
||||
public async Task<IActionResult> ExcelDownload()
|
||||
{
|
||||
|
||||
var searchModel = new InstitutionContractListSearchModel();
|
||||
|
||||
var dataVm=new List<InstitutionContractExcelViewModel>();
|
||||
|
||||
|
||||
var dataVm = new List<InstitutionContractExcelViewModel>();
|
||||
|
||||
foreach (var name in typeof(InstitutionContractListStatus).GetEnumNames())
|
||||
{
|
||||
var @enum = Enum.Parse<InstitutionContractListStatus>(name);
|
||||
searchModel.Status = @enum;
|
||||
searchModel.PageSize = 99999;
|
||||
var data =( await(_institutionContractApplication.GetList(searchModel))).List;
|
||||
dataVm.Add(new InstitutionContractExcelViewModel(){Tab = @enum, GetInstitutionContractListItemsViewModels = data});
|
||||
var data = (await (_institutionContractApplication.GetList(searchModel))).List;
|
||||
dataVm.Add(new InstitutionContractExcelViewModel()
|
||||
{ Tab = @enum, GetInstitutionContractListItemsViewModels = data });
|
||||
}
|
||||
|
||||
searchModel.Status = null;
|
||||
|
||||
var nullData = ( await(_institutionContractApplication.GetList(searchModel))).List;
|
||||
dataVm.Add(new InstitutionContractExcelViewModel(){Tab = null, GetInstitutionContractListItemsViewModels = nullData});
|
||||
|
||||
|
||||
var nullData = (await (_institutionContractApplication.GetList(searchModel))).List;
|
||||
dataVm.Add(new InstitutionContractExcelViewModel()
|
||||
{ Tab = null, GetInstitutionContractListItemsViewModels = nullData });
|
||||
|
||||
var bytes = InstitutionContractExcelGenerator.GenerateExcel(dataVm);
|
||||
return File(bytes,
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
@@ -895,6 +932,10 @@ public class institutionContractController : AdminBaseController
|
||||
}
|
||||
}
|
||||
|
||||
public class InstitutionContractCreationGetRepresentativeIdResponse
|
||||
{
|
||||
public long RepresentativeId { get; set; }
|
||||
}
|
||||
|
||||
public class VerifyOtpRequest
|
||||
{
|
||||
@@ -933,10 +974,11 @@ public class WorkshopServiceCalculatorResponse
|
||||
public string TotalAmount { get; set; }
|
||||
}
|
||||
|
||||
public record InstitutionPlanCalculatorRequest(double TotalAmountMonth,bool HasInPersonContract,
|
||||
public record InstitutionPlanCalculatorRequest(
|
||||
double TotalAmountMonth,
|
||||
bool HasInPersonContract,
|
||||
InstitutionContractDuration Duration = InstitutionContractDuration.TwelveMonths);
|
||||
|
||||
|
||||
public class VerifyCodeRequest
|
||||
{
|
||||
public long ContractingPartyId { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user