Compare commits
141 Commits
Feature/Em
...
Api
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af2c71ea09 | ||
|
|
0cb9cfe9b2 | ||
|
|
558021ac6a | ||
|
|
0b59e6af15 | ||
|
|
eecdcc11c0 | ||
|
|
a63fed8c4a | ||
|
|
5ebcbcf774 | ||
|
|
2bdfdb366e | ||
|
|
b1a5333a25 | ||
|
|
bf24b3b36d | ||
|
|
e9b115e962 | ||
|
|
6f1e651559 | ||
|
|
143cc4943c | ||
|
|
33ae219fbf | ||
|
|
8f8a971a41 | ||
|
|
94058660b6 | ||
|
|
725559e7c1 | ||
|
|
aab30b3a4b | ||
|
|
d0e05df33a | ||
|
|
8eaa739e5e | ||
|
|
358544e56c | ||
|
|
fb52e99c68 | ||
|
|
8eb74fea15 | ||
|
|
00012cef52 | ||
|
|
ba994a5802 | ||
|
|
f4ec4f43c6 | ||
|
|
030a622252 | ||
|
|
3099881416 | ||
|
|
6449776348 | ||
|
|
e8f7f6b778 | ||
|
|
513b093c66 | ||
|
|
b0b8680125 | ||
|
|
2e63c7b80a | ||
|
|
255d13049e | ||
|
|
2714732750 | ||
|
|
2a78a9dc1a | ||
|
|
60b53f6e39 | ||
|
|
87f8517afb | ||
|
|
45a4a735ca | ||
|
|
95b09278aa | ||
|
|
6e5f41ec60 | ||
|
|
f2b3a26471 | ||
|
|
629ae1f0df | ||
|
|
b9db912441 | ||
|
|
b3d339d7fb | ||
|
|
33e3efeef5 | ||
| 38171581d3 | |||
|
|
0d66a79d49 | ||
|
|
35f948484e | ||
|
|
0ed24dff45 | ||
|
|
53061f29b7 | ||
|
|
4ec744a6bd | ||
|
|
c30c460a68 | ||
|
|
861efc48e0 | ||
|
|
eb16bda0ae | ||
|
|
3285be107e | ||
|
|
4818fa32f4 | ||
|
|
79e5d98ac6 | ||
|
|
73732cfe67 | ||
|
|
f2580c8e28 | ||
|
|
6f292ddac6 | ||
|
|
5c5f3eefa6 | ||
|
|
b99c503b58 | ||
|
|
2fd1878126 | ||
|
|
a8c449c101 | ||
|
|
80c0ec28d5 | ||
|
|
b133aa67d2 | ||
|
|
8122c9d841 | ||
|
|
75e2a3c558 | ||
|
|
3fa027dfd1 | ||
|
|
6942e55823 | ||
|
|
2314fd456c | ||
|
|
4415cb8128 | ||
|
|
b9943cf460 | ||
|
|
8d490cd3fe | ||
|
|
1e3780be38 | ||
|
|
92f68d8555 | ||
|
|
f0547828a6 | ||
|
|
b5afc9eef0 | ||
|
|
83a17a7e86 | ||
|
|
8e3a5b46da | ||
|
|
b15c34373b | ||
|
|
8284ec199f | ||
|
|
fcfe7c7e58 | ||
| d27b8484a2 | |||
| 5c637e3626 | |||
|
|
9b28c63317 | ||
|
|
a861f9f21c | ||
|
|
8fd51f4e42 | ||
|
|
146ab74524 | ||
|
|
1d38420ddf | ||
|
|
fcad12d3ef | ||
|
|
285e56ce03 | ||
| b2cb3ae173 | |||
| 8afdf13863 | |||
| 524086129a | |||
| 53d44700b8 | |||
|
|
84ff2bc8f1 | ||
| 3a84c65ce1 | |||
| a6c25ec8e8 | |||
|
|
c69cc41c93 | ||
| 423f14a348 | |||
| 1bb0f1f1b2 | |||
| 7b2eefa954 | |||
|
|
c80a5dbab7 | ||
|
|
256717c6f8 | ||
|
|
0d18d9aa1a | ||
|
|
14fbf309a7 | ||
|
|
e379727606 | ||
| 3303d4b54a | |||
| dba28b4d89 | |||
|
|
41ec3fb9cf | ||
|
|
7f98cf8f12 | ||
|
|
6c8385061e | ||
|
|
a49467ee44 | ||
| fb1db062f3 | |||
|
|
0e66c5e1a0 | ||
|
|
27a92f5796 | ||
| 6e5788074c | |||
| b29b1335d3 | |||
| 24d41ffc68 | |||
|
|
c6d4d7d473 | ||
| c594cbf523 | |||
| 52976d8965 | |||
| ec97274d5e | |||
|
|
87afbbe44c | ||
| 9271cb5c66 | |||
| aee7e5ce82 | |||
| 97b4c7dc66 | |||
| 5fa49a4988 | |||
|
|
5576ee5c24 | ||
|
|
99e807fa23 | ||
|
|
2ce17dcac9 | ||
|
|
233c1a3aa9 | ||
|
|
37cd07c2b8 | ||
|
|
6201492879 | ||
|
|
489528d076 | ||
|
|
3a6f87eaca | ||
|
|
ec277629fb | ||
|
|
faeb297f5c | ||
|
|
c3457881b0 |
@@ -15,6 +15,8 @@
|
|||||||
<PackageReference Include="PersianTools.Core" Version="2.0.4" />
|
<PackageReference Include="PersianTools.Core" Version="2.0.4" />
|
||||||
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
|
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
|
||||||
<PackageReference Include="MD.PersianDateTime.Standard" Version="2.5.0" />
|
<PackageReference Include="MD.PersianDateTime.Standard" Version="2.5.0" />
|
||||||
|
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="7.2.0" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
6
0_Framework/Application/AppSettingConfiguration.cs
Normal file
6
0_Framework/Application/AppSettingConfiguration.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace _0_Framework.Application;
|
||||||
|
|
||||||
|
public class AppSettingConfiguration
|
||||||
|
{
|
||||||
|
public string Domain { get; set; }
|
||||||
|
}
|
||||||
@@ -40,6 +40,8 @@ public class AuthHelper : IAuthHelper
|
|||||||
result.Mobile = claims.FirstOrDefault(x => x is { Type: "Mobile" }).Value;
|
result.Mobile = claims.FirstOrDefault(x => x is { Type: "Mobile" }).Value;
|
||||||
result.SubAccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "SubAccountId").Value);
|
result.SubAccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "SubAccountId").Value);
|
||||||
result.WorkshopName = claims.FirstOrDefault(x => x is { Type: "WorkshopName" })?.Value;
|
result.WorkshopName = claims.FirstOrDefault(x => x is { Type: "WorkshopName" })?.Value;
|
||||||
|
result.Permissions = Tools.DeserializeFromBsonList<int>(claims.FirstOrDefault(x => x is { Type: "permissions" })?.Value);
|
||||||
|
result.RoleName = claims.FirstOrDefault(x => x is { Type: "RoleName" })?.Value;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
0_Framework/Application/Enums/ActivationStatus.cs
Normal file
8
0_Framework/Application/Enums/ActivationStatus.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
namespace _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
public enum ActivationStatus
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Active = 1,
|
||||||
|
DeActive = 2
|
||||||
|
}
|
||||||
8
0_Framework/Application/Enums/LegalType.cs
Normal file
8
0_Framework/Application/Enums/LegalType.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
namespace _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
public enum LegalType
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Real = 1,
|
||||||
|
Legal = 2
|
||||||
|
}
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Net.Http.Json;
|
||||||
|
using System.Security.Policy;
|
||||||
|
using System.Security.Principal;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
|
||||||
|
namespace _0_Framework.Application.PaymentGateway;
|
||||||
|
|
||||||
|
public class AqayePardakhtPaymentGateway:IPaymentGateway
|
||||||
|
{
|
||||||
|
private static string _pin = "86EAF2C4D052F7D8759F";
|
||||||
|
private const string AccountNumber = "AP.1042276242";
|
||||||
|
private const string EncryptedKey = "130D2@D2923";
|
||||||
|
|
||||||
|
private readonly HttpClient _httpClient;
|
||||||
|
|
||||||
|
public AqayePardakhtPaymentGateway(IHttpClientFactory httpClientFactory,IOptions<AppSettingConfiguration> appSetting)
|
||||||
|
{
|
||||||
|
_httpClient = httpClientFactory.CreateClient();
|
||||||
|
|
||||||
|
if (appSetting.Value.Domain == ".dad-mehr.ir")
|
||||||
|
{
|
||||||
|
_pin = "7349F84E81AB584862D9";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<PaymentGatewayResponse> Create(CreatePaymentGatewayRequest command,CancellationToken cancellationToken =default)
|
||||||
|
{
|
||||||
|
var response = await _httpClient.PostAsJsonAsync("https://panel.aqayepardakht.ir/api/v2/create", new
|
||||||
|
{
|
||||||
|
pin = _pin,
|
||||||
|
amount = command.Amount,
|
||||||
|
callback = command.CallBackUrl,
|
||||||
|
card_number = command.CardNumber,
|
||||||
|
invoice_id = command.InvoiceId,
|
||||||
|
mobile = command.Mobile,
|
||||||
|
email = command.Email,
|
||||||
|
description = command.Description,
|
||||||
|
}, cancellationToken: cancellationToken);
|
||||||
|
|
||||||
|
var result = await response.Content.ReadFromJsonAsync<PaymentGatewayResponse>(cancellationToken: cancellationToken);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetStartPayUrl(string transactionId) =>
|
||||||
|
$"https://panel.aqayepardakht.ir/startpay/{transactionId}";
|
||||||
|
|
||||||
|
public async Task<PaymentGatewayResponse> Verify(VerifyPaymentGateWayRequest command, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
var response = await _httpClient.PostAsJsonAsync("https://panel.aqayepardakht.ir/api/v2/verify", new
|
||||||
|
{
|
||||||
|
pin = _pin,
|
||||||
|
amount = command.Amount,
|
||||||
|
transid = command.TransactionId,
|
||||||
|
}, cancellationToken: cancellationToken);
|
||||||
|
|
||||||
|
var result = await response.Content.ReadFromJsonAsync<PaymentGatewayResponse>(cancellationToken: cancellationToken);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<PaymentGatewayResponse> CreateSandBox(CreatePaymentGatewayRequest command, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
var response = await _httpClient.PostAsJsonAsync("https://panel.aqayepardakht.ir/api/v2/create", new
|
||||||
|
{
|
||||||
|
pin = "sandbox",
|
||||||
|
amount = command.Amount,
|
||||||
|
callback = command.CallBackUrl,
|
||||||
|
card_number = command.Amount,
|
||||||
|
invoice_id = command.InvoiceId,
|
||||||
|
mobile = command.Mobile,
|
||||||
|
email = command.Email,
|
||||||
|
description = command.Email,
|
||||||
|
}, cancellationToken: cancellationToken);
|
||||||
|
|
||||||
|
var result = await response.Content.ReadFromJsonAsync<PaymentGatewayResponse>(cancellationToken: cancellationToken);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetStartPaySandBoxUrl(string transactionId) =>
|
||||||
|
$"https://panel.aqayepardakht.ir/startpay/sandbox/{transactionId}";
|
||||||
|
|
||||||
|
public async Task<WalletAmountResponse> GetWalletAmount(CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
var response =await _httpClient.PostAsJsonAsync("https://panel.aqayepardakht.ir/api/v2/getmoney", new
|
||||||
|
{
|
||||||
|
account=AccountNumber,
|
||||||
|
code = EncryptedKey
|
||||||
|
}, cancellationToken: cancellationToken);
|
||||||
|
var jsonString = await response.Content.ReadAsStringAsync(cancellationToken);
|
||||||
|
var result = await response.Content.ReadFromJsonAsync<WalletAmountResponse>(cancellationToken);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
60
0_Framework/Application/PaymentGateway/IPaymentGateway.cs
Normal file
60
0_Framework/Application/PaymentGateway/IPaymentGateway.cs
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
using Microsoft.AspNetCore.Server.HttpSys;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace _0_Framework.Application.PaymentGateway;
|
||||||
|
|
||||||
|
public interface IPaymentGateway
|
||||||
|
{
|
||||||
|
Task<PaymentGatewayResponse> Create(CreatePaymentGatewayRequest command, CancellationToken cancellationToken =default);
|
||||||
|
|
||||||
|
string GetStartPayUrl(string transactionId);
|
||||||
|
Task<PaymentGatewayResponse> Verify(VerifyPaymentGateWayRequest command, CancellationToken cancellationToken=default);
|
||||||
|
Task<PaymentGatewayResponse> CreateSandBox(CreatePaymentGatewayRequest command, CancellationToken cancellationToken=default);
|
||||||
|
string GetStartPaySandBoxUrl(string transactionId);
|
||||||
|
Task<WalletAmountResponse> GetWalletAmount(CancellationToken cancellationToken);
|
||||||
|
|
||||||
|
}
|
||||||
|
public class PaymentGatewayResponse
|
||||||
|
{
|
||||||
|
[JsonPropertyName("status")]
|
||||||
|
public string Status { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("code")]
|
||||||
|
public int? ErrorCode { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("transid")]
|
||||||
|
public string TransactionId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WalletAmountResponse
|
||||||
|
{
|
||||||
|
[JsonPropertyName("status")]
|
||||||
|
public string Status { get; set; }
|
||||||
|
[JsonPropertyName("money")]
|
||||||
|
public double Amount { get; set; }
|
||||||
|
[JsonPropertyName("code")]
|
||||||
|
public int Code { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CreatePaymentGatewayRequest
|
||||||
|
{
|
||||||
|
public double Amount { get; set; }
|
||||||
|
public string CallBackUrl { get; set; }
|
||||||
|
public string InvoiceId { get; set; }
|
||||||
|
public string CardNumber { get; set; }
|
||||||
|
public string Mobile { get; set; }
|
||||||
|
public string Email { get; set; }
|
||||||
|
public string Description { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class VerifyPaymentGateWayRequest
|
||||||
|
{
|
||||||
|
public string TransactionId { get; set; }
|
||||||
|
public double Amount { get; set; }
|
||||||
|
}
|
||||||
7
0_Framework/Application/SelectListViewModel.cs
Normal file
7
0_Framework/Application/SelectListViewModel.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace _0_Framework.Application;
|
||||||
|
|
||||||
|
public class SelectListViewModel
|
||||||
|
{
|
||||||
|
public long Id { get; set; }
|
||||||
|
public string Text { get; set; }
|
||||||
|
}
|
||||||
@@ -41,6 +41,23 @@ public static class Tools
|
|||||||
return Regex.IsMatch(mobileNo, "^((09))(\\d{9})$");
|
return Regex.IsMatch(mobileNo, "^((09))(\\d{9})$");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ شروع و تعداد ماه را میگیرد و تاریخ پایان قراردا را بر میگرداند
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="startDate"></param>
|
||||||
|
/// <param name="monthPlus"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static (DateTime endDateGr, string endDateFa) FindEndOfContract(string startDate, string monthPlus)
|
||||||
|
{
|
||||||
|
|
||||||
|
int startYear = Convert.ToInt32(startDate.Substring(0, 4));
|
||||||
|
int startMonth = Convert.ToInt32(startDate.Substring(5, 2));
|
||||||
|
int startDay = Convert.ToInt32(startDate.Substring(8, 2));
|
||||||
|
var start = new PersianDateTime(startYear, startMonth, startDay);
|
||||||
|
var end = (start.AddMonths(Convert.ToInt32(monthPlus))).AddDays(-1);
|
||||||
|
return ($"{end}".ToGeorgianDateTime(), $"{end}");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// دریافت روزهای کارکرد پرسنل در لیست بیمه ماه مشخص شده
|
/// دریافت روزهای کارکرد پرسنل در لیست بیمه ماه مشخص شده
|
||||||
@@ -880,7 +897,15 @@ public static class Tools
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
numbers = Convert.ToInt32(num);
|
numbers = Convert.ToInt32(num);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return numbers;
|
return numbers;
|
||||||
}
|
}
|
||||||
public static string ToFarsiMonthByNumber(this string value)
|
public static string ToFarsiMonthByNumber(this string value)
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ public class UidService : IUidService
|
|||||||
var json = JsonConvert.SerializeObject(request);
|
var json = JsonConvert.SerializeObject(request);
|
||||||
var contentType = new StringContent(json, Encoding.UTF8, "application/json");
|
var contentType = new StringContent(json, Encoding.UTF8, "application/json");
|
||||||
|
|
||||||
var requestResult = await _httpClient.PostAsync("person/v2", contentType);
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var requestResult = await _httpClient.PostAsync("person/v2", contentType);
|
||||||
if (!requestResult.IsSuccessStatusCode)
|
if (!requestResult.IsSuccessStatusCode)
|
||||||
return null;
|
return null;
|
||||||
var responseResult = await requestResult.Content.ReadFromJsonAsync<PersonalInfoResponse>();
|
var responseResult = await requestResult.Content.ReadFromJsonAsync<PersonalInfoResponse>();
|
||||||
@@ -50,8 +50,11 @@ public class UidService : IUidService
|
|||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
||||||
return null;
|
return new PersonalInfoResponse(new UidBasicInformation(),
|
||||||
|
new IdentificationInformation(default, default, default, default, default), new RegistrationStatus(),
|
||||||
|
new ResponseContext(new UidStatus(14, "")));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||||
using Microsoft.EntityFrameworkCore.Design.Internal;
|
using Microsoft.EntityFrameworkCore.Design.Internal;
|
||||||
@@ -12,8 +14,7 @@ public class BaseCustomizeEntity : EntityBase
|
|||||||
}
|
}
|
||||||
public BaseCustomizeEntity(FridayPay fridayPay, OverTimePay overTimePay,
|
public BaseCustomizeEntity(FridayPay fridayPay, OverTimePay overTimePay,
|
||||||
BaseYearsPay baseYearsPay, BonusesPay bonusesPay, NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
BaseYearsPay baseYearsPay, BonusesPay bonusesPay, NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,
|
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, HolidayWork holidayWork, BreakTime breakTime,int leavePermittedDays,List<WeeklyOffDay> weeklyOffDays)
|
||||||
FridayWork fridayWork, HolidayWork holidayWork, BreakTime breakTime,int leavePermittedDays)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
FridayPay = fridayPay;
|
FridayPay = fridayPay;
|
||||||
@@ -29,10 +30,10 @@ public class BaseCustomizeEntity : EntityBase
|
|||||||
FineAbsenceDeduction = fineAbsenceDeduction;
|
FineAbsenceDeduction = fineAbsenceDeduction;
|
||||||
LateToWork = lateToWork;
|
LateToWork = lateToWork;
|
||||||
EarlyExit = earlyExit;
|
EarlyExit = earlyExit;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
BreakTime = breakTime;
|
BreakTime = breakTime;
|
||||||
LeavePermittedDays = leavePermittedDays;
|
LeavePermittedDays = leavePermittedDays;
|
||||||
|
WeeklyOffDays = weeklyOffDays.Select(x=> new WeeklyOffDay(x.DayOfWeek)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -117,4 +118,28 @@ public class BaseCustomizeEntity : EntityBase
|
|||||||
|
|
||||||
|
|
||||||
public BreakTime BreakTime { get; protected set; }
|
public BreakTime BreakTime { get; protected set; }
|
||||||
|
|
||||||
|
public List<WeeklyOffDay> WeeklyOffDays { get; set; }
|
||||||
|
|
||||||
|
public void FridayWorkToWeeklyDayOfWeek()
|
||||||
|
{
|
||||||
|
if (FridayWork == FridayWork.Default && !WeeklyOffDays.Any(x => x.DayOfWeek == DayOfWeek.Friday))
|
||||||
|
{
|
||||||
|
WeeklyOffDays.Add(new WeeklyOffDay(DayOfWeek.Friday));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class WeeklyOffDay
|
||||||
|
{
|
||||||
|
public WeeklyOffDay(DayOfWeek dayOfWeek)
|
||||||
|
{
|
||||||
|
DayOfWeek = dayOfWeek;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long Id { get; set; }
|
||||||
|
public DayOfWeek DayOfWeek { get; set; }
|
||||||
|
public long ParentId { get; set; }
|
||||||
}
|
}
|
||||||
75
0_Framework/Exceptions/Handler/CustomExceptionHandler.cs
Normal file
75
0_Framework/Exceptions/Handler/CustomExceptionHandler.cs
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
using System;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Microsoft.AspNetCore.Diagnostics;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
|
|
||||||
|
namespace _0_Framework.Exceptions.Handler;
|
||||||
|
|
||||||
|
public class CustomExceptionHandler : IExceptionHandler
|
||||||
|
{
|
||||||
|
private readonly ILogger<CustomExceptionHandler> _logger;
|
||||||
|
|
||||||
|
public CustomExceptionHandler(ILogger<CustomExceptionHandler> logger)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async ValueTask<bool> TryHandleAsync(HttpContext context, Exception exception, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
_logger.LogError(
|
||||||
|
"Error Message: {exceptionMessage}, Time of occurrence {time}",
|
||||||
|
exception.Message, DateTime.UtcNow);
|
||||||
|
|
||||||
|
(string Detail, string Title, int StatusCode) details = exception switch
|
||||||
|
{
|
||||||
|
InternalServerException =>
|
||||||
|
(
|
||||||
|
exception.Message,
|
||||||
|
exception.GetType().Name,
|
||||||
|
context.Response.StatusCode = StatusCodes.Status500InternalServerError
|
||||||
|
),
|
||||||
|
BadRequestException =>
|
||||||
|
(
|
||||||
|
exception.Message,
|
||||||
|
exception.GetType().Name,
|
||||||
|
context.Response.StatusCode = StatusCodes.Status400BadRequest
|
||||||
|
),
|
||||||
|
NotFoundException =>
|
||||||
|
(
|
||||||
|
exception.Message,
|
||||||
|
exception.GetType().Name,
|
||||||
|
context.Response.StatusCode = StatusCodes.Status404NotFound
|
||||||
|
),
|
||||||
|
UnAuthorizeException =>
|
||||||
|
(
|
||||||
|
exception.Message,
|
||||||
|
exception.GetType().Name,
|
||||||
|
context.Response.StatusCode = StatusCodes.Status401Unauthorized
|
||||||
|
),
|
||||||
|
_ =>
|
||||||
|
(
|
||||||
|
exception.Message,
|
||||||
|
exception.GetType().Name,
|
||||||
|
context.Response.StatusCode = StatusCodes.Status500InternalServerError
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
var problemDetails = new ProblemDetails
|
||||||
|
{
|
||||||
|
Title = details.Title,
|
||||||
|
Detail = details.Detail,
|
||||||
|
Status = details.StatusCode,
|
||||||
|
Instance = context.Request.Path
|
||||||
|
};
|
||||||
|
|
||||||
|
problemDetails.Extensions.Add("traceId", context.TraceIdentifier);
|
||||||
|
|
||||||
|
await context.Response.WriteAsJsonAsync(problemDetails, cancellationToken: cancellationToken);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
10
0_Framework/Exceptions/UnAuthorizeException.cs
Normal file
10
0_Framework/Exceptions/UnAuthorizeException.cs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace _0_Framework.Exceptions;
|
||||||
|
|
||||||
|
public class UnAuthorizeException:Exception
|
||||||
|
{
|
||||||
|
public UnAuthorizeException(string message) : base(message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
using AccountManagement.Domain.TaskAgg;
|
using AccountManagement.Domain.TaskAgg;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using AccountManagement.Domain.TaskMessageAgg;
|
using AccountManagement.Domain.TaskMessageAgg;
|
||||||
|
|
||||||
namespace AccountManagement.Domain.AssignAgg;
|
namespace AccountManagement.Domain.AssignAgg;
|
||||||
@@ -158,4 +159,24 @@ public class Assign : EntityBase
|
|||||||
IsDoneRequest=isDoneRequest;
|
IsDoneRequest=isDoneRequest;
|
||||||
DoneDescription=doneDescription;
|
DoneDescription=doneDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ChangeAssignedId(long assignedId)
|
||||||
|
{
|
||||||
|
AssignedId = assignedId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetAssignerId(long assignerId)
|
||||||
|
{
|
||||||
|
AssignerId = assignerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ChangeSender(long senderId)
|
||||||
|
{
|
||||||
|
Task.SetSender(senderId);
|
||||||
|
var taskMessageItemsEnumerable =TaskMessageList.SelectMany(m => m.TaskMessageItemsList);
|
||||||
|
foreach (var taskMessageItems in taskMessageItemsEnumerable)
|
||||||
|
{
|
||||||
|
taskMessageItems.SetSenderId(senderId);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Security.AccessControl;
|
using System.Security.AccessControl;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using AccountManagement.Domain.AssignAgg;
|
using AccountManagement.Domain.AssignAgg;
|
||||||
using AccountManagement.Domain.TaskMediaAgg;
|
using AccountManagement.Domain.TaskMediaAgg;
|
||||||
using AccountManagement.Domain.TaskScheduleAgg;
|
using AccountManagement.Domain.TaskScheduleAgg;
|
||||||
|
using OfficeOpenXml.Style;
|
||||||
|
|
||||||
namespace AccountManagement.Domain.TaskAgg;
|
namespace AccountManagement.Domain.TaskAgg;
|
||||||
|
|
||||||
@@ -80,4 +82,40 @@ public class Tasks : EntityBase
|
|||||||
TaskScheduleId = taskScheduleId;
|
TaskScheduleId = taskScheduleId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ChangeSender(long senderId)
|
||||||
|
{
|
||||||
|
var prevSender = SenderId;
|
||||||
|
|
||||||
|
var assigners = Assigns.Where(x => x.AssignerId == prevSender).ToList();
|
||||||
|
|
||||||
|
foreach (var assigner in assigners)
|
||||||
|
{
|
||||||
|
assigner.SetAssignerId(senderId);
|
||||||
|
}
|
||||||
|
|
||||||
|
var senderMessageItem = Assigns
|
||||||
|
.SelectMany(x=>x.TaskMessageList
|
||||||
|
.SelectMany(m=>m.TaskMessageItemsList)).Where(x=>x.SenderAccountId == prevSender).ToList();
|
||||||
|
|
||||||
|
var receiverMessageItem = Assigns.SelectMany(x=>x.TaskMessageList
|
||||||
|
.SelectMany(m=>m.TaskMessageItemsList)).Where(x=>x.ReceiverAccountId == prevSender).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
SenderId = senderId;
|
||||||
|
|
||||||
|
foreach (var taskMessageItems in senderMessageItem)
|
||||||
|
{
|
||||||
|
taskMessageItems.SetSenderId(senderId);
|
||||||
|
}
|
||||||
|
foreach (var taskMessageItems in receiverMessageItem)
|
||||||
|
{
|
||||||
|
taskMessageItems.SetReceiver(senderId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetSender(long senderId)
|
||||||
|
{
|
||||||
|
SenderId = senderId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -19,4 +19,13 @@ public class TaskMessageItems:EntityBase
|
|||||||
public TaskMessage TaskMessage { get; set; }
|
public TaskMessage TaskMessage { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public void SetSenderId(long senderId)
|
||||||
|
{
|
||||||
|
SenderAccountId = senderId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetReceiver(long receiverId)
|
||||||
|
{
|
||||||
|
ReceiverAccountId = receiverId;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using Company.Domain.CheckoutAgg.ValueObjects;
|
using Company.Domain.CheckoutAgg.ValueObjects;
|
||||||
using Company.Domain.CustomizeCheckoutAgg.ValueObjects;
|
using Company.Domain.CustomizeCheckoutAgg.ValueObjects;
|
||||||
using Company.Domain.WorkshopAgg;
|
using Company.Domain.WorkshopAgg;
|
||||||
@@ -29,7 +30,7 @@ public class Checkout : EntityBase
|
|||||||
string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue,
|
string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue,
|
||||||
string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute,
|
string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute,
|
||||||
ICollection<CheckoutLoanInstallment> loanInstallments,
|
ICollection<CheckoutLoanInstallment> loanInstallments,
|
||||||
ICollection<CheckoutSalaryAid> salaryAids)
|
ICollection<CheckoutSalaryAid> salaryAids,CheckoutRollCall checkoutRollCall)
|
||||||
{
|
{
|
||||||
EmployeeFullName = employeeFullName;
|
EmployeeFullName = employeeFullName;
|
||||||
FathersName = fathersName;
|
FathersName = fathersName;
|
||||||
@@ -88,6 +89,7 @@ public class Checkout : EntityBase
|
|||||||
TotalDayOfBunosesCompute = totalDayOfBunosesCompute;
|
TotalDayOfBunosesCompute = totalDayOfBunosesCompute;
|
||||||
LoanInstallments = loanInstallments;
|
LoanInstallments = loanInstallments;
|
||||||
SalaryAids = salaryAids;
|
SalaryAids = salaryAids;
|
||||||
|
CheckoutRollCall = checkoutRollCall;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EmployeeFullName { get; private set; }
|
public string EmployeeFullName { get; private set; }
|
||||||
@@ -196,6 +198,7 @@ public class Checkout : EntityBase
|
|||||||
|
|
||||||
public ICollection<CheckoutLoanInstallment> LoanInstallments { get; set; } = [];
|
public ICollection<CheckoutLoanInstallment> LoanInstallments { get; set; } = [];
|
||||||
public ICollection<CheckoutSalaryAid> SalaryAids { get; set; } = [];
|
public ICollection<CheckoutSalaryAid> SalaryAids { get; set; } = [];
|
||||||
|
public CheckoutRollCall CheckoutRollCall { get; private set; }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
@@ -308,4 +311,149 @@ public class Checkout : EntityBase
|
|||||||
LoanInstallments = lonaInstallments;
|
LoanInstallments = lonaInstallments;
|
||||||
InstallmentDeduction = installmentsAmount;
|
InstallmentDeduction = installmentsAmount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetCheckoutRollCall(CheckoutRollCall checkoutRollCall)
|
||||||
|
{
|
||||||
|
CheckoutRollCall = checkoutRollCall;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CheckoutRollCall
|
||||||
|
{
|
||||||
|
private CheckoutRollCall(){}
|
||||||
|
public CheckoutRollCall(TimeSpan totalMandatoryTimeSpan, TimeSpan totalPresentTimeSpan, TimeSpan totalBreakTimeSpan,
|
||||||
|
TimeSpan totalWorkingTimeSpan, TimeSpan totalPaidLeaveTmeSpan, TimeSpan totalSickLeaveTimeSpan,
|
||||||
|
ICollection<CheckoutRollCallDay> rollCallDaysCollection)
|
||||||
|
{
|
||||||
|
TotalMandatoryTimeSpan = totalMandatoryTimeSpan;
|
||||||
|
TotalPresentTimeSpan = totalPresentTimeSpan;
|
||||||
|
TotalBreakTimeSpan = totalBreakTimeSpan;
|
||||||
|
TotalWorkingTimeSpan = totalWorkingTimeSpan;
|
||||||
|
TotalPaidLeaveTmeSpan = totalPaidLeaveTmeSpan;
|
||||||
|
TotalSickLeaveTimeSpan = totalSickLeaveTimeSpan;
|
||||||
|
RollCallDaysCollection = rollCallDaysCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت موظفی
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalMandatoryTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت حضور
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalPresentTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت استراحت
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalBreakTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت کارکرد
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalWorkingTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت مرخصی استحقاقی
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalPaidLeaveTmeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت مرخصی استعلاجی
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalSickLeaveTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// روز های حضور غیاب
|
||||||
|
/// </summary>
|
||||||
|
public ICollection<CheckoutRollCallDay> RollCallDaysCollection { get; private set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CheckoutRollCallDay
|
||||||
|
{
|
||||||
|
private CheckoutRollCallDay(){}
|
||||||
|
public CheckoutRollCallDay(DateTime date, string firstStartDate, string firstEndDate,
|
||||||
|
string secondStartDate, string secondEndDate, TimeSpan breakTimeSpan,
|
||||||
|
bool isSliced, TimeSpan workingTimeSpan, bool isAbsent, bool isFriday,
|
||||||
|
bool isHoliday, string leaveType)
|
||||||
|
{
|
||||||
|
Date = date;
|
||||||
|
FirstStartDate = firstStartDate;
|
||||||
|
FirstEndDate = firstEndDate;
|
||||||
|
SecondStartDate = secondStartDate;
|
||||||
|
SecondEndDate = secondEndDate;
|
||||||
|
BreakTimeSpan = breakTimeSpan;
|
||||||
|
IsSliced = isSliced;
|
||||||
|
WorkingTimeSpan = workingTimeSpan;
|
||||||
|
IsAbsent = isAbsent;
|
||||||
|
IsFriday = isFriday;
|
||||||
|
IsHoliday = isHoliday;
|
||||||
|
LeaveType = leaveType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Date { get; private set; }
|
||||||
|
/// <summary>
|
||||||
|
/// ورود اول
|
||||||
|
/// </summary>
|
||||||
|
public string FirstStartDate { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// خروج اول
|
||||||
|
/// </summary>
|
||||||
|
public string FirstEndDate { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ورود دوم
|
||||||
|
/// </summary>
|
||||||
|
public string SecondStartDate { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// خروج دوم
|
||||||
|
/// </summary>
|
||||||
|
public string SecondEndDate { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ساعت استراحت
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan BreakTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مقدار زمان کارکرد
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan WorkingTimeSpan { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا منقطع است؟
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSliced { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا غیبت است
|
||||||
|
/// </summary>
|
||||||
|
public bool IsAbsent { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا جمعه است
|
||||||
|
/// </summary>
|
||||||
|
public bool IsFriday { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا تعطیل رسمی است
|
||||||
|
/// </summary>
|
||||||
|
public bool IsHoliday { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع مرخصی - درصورت نداشتن مرخصی مقدارش null میباشد
|
||||||
|
/// </summary>
|
||||||
|
public string LeaveType { get; private set; }
|
||||||
|
|
||||||
|
public long CheckoutId { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -59,6 +59,16 @@ public interface ICheckoutRepository : IRepository<long, Checkout>
|
|||||||
OperationResult DeleteAllCheckouts(List<long> ids);
|
OperationResult DeleteAllCheckouts(List<long> ids);
|
||||||
OperationResult DeleteCheckout(long id);
|
OperationResult DeleteCheckout(long id);
|
||||||
List<long> CheckHasSignature(List<long> ids);
|
List<long> CheckHasSignature(List<long> ids);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست تصفیه حساب
|
||||||
|
/// جدید
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchModel"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<CheckoutViewModel>> SearchCheckoutOptimized(CheckoutSearchModel searchModel);
|
||||||
|
|
||||||
Task<List<CheckoutViewModel>> SearchForMainCheckout(CheckoutSearchModel searchModel);
|
Task<List<CheckoutViewModel>> SearchForMainCheckout(CheckoutSearchModel searchModel);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
26
Company.Domain/ContactUsAgg/ContactUs.cs
Normal file
26
Company.Domain/ContactUsAgg/ContactUs.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
using _0_Framework.Domain;
|
||||||
|
|
||||||
|
namespace Company.Domain.ContactUsAgg;
|
||||||
|
|
||||||
|
public class ContactUs:EntityBase
|
||||||
|
{
|
||||||
|
public ContactUs(string firstName, string lastName, string email, string phoneNumber, string title, string message)
|
||||||
|
{
|
||||||
|
FirstName = firstName.Trim();
|
||||||
|
LastName = lastName.Trim();
|
||||||
|
Email = email;
|
||||||
|
PhoneNumber = phoneNumber;
|
||||||
|
Title = title;
|
||||||
|
Message = message;
|
||||||
|
FullName = FirstName + " " + LastName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public string FirstName { get; private set; }
|
||||||
|
public string LastName { get; private set; }
|
||||||
|
public string Email { get; private set; }
|
||||||
|
public string PhoneNumber { get; private set; }
|
||||||
|
public string Title { get; private set; }
|
||||||
|
public string Message { get; private set; }
|
||||||
|
public string FullName { get; private set; }
|
||||||
|
|
||||||
|
}
|
||||||
8
Company.Domain/ContactUsAgg/IContactUsRepository.cs
Normal file
8
Company.Domain/ContactUsAgg/IContactUsRepository.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
using _0_Framework.Domain;
|
||||||
|
|
||||||
|
namespace Company.Domain.ContactUsAgg;
|
||||||
|
|
||||||
|
public interface IContactUsRepository : IRepository<long, ContactUs>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using AccountManagement.Application.Contracts.Account;
|
using AccountManagement.Application.Contracts.Account;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Company.Domain.ContarctingPartyAgg;
|
namespace Company.Domain.ContarctingPartyAgg;
|
||||||
|
|
||||||
@@ -42,6 +43,34 @@ public interface IPersonalContractingPartyRepository :IRepository<long, Personal
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست طرف حساب ها
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchModel"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<ICollection<ContractingPartyGetListViewModel>> GetList(ContractingPartyGetListSearchModel searchModel);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست طرف حساب برای سلکت لیست سرچ
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<ContractingPartySelectListViewModel>> GetSelectList();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیستی از شماره ملی یا شناسه ملی بر اساس حقیقی یا حقوقی بودن
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<GetContractingPartyNationalCodeOrNationalIdViewModel>> GetNationalCodeOrNationalId();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// غیرفعال کردن طرف حساب و زیرمجموعه های آن
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult<string>> DeactivateWithSubordinates(long id);
|
||||||
|
|
||||||
|
void Remove(PersonalContractingParty entity);
|
||||||
|
Task<GetRealContractingPartyDetailsViewModel> GetRealDetails(long id);
|
||||||
|
Task<GetLegalContractingPartyDetailsViewModel> GetLegalDetails(long id);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -213,4 +213,14 @@ public class PersonalContractingParty : EntityBase
|
|||||||
this.Gender = gender;
|
this.Gender = gender;
|
||||||
this.IsAuthenticated = true;
|
this.IsAuthenticated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void RegisterComplete(string fatherName, string idNumberSeri, string idNumberSerial, DateTime dateOfBirth, Gender gender)
|
||||||
|
{
|
||||||
|
this.FatherName = fatherName;
|
||||||
|
this.IdNumberSeri = idNumberSeri;
|
||||||
|
this.IdNumberSerial = idNumberSerial;
|
||||||
|
this.DateOfBirth = dateOfBirth;
|
||||||
|
this.Gender = gender;
|
||||||
|
this.IsAuthenticated = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -27,12 +27,13 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, long employeeId,
|
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, long employeeId,
|
||||||
long workshopId, double salary, long customizeWorkshopGroupSettingId,
|
long workshopId, double salary, long customizeWorkshopGroupSettingId,
|
||||||
ICollection<CustomizeWorkshopEmployeeSettingsShift> customizeWorkshopEmployeeSettingsShifts,
|
ICollection<CustomizeWorkshopEmployeeSettingsShift> customizeWorkshopEmployeeSettingsShifts,
|
||||||
FridayWork fridayWork,
|
HolidayWork holidayWork, IrregularShift irregularShift, WorkshopShiftStatus workshopShiftStatus, BreakTime breakTime,
|
||||||
HolidayWork holidayWork, IrregularShift irregularShift, WorkshopShiftStatus workshopShiftStatus, BreakTime breakTime, int leavePermittedDays, ICollection<CustomizeRotatingShift> rotatingShifts) :
|
int leavePermittedDays, ICollection<CustomizeRotatingShift> rotatingShifts
|
||||||
|
, List<WeeklyOffDay> weeklyOffDays) :
|
||||||
base(fridayPay, overTimePay,
|
base(fridayPay, overTimePay,
|
||||||
baseYearsPay, bonusesPay, nightWorkPay,
|
baseYearsPay, bonusesPay, nightWorkPay,
|
||||||
marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork,
|
marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork,
|
||||||
earlyExit, fridayWork, holidayWork, breakTime, leavePermittedDays)
|
earlyExit, holidayWork, breakTime, leavePermittedDays,weeklyOffDays)
|
||||||
{
|
{
|
||||||
CustomizeWorkshopGroupSettingId = customizeWorkshopGroupSettingId;
|
CustomizeWorkshopGroupSettingId = customizeWorkshopGroupSettingId;
|
||||||
IsSettingChanged = false;
|
IsSettingChanged = false;
|
||||||
@@ -82,7 +83,6 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
/// <param name="fineAbsenceDeduction">جریمه غیبت</param>
|
/// <param name="fineAbsenceDeduction">جریمه غیبت</param>
|
||||||
/// <param name="lateToWork">تاخیر در ورود</param>
|
/// <param name="lateToWork">تاخیر در ورود</param>
|
||||||
/// <param name="earlyExit">تعجیل درخروج</param>
|
/// <param name="earlyExit">تعجیل درخروج</param>
|
||||||
/// <param name="fridayWork">آیا در روز های جمعه موظف به کار است</param>
|
|
||||||
/// <param name="holidayWork">آیا در تعطیلات رسمی موظف به کار است</param>
|
/// <param name="holidayWork">آیا در تعطیلات رسمی موظف به کار است</param>
|
||||||
/// <param name="workshopIrregularShifts">نوع شیفت کاری </param>
|
/// <param name="workshopIrregularShifts">نوع شیفت کاری </param>
|
||||||
/// <param name="workshopShiftStatus">آیا شیفت منظم است یا نا منظم</param>
|
/// <param name="workshopShiftStatus">آیا شیفت منظم است یا نا منظم</param>
|
||||||
@@ -91,7 +91,7 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
||||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,
|
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,
|
||||||
FridayWork fridayWork, HolidayWork holidayWork, IrregularShift irregularShift, bool isSettingChange, int leavePermittedDays)
|
HolidayWork holidayWork, IrregularShift irregularShift, bool isSettingChange, int leavePermittedDays)
|
||||||
{
|
{
|
||||||
SetValueObjects(fridayPay, overTimePay, baseYearsPay, bonusesPay
|
SetValueObjects(fridayPay, overTimePay, baseYearsPay, bonusesPay
|
||||||
, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction,
|
, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction,
|
||||||
@@ -99,7 +99,6 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
Salary = salary;
|
Salary = salary;
|
||||||
IsSettingChanged = isSettingChange;
|
IsSettingChanged = isSettingChange;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
LeavePermittedDays = leavePermittedDays;
|
LeavePermittedDays = leavePermittedDays;
|
||||||
}
|
}
|
||||||
@@ -112,8 +111,8 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
public void SimpleEdit(
|
public void SimpleEdit(
|
||||||
ICollection<CustomizeWorkshopEmployeeSettingsShift> employeeSettingsShift,
|
ICollection<CustomizeWorkshopEmployeeSettingsShift> employeeSettingsShift,
|
||||||
IrregularShift irregularShift,
|
IrregularShift irregularShift,
|
||||||
WorkshopShiftStatus workshopShiftStatus, BreakTime breakTime, bool isShiftChange, FridayWork fridayWork, HolidayWork holidayWork,
|
WorkshopShiftStatus workshopShiftStatus, BreakTime breakTime, bool isShiftChange,HolidayWork holidayWork,
|
||||||
ICollection<CustomizeRotatingShift> rotatingShifts)
|
ICollection<CustomizeRotatingShift> rotatingShifts,List<WeeklyOffDay> weeklyOffDays)
|
||||||
{
|
{
|
||||||
BreakTime = new BreakTime(breakTime.HasBreakTimeValue, breakTime.BreakTimeValue);
|
BreakTime = new BreakTime(breakTime.HasBreakTimeValue, breakTime.BreakTimeValue);
|
||||||
IsShiftChanged = isShiftChange;
|
IsShiftChanged = isShiftChange;
|
||||||
@@ -126,9 +125,8 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
: new IrregularShift(irregularShift.StartTime, irregularShift.EndTime, irregularShift.WorkshopIrregularShifts);
|
: new IrregularShift(irregularShift.StartTime, irregularShift.EndTime, irregularShift.WorkshopIrregularShifts);
|
||||||
|
|
||||||
CustomizeRotatingShifts = workshopShiftStatus == WorkshopShiftStatus.Rotating ? rotatingShifts : [];
|
CustomizeRotatingShifts = workshopShiftStatus == WorkshopShiftStatus.Rotating ? rotatingShifts : [];
|
||||||
|
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
|
WeeklyOffDays = weeklyOffDays;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -269,4 +267,6 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
IsShiftChanged = isShiftChange;
|
IsShiftChanged = isShiftChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -27,11 +27,12 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay,
|
FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay,
|
||||||
BonusesPay bonusesPay, NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
BonusesPay bonusesPay, NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
||||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, FridayWork fridayWork,
|
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,
|
||||||
HolidayWork holidayWork, BreakTime breakTime, WorkshopShiftStatus workshopShiftStatus, IrregularShift irregularShift, int leavePermittedDays, ICollection<CustomizeRotatingShift> rotatingShifts) :
|
HolidayWork holidayWork, BreakTime breakTime, WorkshopShiftStatus workshopShiftStatus, IrregularShift irregularShift, int leavePermittedDays,
|
||||||
|
ICollection<CustomizeRotatingShift> rotatingShifts, List<WeeklyOffDay> weeklyOffDays) :
|
||||||
base(fridayPay, overTimePay, baseYearsPay, bonusesPay, nightWorkPay,
|
base(fridayPay, overTimePay, baseYearsPay, bonusesPay, nightWorkPay,
|
||||||
marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork,
|
marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork,
|
||||||
earlyExit, fridayWork, holidayWork, breakTime, leavePermittedDays)
|
earlyExit, holidayWork, breakTime, leavePermittedDays, weeklyOffDays)
|
||||||
{
|
{
|
||||||
GroupName = groupName;
|
GroupName = groupName;
|
||||||
Salary = salary;
|
Salary = salary;
|
||||||
@@ -76,7 +77,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
||||||
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
||||||
LateToWork lateToWork, EarlyExit earlyExit,
|
LateToWork lateToWork, EarlyExit earlyExit,
|
||||||
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts, FridayWork fridayWork,
|
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts,
|
||||||
HolidayWork holidayWork, IrregularShift irregularShift, ICollection<CustomizeRotatingShift> rotatingShifts,
|
HolidayWork holidayWork, IrregularShift irregularShift, ICollection<CustomizeRotatingShift> rotatingShifts,
|
||||||
WorkshopShiftStatus workshopShiftStatus, long customizeWorkshopSettingId, BreakTime breakTime, int leavePermittedDays)
|
WorkshopShiftStatus workshopShiftStatus, long customizeWorkshopSettingId, BreakTime breakTime, int leavePermittedDays)
|
||||||
{
|
{
|
||||||
@@ -96,7 +97,6 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
FineAbsenceDeduction = fineAbsenceDeduction;
|
FineAbsenceDeduction = fineAbsenceDeduction;
|
||||||
LateToWork = lateToWork;
|
LateToWork = lateToWork;
|
||||||
EarlyExit = earlyExit;
|
EarlyExit = earlyExit;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
LeavePermittedDays = leavePermittedDays;
|
LeavePermittedDays = leavePermittedDays;
|
||||||
CustomizeWorkshopGroupSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopGroupSettingsShifts : [];
|
CustomizeWorkshopGroupSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopGroupSettingsShifts : [];
|
||||||
@@ -123,7 +123,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, ShiftPay shiftPay,
|
OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, ShiftPay shiftPay,
|
||||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
||||||
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
||||||
LateToWork lateToWork, EarlyExit earlyExit, FridayWork fridayWork, HolidayWork holidayWork, bool isSettingChange, int leavePermittedDays)
|
LateToWork lateToWork, EarlyExit earlyExit, HolidayWork holidayWork, bool isSettingChange, int leavePermittedDays)
|
||||||
{
|
{
|
||||||
GroupName = groupName;
|
GroupName = groupName;
|
||||||
Salary = salary;
|
Salary = salary;
|
||||||
@@ -140,7 +140,6 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
FineAbsenceDeduction = fineAbsenceDeduction;
|
FineAbsenceDeduction = fineAbsenceDeduction;
|
||||||
LateToWork = lateToWork;
|
LateToWork = lateToWork;
|
||||||
EarlyExit = earlyExit;
|
EarlyExit = earlyExit;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
IsSettingChange = isSettingChange;
|
IsSettingChange = isSettingChange;
|
||||||
LeavePermittedDays = leavePermittedDays;
|
LeavePermittedDays = leavePermittedDays;
|
||||||
@@ -154,7 +153,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
{
|
{
|
||||||
item.EditEmployees(Salary, FridayPay, OverTimePay, BaseYearsPay, BonusesPay
|
item.EditEmployees(Salary, FridayPay, OverTimePay, BaseYearsPay, BonusesPay
|
||||||
, NightWorkPay, MarriedAllowance, ShiftPay, FamilyAllowance, LeavePay, InsuranceDeduction, FineAbsenceDeduction,
|
, NightWorkPay, MarriedAllowance, ShiftPay, FamilyAllowance, LeavePay, InsuranceDeduction, FineAbsenceDeduction,
|
||||||
LateToWork, EarlyExit, FridayWork, HolidayWork, IrregularShift, false, leavePermittedDays);
|
LateToWork, EarlyExit, HolidayWork, IrregularShift, false, leavePermittedDays);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void EditAndOverwriteOnAllEmployees(string groupName, double salary,
|
public void EditAndOverwriteOnAllEmployees(string groupName, double salary,
|
||||||
@@ -162,14 +161,13 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, ShiftPay shiftPay,
|
OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay, ShiftPay shiftPay,
|
||||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, FamilyAllowance familyAllowance,
|
||||||
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
LeavePay leavePay, InsuranceDeduction insuranceDeduction, FineAbsenceDeduction fineAbsenceDeduction,
|
||||||
LateToWork lateToWork, EarlyExit earlyExit, FridayWork fridayWork, HolidayWork holidayWork, bool isSettingChange, int leavePermittedDays)
|
LateToWork lateToWork, EarlyExit earlyExit, HolidayWork holidayWork, bool isSettingChange, int leavePermittedDays)
|
||||||
{
|
{
|
||||||
SetValueObjects(fridayPay, overTimePay, baseYearsPay, bonusesPay
|
SetValueObjects(fridayPay, overTimePay, baseYearsPay, bonusesPay
|
||||||
, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction,
|
, nightWorkPay, marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction,
|
||||||
lateToWork, earlyExit);
|
lateToWork, earlyExit);
|
||||||
GroupName = groupName;
|
GroupName = groupName;
|
||||||
Salary = salary;
|
Salary = salary;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
IsSettingChange = isSettingChange;
|
IsSettingChange = isSettingChange;
|
||||||
LeavePermittedDays = leavePermittedDays;
|
LeavePermittedDays = leavePermittedDays;
|
||||||
@@ -182,7 +180,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
{
|
{
|
||||||
item.EditEmployees(Salary, FridayPay, OverTimePay, BaseYearsPay, BonusesPay
|
item.EditEmployees(Salary, FridayPay, OverTimePay, BaseYearsPay, BonusesPay
|
||||||
, NightWorkPay, MarriedAllowance, ShiftPay, FamilyAllowance, LeavePay, InsuranceDeduction, FineAbsenceDeduction,
|
, NightWorkPay, MarriedAllowance, ShiftPay, FamilyAllowance, LeavePay, InsuranceDeduction, FineAbsenceDeduction,
|
||||||
LateToWork, EarlyExit, FridayWork, HolidayWork, IrregularShift, false, leavePermittedDays);
|
LateToWork, EarlyExit, HolidayWork, IrregularShift, false, leavePermittedDays);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +193,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
public void EditSimpleAndOverwriteOnEmployee(string groupName, IEnumerable<long> employeeIds,
|
public void EditSimpleAndOverwriteOnEmployee(string groupName, IEnumerable<long> employeeIds,
|
||||||
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts, WorkshopShiftStatus workshopShiftStatus,
|
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts, WorkshopShiftStatus workshopShiftStatus,
|
||||||
IrregularShift irregularShift, BreakTime breakTime, bool isShiftChange, FridayWork fridayWork, HolidayWork holidayWork, ICollection<CustomizeRotatingShift> rotatingShifts)
|
IrregularShift irregularShift, BreakTime breakTime, bool isShiftChange, HolidayWork holidayWork, ICollection<CustomizeRotatingShift> rotatingShifts, List<WeeklyOffDay> weeklyOffDays)
|
||||||
{
|
{
|
||||||
GroupName = groupName;
|
GroupName = groupName;
|
||||||
CustomizeWorkshopGroupSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopGroupSettingsShifts : [];
|
CustomizeWorkshopGroupSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopGroupSettingsShifts : [];
|
||||||
@@ -209,9 +207,11 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
BreakTime = new BreakTime(breakTime.HasBreakTimeValue, breakTime.BreakTimeValue);
|
BreakTime = new BreakTime(breakTime.HasBreakTimeValue, breakTime.BreakTimeValue);
|
||||||
IsShiftChange = isShiftChange;
|
IsShiftChange = isShiftChange;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
|
|
||||||
|
WeeklyOffDays = weeklyOffDays;
|
||||||
|
|
||||||
//var employeeSettingsShift = customizeWorkshopGroupSettingsShifts
|
//var employeeSettingsShift = customizeWorkshopGroupSettingsShifts
|
||||||
// .Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
// .Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||||
if (isShiftChange)
|
if (isShiftChange)
|
||||||
@@ -223,11 +223,12 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
foreach (var item in permittedToOverWrite)
|
foreach (var item in permittedToOverWrite)
|
||||||
{
|
{
|
||||||
|
var employeeWeeklyOffDays = WeeklyOffDays.Select(x => new WeeklyOffDay(x.DayOfWeek)).ToList();
|
||||||
var newRotatingShifts = CustomizeRotatingShifts.Select(x => new CustomizeRotatingShift(x.StartTime, x.EndTime))
|
var newRotatingShifts = CustomizeRotatingShifts.Select(x => new CustomizeRotatingShift(x.StartTime, x.EndTime))
|
||||||
.ToList();
|
.ToList();
|
||||||
item.SimpleEdit(customizeWorkshopGroupSettingsShifts
|
item.SimpleEdit(customizeWorkshopGroupSettingsShifts
|
||||||
.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(),
|
.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(),
|
||||||
IrregularShift, WorkshopShiftStatus, BreakTime, false, FridayWork, HolidayWork, newRotatingShifts);
|
IrregularShift, WorkshopShiftStatus, BreakTime, false, HolidayWork, newRotatingShifts, employeeWeeklyOffDays);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -235,7 +236,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
public void EditSimpleAndOverwriteOnAllEmployees(string groupName,
|
public void EditSimpleAndOverwriteOnAllEmployees(string groupName,
|
||||||
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts,
|
ICollection<CustomizeWorkshopGroupSettingsShift> customizeWorkshopGroupSettingsShifts,
|
||||||
WorkshopShiftStatus workshopShiftStatus, IrregularShift irregularShift, BreakTime breakTime, bool isShiftChange,
|
WorkshopShiftStatus workshopShiftStatus, IrregularShift irregularShift, BreakTime breakTime, bool isShiftChange,
|
||||||
FridayWork fridayWork, HolidayWork holidayWork, ICollection<CustomizeRotatingShift> rotatingShifts)
|
HolidayWork holidayWork, ICollection<CustomizeRotatingShift> rotatingShifts, List<WeeklyOffDay> weeklyOffDays)
|
||||||
{
|
{
|
||||||
GroupName = groupName;
|
GroupName = groupName;
|
||||||
CustomizeWorkshopGroupSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopGroupSettingsShifts : [];
|
CustomizeWorkshopGroupSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopGroupSettingsShifts : [];
|
||||||
@@ -251,18 +252,20 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
BreakTime = new BreakTime(breakTime.HasBreakTimeValue, breakTime.BreakTimeValue);
|
BreakTime = new BreakTime(breakTime.HasBreakTimeValue, breakTime.BreakTimeValue);
|
||||||
IsShiftChange = isShiftChange;
|
IsShiftChange = isShiftChange;
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
FridayWork = fridayWork;
|
|
||||||
|
|
||||||
|
WeeklyOffDays = weeklyOffDays;
|
||||||
//var employeeSettingsShift = customizeWorkshopGroupSettingsShifts
|
//var employeeSettingsShift = customizeWorkshopGroupSettingsShifts
|
||||||
// .Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
// .Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList();
|
||||||
|
|
||||||
|
|
||||||
foreach (var item in CustomizeWorkshopEmployeeSettingsCollection)
|
foreach (var item in CustomizeWorkshopEmployeeSettingsCollection)
|
||||||
{
|
{
|
||||||
|
var employeeWeeklyOffDays = WeeklyOffDays.Select(x => new WeeklyOffDay(x.DayOfWeek)).ToList();
|
||||||
var newRotatingShifts = CustomizeRotatingShifts.Select(x => new CustomizeRotatingShift(x.StartTime, x.EndTime))
|
var newRotatingShifts = CustomizeRotatingShifts.Select(x => new CustomizeRotatingShift(x.StartTime, x.EndTime))
|
||||||
.ToList();
|
.ToList();
|
||||||
item.SimpleEdit(customizeWorkshopGroupSettingsShifts
|
item.SimpleEdit(customizeWorkshopGroupSettingsShifts
|
||||||
.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(),
|
.Select(x => new CustomizeWorkshopEmployeeSettingsShift(x.StartTime, x.EndTime, x.Placement)).ToList(),
|
||||||
irregularShift, workshopShiftStatus, breakTime, false, FridayWork, HolidayWork, newRotatingShifts);
|
irregularShift, workshopShiftStatus, breakTime, false, HolidayWork, newRotatingShifts, employeeWeeklyOffDays);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -298,13 +301,14 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
IrregularShift irregularShift = new(IrregularShift.StartTime, IrregularShift.EndTime,
|
IrregularShift irregularShift = new(IrregularShift.StartTime, IrregularShift.EndTime,
|
||||||
IrregularShift.WorkshopIrregularShifts);
|
IrregularShift.WorkshopIrregularShifts);
|
||||||
BreakTime breakTime = new(BreakTime.HasBreakTimeValue, BreakTime.BreakTimeValue);
|
BreakTime breakTime = new(BreakTime.HasBreakTimeValue, BreakTime.BreakTimeValue);
|
||||||
|
List<WeeklyOffDay> weeklyOffDays = WeeklyOffDays.Select(x => new WeeklyOffDay(x.DayOfWeek)).ToList();
|
||||||
|
|
||||||
var rotatingShift = CustomizeRotatingShifts.Select(x => new CustomizeRotatingShift(x.StartTime, x.EndTime)).ToList();
|
var rotatingShift = CustomizeRotatingShifts.Select(x => new CustomizeRotatingShift(x.StartTime, x.EndTime)).ToList();
|
||||||
|
|
||||||
var customizeWorkshopEmployeeSettings = new CustomizeWorkshopEmployeeSettings(fridayPay, overTimePay, baseYearsPay, bonusesPay, nightWorkPay,
|
var customizeWorkshopEmployeeSettings = new CustomizeWorkshopEmployeeSettings(fridayPay, overTimePay, baseYearsPay, bonusesPay, nightWorkPay,
|
||||||
marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork,
|
marriedAllowance, shiftPay, familyAllowance, leavePay, insuranceDeduction, fineAbsenceDeduction, lateToWork,
|
||||||
earlyExit, employeeId, workshopId, Salary, id, shifts, FridayWork, HolidayWork, irregularShift,
|
earlyExit, employeeId, workshopId, Salary, id, shifts, HolidayWork, irregularShift,
|
||||||
WorkshopShiftStatus, breakTime, LeavePermittedDays, rotatingShift);
|
WorkshopShiftStatus, breakTime, LeavePermittedDays, rotatingShift, weeklyOffDays);
|
||||||
|
|
||||||
CustomizeWorkshopEmployeeSettingsCollection.Add(customizeWorkshopEmployeeSettings);
|
CustomizeWorkshopEmployeeSettingsCollection.Add(customizeWorkshopEmployeeSettings);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class CustomizeWorkshopSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
public CustomizeWorkshopSettings(long workshopId,
|
public CustomizeWorkshopSettings(long workshopId,
|
||||||
ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts, int leavePermittedDays,
|
ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts, int leavePermittedDays,
|
||||||
WorkshopShiftStatus workshopShiftStatus,FridayWork fridayWork,HolidayWork holidayWork)
|
WorkshopShiftStatus workshopShiftStatus,HolidayWork holidayWork, List<WeeklyOffDay> weeklyOffDays)
|
||||||
{
|
{
|
||||||
FridayPay = new FridayPay(FridayPayType.None, 0);
|
FridayPay = new FridayPay(FridayPayType.None, 0);
|
||||||
OverTimePay = new OverTimePay(OverTimePayType.None, 0);
|
OverTimePay = new OverTimePay(OverTimePayType.None, 0);
|
||||||
@@ -38,11 +38,10 @@ public class CustomizeWorkshopSettings : BaseCustomizeEntity
|
|||||||
OverTimeThresholdMinute = 0;
|
OverTimeThresholdMinute = 0;
|
||||||
Currency = Currency.Rial;
|
Currency = Currency.Rial;
|
||||||
MaxMonthDays = MaxMonthDays.Default;
|
MaxMonthDays = MaxMonthDays.Default;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
|
||||||
BonusesPaysInEndOfMonth = BonusesPaysInEndOfYear.EndOfYear;
|
BonusesPaysInEndOfMonth = BonusesPaysInEndOfYear.EndOfYear;
|
||||||
WorkshopShiftStatus = workshopShiftStatus;
|
WorkshopShiftStatus = workshopShiftStatus;
|
||||||
|
WeeklyOffDays = weeklyOffDays;
|
||||||
|
HolidayWork = holidayWork;
|
||||||
if (workshopShiftStatus == WorkshopShiftStatus.Irregular)
|
if (workshopShiftStatus == WorkshopShiftStatus.Irregular)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -92,8 +91,7 @@ public class CustomizeWorkshopSettings : BaseCustomizeEntity
|
|||||||
public void Edit(FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay,
|
public void Edit(FridayPay fridayPay, OverTimePay overTimePay, BaseYearsPay baseYearsPay, BonusesPay bonusesPay,
|
||||||
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
NightWorkPay nightWorkPay, MarriedAllowance marriedAllowance, ShiftPay shiftPay,
|
||||||
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
FamilyAllowance familyAllowance, LeavePay leavePay, InsuranceDeduction insuranceDeduction,
|
||||||
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit,
|
FineAbsenceDeduction fineAbsenceDeduction, LateToWork lateToWork, EarlyExit earlyExit, HolidayWork holidayWork, BonusesPaysInEndOfYear bonusesPaysInEndOfYear,
|
||||||
FridayWork fridayWork, HolidayWork holidayWork, BonusesPaysInEndOfYear bonusesPaysInEndOfYear,
|
|
||||||
int leavePermittedDays, BaseYearsPayInEndOfYear baseYearsPayInEndOfYear, int overTimeThresholdMinute)
|
int leavePermittedDays, BaseYearsPayInEndOfYear baseYearsPayInEndOfYear, int overTimeThresholdMinute)
|
||||||
{
|
{
|
||||||
FridayPay = fridayPay;
|
FridayPay = fridayPay;
|
||||||
@@ -109,7 +107,6 @@ public class CustomizeWorkshopSettings : BaseCustomizeEntity
|
|||||||
FineAbsenceDeduction = fineAbsenceDeduction;
|
FineAbsenceDeduction = fineAbsenceDeduction;
|
||||||
LateToWork = lateToWork;
|
LateToWork = lateToWork;
|
||||||
EarlyExit = earlyExit;
|
EarlyExit = earlyExit;
|
||||||
FridayWork = fridayWork;
|
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
BonusesPaysInEndOfMonth = bonusesPaysInEndOfYear;
|
BonusesPaysInEndOfMonth = bonusesPaysInEndOfYear;
|
||||||
LeavePermittedDays = leavePermittedDays;
|
LeavePermittedDays = leavePermittedDays;
|
||||||
@@ -127,19 +124,18 @@ public class CustomizeWorkshopSettings : BaseCustomizeEntity
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void ChangeWorkshopShifts(ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts,
|
public void ChangeWorkshopShifts(ICollection<CustomizeWorkshopSettingsShift> customizeWorkshopSettingsShifts,
|
||||||
WorkshopShiftStatus workshopShiftStatus,FridayWork fridayWork,HolidayWork holidayWork)
|
WorkshopShiftStatus workshopShiftStatus,HolidayWork holidayWork, List<WeeklyOffDay> weeklyOffDays)
|
||||||
{
|
{
|
||||||
WorkshopShiftStatus = workshopShiftStatus;
|
WorkshopShiftStatus = workshopShiftStatus;
|
||||||
HolidayWork = holidayWork;
|
HolidayWork = holidayWork;
|
||||||
FridayWork = fridayWork;
|
|
||||||
CustomizeWorkshopSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopSettingsShifts : new List<CustomizeWorkshopSettingsShift>();
|
CustomizeWorkshopSettingsShifts = workshopShiftStatus == WorkshopShiftStatus.Regular ? customizeWorkshopSettingsShifts : new List<CustomizeWorkshopSettingsShift>();
|
||||||
|
WeeklyOffDays = weeklyOffDays;
|
||||||
|
|
||||||
if (workshopShiftStatus == WorkshopShiftStatus.Regular)
|
if (workshopShiftStatus == WorkshopShiftStatus.Regular)
|
||||||
{
|
{
|
||||||
var date = new DateOnly();
|
var date = new DateOnly();
|
||||||
var firstStartShift = new DateTime(date, CustomizeWorkshopSettingsShifts.MinBy(x => x.Placement).StartTime);
|
var firstStartShift = new DateTime(date, CustomizeWorkshopSettingsShifts.MinBy(x => x.Placement).StartTime);
|
||||||
var lastEndShift = new DateTime(date, CustomizeWorkshopSettingsShifts.MaxBy(x => x.Placement).EndTime);
|
var lastEndShift = new DateTime(date, CustomizeWorkshopSettingsShifts.MaxBy(x => x.Placement).EndTime);
|
||||||
|
|
||||||
|
|
||||||
if (lastEndShift > firstStartShift)
|
if (lastEndShift > firstStartShift)
|
||||||
firstStartShift = firstStartShift.AddDays(1);
|
firstStartShift = firstStartShift.AddDays(1);
|
||||||
var offSet = (firstStartShift - lastEndShift).Divide(2);
|
var offSet = (firstStartShift - lastEndShift).Divide(2);
|
||||||
|
|||||||
@@ -73,5 +73,10 @@ public interface IEmployeeRepository : IRepository<long, Employee>
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Api
|
||||||
|
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText);
|
||||||
|
Task<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
|
|
||||||
namespace Company.Domain.EmployeeComputeOptionsAgg
|
namespace Company.Domain.EmployeeComputeOptionsAgg
|
||||||
@@ -10,13 +11,15 @@ namespace Company.Domain.EmployeeComputeOptionsAgg
|
|||||||
public class EmployeeComputeOptions : EntityBase
|
public class EmployeeComputeOptions : EntityBase
|
||||||
{
|
{
|
||||||
public EmployeeComputeOptions(long workshopId, long employeeId, string computeOptions, string bonusesOptions, string yearsOptions,
|
public EmployeeComputeOptions(long workshopId, long employeeId, string computeOptions, string bonusesOptions, string yearsOptions,
|
||||||
bool createContract, bool signContract, bool createCheckout, bool signCheckout)
|
bool createContract, bool signContract, bool createCheckout, bool signCheckout, string contractTerm, IsActive cutContractEndOfYear)
|
||||||
{
|
{
|
||||||
WorkshopId = workshopId;
|
WorkshopId = workshopId;
|
||||||
EmployeeId = employeeId;
|
EmployeeId = employeeId;
|
||||||
ComputeOptions = computeOptions;
|
ComputeOptions = computeOptions;
|
||||||
BonusesOptions = bonusesOptions;
|
BonusesOptions = bonusesOptions;
|
||||||
YearsOptions = yearsOptions;
|
YearsOptions = yearsOptions;
|
||||||
|
ContractTerm = contractTerm;
|
||||||
|
CutContractEndOfYear = contractTerm == "1" ? IsActive.None : cutContractEndOfYear;
|
||||||
|
|
||||||
SetContractAndCheckoutOptions(createContract, signContract, createCheckout, signCheckout);
|
SetContractAndCheckoutOptions(createContract, signContract, createCheckout, signCheckout);
|
||||||
}
|
}
|
||||||
@@ -51,12 +54,30 @@ namespace Company.Domain.EmployeeComputeOptionsAgg
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SignCheckout { get; private set; }
|
public bool SignCheckout { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدت قرارداد
|
||||||
|
/// </summary>
|
||||||
|
public string ContractTerm { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اگر قرارداد بیش از یک ماه باشد و گزینه انتخاب شده منتهی به پایان سال باشد
|
||||||
|
/// این آیتم
|
||||||
|
/// True
|
||||||
|
/// است
|
||||||
|
/// </summary>
|
||||||
|
public IsActive CutContractEndOfYear { get; private set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void Edit(string computeOptions, string bonusesOptions, string yearsOptions, bool createContract, bool signContract, bool createCheckout,
|
public void Edit(string computeOptions, string bonusesOptions, string yearsOptions, bool createContract, bool signContract, bool createCheckout,
|
||||||
bool signCheckout)
|
bool signCheckout, string contractTerm, IsActive cutContractEndOfYear)
|
||||||
{
|
{
|
||||||
ComputeOptions = computeOptions;
|
ComputeOptions = computeOptions;
|
||||||
BonusesOptions = bonusesOptions;
|
BonusesOptions = bonusesOptions;
|
||||||
YearsOptions = yearsOptions;
|
YearsOptions = yearsOptions;
|
||||||
|
|
||||||
|
ContractTerm = contractTerm;
|
||||||
|
CutContractEndOfYear = contractTerm == "1" ? IsActive.None : cutContractEndOfYear;
|
||||||
SetContractAndCheckoutOptions(createContract, signContract, createCheckout, signCheckout);
|
SetContractAndCheckoutOptions(createContract, signContract, createCheckout, signCheckout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,4 +13,8 @@ public interface IFinancialStatmentRepository : IRepository<long, FinancialStatm
|
|||||||
|
|
||||||
FinancialStatmentViewModel GetDetailsByContractingPartyId(long contractingPartyId);
|
FinancialStatmentViewModel GetDetailsByContractingPartyId(long contractingPartyId);
|
||||||
List<FinancialStatmentViewModel> Search(FinancialStatmentSearchModel searchModel);
|
List<FinancialStatmentViewModel> Search(FinancialStatmentSearchModel searchModel);
|
||||||
|
Task<ClientFinancialStatementViewModel> GetClientFinancialStatement(long accountId,
|
||||||
|
ClientFinancialStatementSearchModel searchModel);
|
||||||
|
|
||||||
|
Task<double> GetClientDebtAmount(long accountId);
|
||||||
}
|
}
|
||||||
@@ -13,7 +13,8 @@ public interface IInstitutionContractRepository : IRepository<long, InstitutionC
|
|||||||
|
|
||||||
EditInstitutionContract GetDetails(long id);
|
EditInstitutionContract GetDetails(long id);
|
||||||
EditInstitutionContract GetFirstContract(long contractingPartyId, string typeOfContract);
|
EditInstitutionContract GetFirstContract(long contractingPartyId, string typeOfContract);
|
||||||
|
List<InstitutionContractViewModel> InstitutionContractsWithoutAccount();
|
||||||
|
List<InstitutionContractViewModel> ContractWithoutValidContactInfo();
|
||||||
List<InstitutionContractViewModel> Search(InstitutionContractSearchModel searchModel);
|
List<InstitutionContractViewModel> Search(InstitutionContractSearchModel searchModel);
|
||||||
List<InstitutionContractViewModel> NewSearch(InstitutionContractSearchModel searchModel);
|
List<InstitutionContractViewModel> NewSearch(InstitutionContractSearchModel searchModel);
|
||||||
List<InstitutionContractViewModel> PrintAll(List<long> id);
|
List<InstitutionContractViewModel> PrintAll(List<long> id);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using _0_Framework.Application;
|
|||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using CompanyManagment.App.Contracts.LeftWork;
|
using CompanyManagment.App.Contracts.LeftWork;
|
||||||
using CompanyManagment.App.Contracts.PersonnleCode;
|
using CompanyManagment.App.Contracts.PersonnleCode;
|
||||||
|
using CompanyManagment.App.Contracts.Workshop.DTOs;
|
||||||
|
|
||||||
namespace Company.Domain.LeftWorkAgg;
|
namespace Company.Domain.LeftWorkAgg;
|
||||||
|
|
||||||
@@ -46,4 +47,11 @@ public interface ILeftWorkRepository : IRepository<long, LeftWork>
|
|||||||
|
|
||||||
Task<LeftWork> GetLastLeftWork(long employeeId, long workshopId);
|
Task<LeftWork> GetLastLeftWork(long employeeId, long workshopId);
|
||||||
List<LeftWorkViewModel> SearchCreateContract(LeftWorkSearchModel searchModel);
|
List<LeftWorkViewModel> SearchCreateContract(LeftWorkSearchModel searchModel);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// دریافت اطلاعات کارگاه و پرسنل برای ایجاد قرارداد
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="workshopId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
AutoExtensionDto AutoExtentionEmployees(long workshopId);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using _0_Framework.Domain;
|
||||||
|
using CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
namespace Company.Domain.PaymentTransactionAgg;
|
||||||
|
|
||||||
|
public interface IPaymentTransactionRepository:IRepository<long,PaymentTransaction>
|
||||||
|
{
|
||||||
|
Task<List<GetPaymentTransactionListViewModel>> GetPaymentTransactionList(
|
||||||
|
GetPaymentTransactionListSearchModel searchModel);
|
||||||
|
}
|
||||||
104
Company.Domain/PaymentTransactionAgg/PaymentTransaction.cs
Normal file
104
Company.Domain/PaymentTransactionAgg/PaymentTransaction.cs
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
using System;
|
||||||
|
using _0_Framework.Domain;
|
||||||
|
using CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
namespace Company.Domain.PaymentTransactionAgg
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// نمایانگر یک تراکنش پرداخت شامل جزئیات طرف قرارداد، اطلاعات بانکی، وضعیت تراکنش و مبلغ.
|
||||||
|
/// </summary>
|
||||||
|
public class PaymentTransaction:EntityBase
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// سازنده کلاس PaymentTransaction با دریافت اطلاعات تراکنش.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="contractingPartyId">شناسه طرف قرارداد</param>
|
||||||
|
/// <param name="bankAccountHolderName">نام صاحب حساب بانکی</param>
|
||||||
|
/// <param name="bankName">نام بانک</param>
|
||||||
|
/// <param name="cardNumber">شماره کارت</param>
|
||||||
|
/// <param name="shebaNumber">شماره شبا</param>
|
||||||
|
/// <param name="accountNumber">شماره حساب بانکی</param>
|
||||||
|
/// <param name="status">وضعیت تراکنش پرداخت</param>
|
||||||
|
/// <param name="amount">مبلغ تراکنش</param>
|
||||||
|
/// <param name="transactionId">شناسه یکتای تراکنش</param>
|
||||||
|
/// <param name="contractingPartyName"></param>
|
||||||
|
public PaymentTransaction(long contractingPartyId,
|
||||||
|
string bankAccountHolderName,
|
||||||
|
string bankName,
|
||||||
|
string cardNumber,
|
||||||
|
string shebaNumber,
|
||||||
|
string accountNumber,
|
||||||
|
PaymentTransactionStatus status,
|
||||||
|
double amount,
|
||||||
|
string transactionId,
|
||||||
|
string contractingPartyName)
|
||||||
|
{
|
||||||
|
TransactionDate = DateTime.Now;
|
||||||
|
ContractingPartyId = contractingPartyId;
|
||||||
|
BankAccountHolderName = bankAccountHolderName;
|
||||||
|
BankName = bankName;
|
||||||
|
CardNumber = cardNumber;
|
||||||
|
ShebaNumber = shebaNumber;
|
||||||
|
AccountNumber = accountNumber;
|
||||||
|
Status = status;
|
||||||
|
Amount = amount;
|
||||||
|
TransactionId = transactionId;
|
||||||
|
ContractingPartyName = contractingPartyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ و زمان انجام پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public DateTime TransactionDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام صاحب حساب بانکی
|
||||||
|
/// </summary>
|
||||||
|
public string BankAccountHolderName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام بانک
|
||||||
|
/// </summary>
|
||||||
|
public string BankName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره کارت
|
||||||
|
/// </summary>
|
||||||
|
public string CardNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شبا
|
||||||
|
/// </summary>
|
||||||
|
public string ShebaNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره حساب بانکی
|
||||||
|
/// </summary>
|
||||||
|
public string AccountNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت تراکنش پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public PaymentTransactionStatus Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مبلغ تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public double Amount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه یکتای تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public string TransactionId { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using CompanyManagment.App.Contracts.PersonalContractingParty;
|
using CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
@@ -20,4 +21,10 @@ public interface IRepresentativeRepository : IRepository<long, Representative>
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Api
|
||||||
|
Task<ICollection<RepresentativeGetListViewModel>> GetList(RepresentativeGetListSearchModel searchModel);
|
||||||
|
bool HasAnyContractingParty(long id);
|
||||||
|
Task<List<GetSelectListRepresentativeViewModel>> GetSelectList();
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,7 @@ namespace Company.Domain.RollCallAgg;
|
|||||||
|
|
||||||
public interface IRollCallMandatoryRepository : IRepository<long, RollCall>
|
public interface IRollCallMandatoryRepository : IRepository<long, RollCall>
|
||||||
{
|
{
|
||||||
ComputingViewModel MandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd, CreateWorkingHoursTemp command, bool holidayWorking, bool isStaticCheckout);
|
ComputingViewModel MandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd, CreateWorkingHoursTemp command, bool holidayWorking, bool isStaticCheckout, bool rotatingShiftCompute);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// محاسبه ساعات کارکرد پرسنل در صورت داشتن حضور غیاب
|
/// محاسبه ساعات کارکرد پرسنل در صورت داشتن حضور غیاب
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using _0_Framework_b.Domain;
|
using _0_Framework_b.Domain;
|
||||||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||||
|
|
||||||
@@ -15,4 +16,11 @@ public interface IInstitutionContractTempRepository : IRepository<long, Institut
|
|||||||
/// <param name="contractingPartyId"></param>
|
/// <param name="contractingPartyId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<InstitutionContractTempViewModel> GetInstitutionContractTemp(long id,long contractingPartyTempId);
|
Task<InstitutionContractTempViewModel> GetInstitutionContractTemp(long id,long contractingPartyTempId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// دریافت لیست طرف حساب هایی که ثبت نام آنها تکمیل شده
|
||||||
|
/// جهت نمایش در کارپوشه
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<RegistrationWorkflowMainList>> GetAllCompletedRegistration();
|
||||||
}
|
}
|
||||||
@@ -14,5 +14,7 @@ public interface IWorkshopTempRepository : IRepository<long, WorkshopTemp>
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<List<WorkshopTempViewModel>> GetWorkshopTemp(long contractingPartyTemp);
|
Task<List<WorkshopTempViewModel>> GetWorkshopTemp(long contractingPartyTemp);
|
||||||
|
|
||||||
|
System.Threading.Tasks.Task RemoveWorkshopTemps(List<long> workshopTempIds);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -34,12 +34,14 @@ public class InstitutionContractTemp : EntityBase
|
|||||||
/// بصورت یکجا
|
/// بصورت یکجا
|
||||||
/// -
|
/// -
|
||||||
/// بصئورت ماهیانه
|
/// بصئورت ماهیانه
|
||||||
|
/// OneTime
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string PaymentModel { get; private set; }
|
public string PaymentModel { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// مدت قرارداد
|
/// مدت قرارداد
|
||||||
/// چند ماهه؟
|
/// چند ماهه؟
|
||||||
|
/// "12"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string PeriodModel { get; private set; }
|
public string PeriodModel { get; private set; }
|
||||||
|
|
||||||
@@ -129,6 +131,9 @@ public class InstitutionContractTemp : EntityBase
|
|||||||
VerifyCodeEndTime = verifyCodeEndTime;
|
VerifyCodeEndTime = verifyCodeEndTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ChangeRegistrationStatus(string registrationStatus)
|
||||||
|
{
|
||||||
|
RegistrationStatus = registrationStatus;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -78,22 +78,12 @@ public class Workshop : EntityBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//public Workshop()
|
|
||||||
//{
|
|
||||||
// Contracts2 = new List<Contract>();
|
|
||||||
// WorkshopEmployers = new List<WorkshopEmployer>();
|
|
||||||
// LeftWorks = new List<LeftWork>();
|
|
||||||
// LeftWorkInsurances = new List<LeftWorkInsurance>();
|
|
||||||
// EmployersList = new List<Employer>();
|
|
||||||
// WorkshopEmployers = new List<WorkshopEmployer>();
|
|
||||||
// EmployersList = new List<Employer>();
|
|
||||||
// PersonnelCodeList = new List<PersonnelCodeDomain>();
|
|
||||||
//}
|
|
||||||
public Workshop(string workshopName,string workshopSureName, string insuranceCode, string typeOfOwnership, string archiveCode, string agentName, string agentPhone,
|
public Workshop(string workshopName,string workshopSureName, string insuranceCode, string typeOfOwnership, string archiveCode, string agentName, string agentPhone,
|
||||||
string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm,
|
string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm,
|
||||||
string agreementNumber, bool fixedSalary, string population,long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay, bool totalPaymentHide,
|
string agreementNumber, bool fixedSalary, string population,long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay, bool totalPaymentHide,
|
||||||
bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking,
|
bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking,
|
||||||
bool insuranceCheckoutOvertime, bool insuranceCheckoutFamilyAllowance, bool createContract, bool signContract, bool createCheckout, bool signCheckout, IsActive cutContractEndOfYear)
|
bool insuranceCheckoutOvertime, bool insuranceCheckoutFamilyAllowance, bool createContract, bool signContract, bool createCheckout, bool signCheckout, IsActive cutContractEndOfYear, bool rotatingShiftCompute, bool isStaticCheckout)
|
||||||
{
|
{
|
||||||
WorkshopName = workshopName;
|
WorkshopName = workshopName;
|
||||||
WorkshopSureName = workshopSureName;
|
WorkshopSureName = workshopSureName;
|
||||||
@@ -142,6 +132,8 @@ public class Workshop : EntityBase
|
|||||||
CreateCheckout = createCheckout;
|
CreateCheckout = createCheckout;
|
||||||
SignCheckout = signCheckout;
|
SignCheckout = signCheckout;
|
||||||
CutContractEndOfYear = cutContractEndOfYear;
|
CutContractEndOfYear = cutContractEndOfYear;
|
||||||
|
RotatingShiftCompute = rotatingShiftCompute;
|
||||||
|
IsStaticCheckout = isStaticCheckout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -231,6 +223,16 @@ public class Workshop : EntityBase
|
|||||||
public IsActive CutContractEndOfYear { get; private set; }
|
public IsActive CutContractEndOfYear { get; private set; }
|
||||||
//public Employer Employer { get; private set; }
|
//public Employer Employer { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محاسبه نوبت کاری در فیش حقوقی
|
||||||
|
/// </summary>
|
||||||
|
public bool RotatingShiftCompute { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تصفیه حساب بصورت استاتیک محاصبه شود
|
||||||
|
/// </summary>
|
||||||
|
public bool IsStaticCheckout { get; private set; }
|
||||||
|
|
||||||
public Workshop()
|
public Workshop()
|
||||||
{
|
{
|
||||||
RollCallServicesList = new List<RollCallService>();
|
RollCallServicesList = new List<RollCallService>();
|
||||||
@@ -262,7 +264,7 @@ public class Workshop : EntityBase
|
|||||||
string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm,
|
string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm,
|
||||||
string agreementNumber, bool fixedSalary, string population, long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay,
|
string agreementNumber, bool fixedSalary, string population, long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay,
|
||||||
bool totalPaymentHide, bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking,
|
bool totalPaymentHide, bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking,
|
||||||
bool insuranceCheckoutOvertime, bool insuranceCheckoutFamilyAllowance, bool createContract, bool signContract, bool createCheckout, bool signCheckout, IsActive cutContractEndOfYear)
|
bool insuranceCheckoutOvertime, bool insuranceCheckoutFamilyAllowance, bool createContract, bool signContract, bool createCheckout, bool signCheckout, IsActive cutContractEndOfYear, bool rotatingShiftCompute, bool isStaticCheckout)
|
||||||
{
|
{
|
||||||
WorkshopName = workshopName;
|
WorkshopName = workshopName;
|
||||||
WorkshopSureName = workshopSureName;
|
WorkshopSureName = workshopSureName;
|
||||||
@@ -308,6 +310,8 @@ public class Workshop : EntityBase
|
|||||||
CreateCheckout = createCheckout;
|
CreateCheckout = createCheckout;
|
||||||
SignCheckout = signCheckout;
|
SignCheckout = signCheckout;
|
||||||
CutContractEndOfYear = cutContractEndOfYear;
|
CutContractEndOfYear = cutContractEndOfYear;
|
||||||
|
RotatingShiftCompute = rotatingShiftCompute;
|
||||||
|
IsStaticCheckout = isStaticCheckout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,17 @@ public interface IEmployerRepository : IRepository<long, Employer>
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Api
|
||||||
|
Task<List<GetEmployerListViewModel>> GetEmployerList(GetEmployerSearchModel searchModel);
|
||||||
|
|
||||||
|
Task<GetLegalEmployerDetailViewModel> GetLegalEmployerDetail(long id);
|
||||||
|
Task<GetRealEmployerDetailViewModel> GetRealEmployerDetail(long id);
|
||||||
|
//Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
|
||||||
|
Task<OperationResult<string>> DeactivateWithSubordinates(long id);
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,262 @@
|
|||||||
|
using _0_Framework.Application;
|
||||||
|
using CompanyManagement.Infrastructure.Excel.CWS;
|
||||||
|
using CompanyManagment.App.Contracts.InstitutionContract;
|
||||||
|
using OfficeOpenXml;
|
||||||
|
using OfficeOpenXml.Style;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
namespace CompanyManagement.Infrastructure.Excel.InstitutionContract;
|
||||||
|
|
||||||
|
public class InstitutionContractExcelGenerator
|
||||||
|
{
|
||||||
|
|
||||||
|
public static byte[] GenerateExcel(List<InstitutionContractViewModel> institutionContractViewModels)
|
||||||
|
{
|
||||||
|
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||||
|
using var package = new ExcelPackage();
|
||||||
|
var allWorksheet = package.Workbook.Worksheets.Add("همه");
|
||||||
|
|
||||||
|
var blueWorksheet = package.Workbook.Worksheets.Add("آبی");
|
||||||
|
blueWorksheet.TabColor = Color.LightBlue;
|
||||||
|
|
||||||
|
var grayWorksheet = package.Workbook.Worksheets.Add("خاکستری");
|
||||||
|
grayWorksheet.TabColor = Color.LightGray;
|
||||||
|
|
||||||
|
var redWorksheet = package.Workbook.Worksheets.Add("قرمز");
|
||||||
|
redWorksheet.TabColor = Color.LightCoral;
|
||||||
|
|
||||||
|
var purpleWorksheet = package.Workbook.Worksheets.Add("بنفش");
|
||||||
|
purpleWorksheet.TabColor = Color.MediumPurple;
|
||||||
|
|
||||||
|
var blackWorksheet = package.Workbook.Worksheets.Add("مشکی");
|
||||||
|
blackWorksheet.TabColor = Color.DimGray;
|
||||||
|
|
||||||
|
var yellowWorksheet = package.Workbook.Worksheets.Add("زرد");
|
||||||
|
yellowWorksheet.TabColor = Color.Yellow;
|
||||||
|
|
||||||
|
var whiteWorksheet = package.Workbook.Worksheets.Add("سفید");
|
||||||
|
whiteWorksheet.TabColor = Color.White;
|
||||||
|
|
||||||
|
|
||||||
|
CreateExcelSheet(institutionContractViewModels, allWorksheet);
|
||||||
|
|
||||||
|
var blueContracts = institutionContractViewModels.Where(x=>x.ExpireColor == "blue").ToList();
|
||||||
|
CreateExcelSheet(blueContracts, blueWorksheet);
|
||||||
|
institutionContractViewModels = institutionContractViewModels.Except(blueContracts).ToList();
|
||||||
|
|
||||||
|
var grayContracts = institutionContractViewModels.Where(x => x.IsContractingPartyBlock == "true").ToList();
|
||||||
|
CreateExcelSheet(grayContracts, grayWorksheet);
|
||||||
|
institutionContractViewModels = institutionContractViewModels.Except(grayContracts).ToList();
|
||||||
|
|
||||||
|
var redContracts = institutionContractViewModels.Where(x=>x.ExpireColor == "red").ToList();
|
||||||
|
CreateExcelSheet(redContracts, redWorksheet);
|
||||||
|
institutionContractViewModels = institutionContractViewModels.Except(redContracts).ToList();
|
||||||
|
|
||||||
|
var purpleContracts = institutionContractViewModels.Where(x=>x.ExpireColor == "purple").ToList();
|
||||||
|
CreateExcelSheet(purpleContracts, purpleWorksheet);
|
||||||
|
institutionContractViewModels = institutionContractViewModels.Except(purpleContracts).ToList();
|
||||||
|
|
||||||
|
var blackContracts = institutionContractViewModels.Where(x=>x.ExpireColor == "black").ToList();
|
||||||
|
CreateExcelSheet(blackContracts, blackWorksheet);
|
||||||
|
institutionContractViewModels = institutionContractViewModels.Except(blackContracts).ToList();
|
||||||
|
|
||||||
|
var yellowContracts = institutionContractViewModels
|
||||||
|
.Where(x => string.IsNullOrWhiteSpace(x.ExpireColor) && x.WorkshopCount == "0").ToList();
|
||||||
|
CreateExcelSheet(yellowContracts, yellowWorksheet);
|
||||||
|
institutionContractViewModels = institutionContractViewModels.Except(yellowContracts).ToList();
|
||||||
|
|
||||||
|
var otherContracts = institutionContractViewModels;
|
||||||
|
CreateExcelSheet(otherContracts, whiteWorksheet);
|
||||||
|
|
||||||
|
return package.GetAsByteArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void CreateExcelSheet(List<InstitutionContractViewModel> institutionContractViewModels, ExcelWorksheet worksheet)
|
||||||
|
{
|
||||||
|
// Headers
|
||||||
|
worksheet.Cells[1, 1].Value = "شماره قرارداد";
|
||||||
|
worksheet.Cells[1, 2].Value = "طرف حساب";
|
||||||
|
worksheet.Cells[1, 3].Value = "شماره کارفرما";
|
||||||
|
worksheet.Cells[1, 4].Value = "کارفرما ها";
|
||||||
|
worksheet.Cells[1, 5].Value = "کارگاه ها";
|
||||||
|
worksheet.Cells[1, 6].Value = "مجبوع پرسنل";
|
||||||
|
worksheet.Cells[1, 7].Value = "شروع قرارداد";
|
||||||
|
worksheet.Cells[1, 8].Value = "پایان قرارداد";
|
||||||
|
worksheet.Cells[1, 9].Value = "مبلغ قرارداد (بدون کارگاه)";
|
||||||
|
worksheet.Cells[1, 10].Value = "مبلغ قرارداد";
|
||||||
|
worksheet.Cells[1, 11].Value = "وضعیت مالی";
|
||||||
|
|
||||||
|
using (var range = worksheet.Cells[1, 1, 1, 11])
|
||||||
|
{
|
||||||
|
range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
|
||||||
|
range.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
|
||||||
|
range.Style.Font.Bold = true;
|
||||||
|
range.Style.Fill.PatternType = ExcelFillStyle.Solid;
|
||||||
|
range.Style.Fill.BackgroundColor.SetColor(Color.LightGray); // رنگ پس زمینه خاکستری
|
||||||
|
|
||||||
|
// اعمال بوردر به همه خطوط
|
||||||
|
range.Style.Border.Top.Style = ExcelBorderStyle.Thin;
|
||||||
|
range.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
|
||||||
|
range.Style.Border.Left.Style = ExcelBorderStyle.Thin;
|
||||||
|
range.Style.Border.Right.Style = ExcelBorderStyle.Thin;
|
||||||
|
|
||||||
|
// اعمال رنگ مشکی برای بوردرها
|
||||||
|
range.Style.Border.Top.Color.SetColor(Color.Black);
|
||||||
|
range.Style.Border.Bottom.Color.SetColor(Color.Black);
|
||||||
|
range.Style.Border.Left.Color.SetColor(Color.Black);
|
||||||
|
range.Style.Border.Right.Color.SetColor(Color.Black);
|
||||||
|
}
|
||||||
|
|
||||||
|
int row = 2;
|
||||||
|
|
||||||
|
for (int i = 0; i < institutionContractViewModels.Count; i++)
|
||||||
|
{
|
||||||
|
var contract = institutionContractViewModels[i];
|
||||||
|
var employers = contract.EmployerViewModels?.ToList() ?? new();
|
||||||
|
var workshops = contract.WorkshopViewModels?.ToList() ?? new();
|
||||||
|
|
||||||
|
int maxRows = Math.Max(employers.Count, workshops.Count);
|
||||||
|
maxRows = Math.Max(1, maxRows);
|
||||||
|
|
||||||
|
int startRow = row;
|
||||||
|
int endRow = row + maxRows - 1;
|
||||||
|
|
||||||
|
// 🎨 دریافت رنگ پسزمینه از مقدار رنگ موجود در داده
|
||||||
|
string colorName = contract.ExpireColor.ToLower();
|
||||||
|
var fillColor = GetColorByName(colorName, contract.WorkshopCount, contract.IsContractingPartyBlock);
|
||||||
|
|
||||||
|
for (int j = 0; j < maxRows; j++)
|
||||||
|
{
|
||||||
|
int currentRow = row + j;
|
||||||
|
|
||||||
|
worksheet.Cells[currentRow, 4].Value = j < employers.Count ? employers[j].FullName : null;
|
||||||
|
worksheet.Cells[currentRow, 5].Value = j < workshops.Count ? workshops[j].WorkshopFullName : null;
|
||||||
|
|
||||||
|
for (int col = 1; col <= 11; col++)
|
||||||
|
{
|
||||||
|
var cell = worksheet.Cells[currentRow, col];
|
||||||
|
|
||||||
|
// 📏 بوردرهای داخلی نازک / نقطهچین
|
||||||
|
cell.Style.Border.Top.Style = ExcelBorderStyle.Dotted;
|
||||||
|
cell.Style.Border.Bottom.Style = ExcelBorderStyle.Dotted;
|
||||||
|
cell.Style.Border.Left.Style = ExcelBorderStyle.Thin;
|
||||||
|
cell.Style.Border.Right.Style = ExcelBorderStyle.Thin;
|
||||||
|
|
||||||
|
// 🎯 تراز متن
|
||||||
|
cell.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
|
||||||
|
cell.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
|
||||||
|
|
||||||
|
// 🎨 اعمال رنگ پسزمینه
|
||||||
|
cell.Style.Fill.PatternType = ExcelFillStyle.Solid;
|
||||||
|
cell.Style.Fill.BackgroundColor.SetColor(fillColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 🧱 مرج و مقداردهی ستونهای اصلی
|
||||||
|
worksheet.Cells[startRow, 1, endRow, 1].Merge = true;
|
||||||
|
worksheet.Cells[startRow, 1].Value = contract.ContractNo;
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 2, endRow, 2].Merge = true;
|
||||||
|
worksheet.Cells[startRow, 2].Value = contract.ContractingPartyName;
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 3, endRow, 3].Merge = true;
|
||||||
|
worksheet.Cells[startRow, 3].Value = contract.ArchiveCode;
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 6, endRow, 6].Merge = true;
|
||||||
|
worksheet.Cells[startRow, 6].Value = contract.EmployeeCount;
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 7, endRow, 7].Merge = true;
|
||||||
|
worksheet.Cells[startRow, 7].Value = contract.ContractStartFa;
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 8, endRow, 8].Merge = true;
|
||||||
|
worksheet.Cells[startRow, 8].Value = contract.ContractEndFa;
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 9, endRow, 9].Merge = true;
|
||||||
|
var contractWithoutWorkshopAmountCell = worksheet.Cells[startRow, 9];
|
||||||
|
contractWithoutWorkshopAmountCell.Value = contract.WorkshopCount == "0" ? MoneyToDouble(contract.ContractAmount) : "";
|
||||||
|
contractWithoutWorkshopAmountCell.Style.Numberformat.Format = "#,##0";
|
||||||
|
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 10, endRow, 10].Merge = true;
|
||||||
|
var contractAmountCell = worksheet.Cells[startRow, 10];
|
||||||
|
contractAmountCell.Value = contract.WorkshopCount != "0" ? MoneyToDouble(contract.ContractAmount) : "";
|
||||||
|
contractAmountCell.Style.Numberformat.Format = "#,##0";
|
||||||
|
|
||||||
|
|
||||||
|
worksheet.Cells[startRow, 11, endRow, 11].Merge = true;
|
||||||
|
var balance = MoneyToDouble(contract.BalanceStr);
|
||||||
|
var balanceCell = worksheet.Cells[startRow, 11];
|
||||||
|
balanceCell.Value = balance;
|
||||||
|
balanceCell.Style.Numberformat.Format = "#,##0";
|
||||||
|
|
||||||
|
if (balance > 0)
|
||||||
|
balanceCell.Style.Font.Color.SetColor(Color.Red);
|
||||||
|
else if (balance < 0)
|
||||||
|
balanceCell.Style.Font.Color.SetColor(Color.Green);
|
||||||
|
|
||||||
|
// 📦 بوردر ضخیم خارجی برای هر سطر
|
||||||
|
var boldRange = worksheet.Cells[startRow, 1, endRow, 11];
|
||||||
|
boldRange.Style.Border.BorderAround(ExcelBorderStyle.Medium);
|
||||||
|
|
||||||
|
row += maxRows;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
worksheet.PrinterSettings.PaperSize = ePaperSize.A4;
|
||||||
|
worksheet.PrinterSettings.Orientation = eOrientation.Landscape;
|
||||||
|
worksheet.PrinterSettings.FitToPage = true;
|
||||||
|
worksheet.PrinterSettings.FitToWidth = 1;
|
||||||
|
worksheet.PrinterSettings.FitToHeight = 0;
|
||||||
|
worksheet.PrinterSettings.Scale = 85;
|
||||||
|
int contractNoCol = 1;
|
||||||
|
int contractingPartyNameCol = 2;
|
||||||
|
int archiveNoCol = 3;
|
||||||
|
int employersCol = 4;
|
||||||
|
int workshopsCol = 5;
|
||||||
|
int employeeCountCol = 6;
|
||||||
|
int startContractCol = 7;
|
||||||
|
int endContractCol = 8;
|
||||||
|
int contractWithoutWorkshopAmountCol = 9;
|
||||||
|
int contractAmountCol = 10;
|
||||||
|
int balanceCol = 11;
|
||||||
|
worksheet.Columns[contractNoCol].Width = 17;
|
||||||
|
worksheet.Columns[contractingPartyNameCol].Width = 40;
|
||||||
|
worksheet.Columns[archiveNoCol].Width = 10;
|
||||||
|
worksheet.Columns[employersCol].Width = 40;
|
||||||
|
worksheet.Columns[workshopsCol].Width = 45;
|
||||||
|
worksheet.Columns[employeeCountCol].Width = 12;
|
||||||
|
worksheet.Columns[startContractCol].Width = 12;
|
||||||
|
worksheet.Columns[endContractCol].Width = 12;
|
||||||
|
worksheet.Columns[contractWithoutWorkshopAmountCol].Width = 18;
|
||||||
|
worksheet.Columns[contractAmountCol].Width = 12;
|
||||||
|
worksheet.Columns[balanceCol].Width = 12;
|
||||||
|
worksheet.View.RightToLeft = true; // فارسی
|
||||||
|
//worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double MoneyToDouble(string value)
|
||||||
|
{
|
||||||
|
Console.WriteLine(value);
|
||||||
|
var min = value.Length > 1 ? value.Substring(0, 2) : "";
|
||||||
|
var test = min == "\u200e\u2212" ? value.MoneyToDouble() * -1 : value.MoneyToDouble();
|
||||||
|
|
||||||
|
Console.WriteLine(test);
|
||||||
|
return test;
|
||||||
|
}
|
||||||
|
private static Color GetColorByName(string name, string workshopCount, string IsContractingPartyBlock)
|
||||||
|
{
|
||||||
|
return name switch
|
||||||
|
{
|
||||||
|
"blue" => Color.LightBlue,
|
||||||
|
_ when IsContractingPartyBlock == "true" => Color.LightGray,
|
||||||
|
"red" => Color.LightCoral,
|
||||||
|
"purple" => Color.MediumPurple,
|
||||||
|
"black" => Color.DimGray,
|
||||||
|
var n when string.IsNullOrWhiteSpace(n) && workshopCount == "0" => Color.Yellow,
|
||||||
|
_ => Color.White
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -133,8 +133,117 @@ public class CheckoutViewModel
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string TotalPaidLeave { get; set; }
|
public string TotalPaidLeave { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public bool HasSignCheckout { get; set; }
|
||||||
|
|
||||||
public TimeSpan TotalHourlyLeave { get; set; }
|
public TimeSpan TotalHourlyLeave { get; set; }
|
||||||
public List<CheckoutDailyRollCallViewModel> MonthlyRollCall { get; set; }
|
public List<CheckoutDailyRollCallViewModel> MonthlyRollCall { get; set; }
|
||||||
public List<LoanInstallmentViewModel> InstallmentViewModels { get; set; }
|
public List<LoanInstallmentViewModel> InstallmentViewModels { get; set; }
|
||||||
public List<SalaryAidViewModel> SalaryAidViewModels { get; set; }
|
public List<SalaryAidViewModel> SalaryAidViewModels { get; set; }
|
||||||
|
public CheckoutRollCallViewModel CheckoutRollCall { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CheckoutRollCallViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت موظفی
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalMandatoryTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت حضور
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalPresentTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت استراحت
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalBreakTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت کارکرد
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalWorkingTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت مرخصی استحقاقی
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalPaidLeaveTmeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مجموع ساعت مرخصی استعلاجی
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan TotalSickLeaveTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// روز های حضور غیاب
|
||||||
|
/// </summary>
|
||||||
|
public ICollection<CheckoutRollCallDayViewModel> RollCallDaysCollection { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CheckoutRollCallDayViewModel
|
||||||
|
{
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ
|
||||||
|
/// </summary>
|
||||||
|
public DateTime Date { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// ورود اول
|
||||||
|
/// </summary>
|
||||||
|
public string FirstStartDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// خروج اول
|
||||||
|
/// </summary>
|
||||||
|
public string FirstEndDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ورود دوم
|
||||||
|
/// </summary>
|
||||||
|
public string SecondStartDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// خروج دوم
|
||||||
|
/// </summary>
|
||||||
|
public string SecondEndDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ساعت استراحت
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan BreakTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مقدار زمان کارکرد
|
||||||
|
/// </summary>
|
||||||
|
public TimeSpan WorkingTimeSpan { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا منقطع است؟
|
||||||
|
/// </summary>
|
||||||
|
public bool IsSliced { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا غیبت است
|
||||||
|
/// </summary>
|
||||||
|
public bool IsAbsent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا جمعه است
|
||||||
|
/// </summary>
|
||||||
|
public bool IsFriday { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا تعطیل رسمی است
|
||||||
|
/// </summary>
|
||||||
|
public bool IsHoliday { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع مرخصی - درصورت نداشتن مرخصی مقدارش null میباشد
|
||||||
|
/// </summary>
|
||||||
|
public string LeaveType { get; set; }
|
||||||
|
|
||||||
|
public long CheckoutId { get; set; }
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using CompanyManagment.App.Contracts.Contract;
|
using CompanyManagment.App.Contracts.Contract;
|
||||||
using CompanyManagment.App.Contracts.Employee;
|
using CompanyManagment.App.Contracts.Employee;
|
||||||
|
using CompanyManagment.App.Contracts.RollCall;
|
||||||
using CompanyManagment.App.Contracts.YearlySalary;
|
using CompanyManagment.App.Contracts.YearlySalary;
|
||||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||||
|
|
||||||
@@ -138,4 +139,20 @@ public class CreateCheckout
|
|||||||
|
|
||||||
public string ShiftWork { get; set; }
|
public string ShiftWork { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محاسبه اضافه کار در بیمه
|
||||||
|
/// </summary>
|
||||||
|
public bool HasInsuranceChekoutOverTime {get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
public List<GroupedRollCalls> GroupedRollCalls { get; set; }
|
||||||
|
|
||||||
|
public TimeSpan TotalWorkingTimeSpan { get; set; }
|
||||||
|
|
||||||
|
public TimeSpan TotalBreakTimeSpan { get; set; }
|
||||||
|
|
||||||
|
public TimeSpan TotalPresentTimeSpan { get; set; }
|
||||||
|
public TimeSpan TotalPaidLeave { get; set; }
|
||||||
|
public TimeSpan TotalSickLeave { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -39,7 +39,11 @@ public class CreateCheckoutListViewModel
|
|||||||
|
|
||||||
|
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// آیا پرسنل اجازه ایجاد قرارداد دارد
|
||||||
|
/// </summary>
|
||||||
|
public bool EmployeeHasCreateCheckout { get; set; }
|
||||||
|
|
||||||
|
public bool HasWorkFlow { get; set; }
|
||||||
public List<CreateCheckoutListViewModel> CreateCheckoutList { get; set; }
|
public List<CreateCheckoutListViewModel> CreateCheckoutList { get; set; }
|
||||||
}
|
}
|
||||||
@@ -27,6 +27,14 @@ public interface ICheckoutApplication
|
|||||||
Task<CreateCheckoutListViewModel> GetContractResultToCreateCheckout(long workshopId, long employeeId, string year,
|
Task<CreateCheckoutListViewModel> GetContractResultToCreateCheckout(long workshopId, long employeeId, string year,
|
||||||
string month,
|
string month,
|
||||||
string contractStart, string contractEnd);
|
string contractStart, string contractEnd);
|
||||||
|
/// <summary>
|
||||||
|
/// لیست تصفیه حساب
|
||||||
|
/// جدید
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchModel"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<CheckoutViewModel>> SearchCheckoutOptimized(CheckoutSearchModel searchModel);
|
||||||
Task<List<CheckoutViewModel>> Search(CheckoutSearchModel searchModel);
|
Task<List<CheckoutViewModel>> Search(CheckoutSearchModel searchModel);
|
||||||
List<CheckoutViewModel> SimpleSearch(CheckoutSearchModel searchModel);
|
List<CheckoutViewModel> SimpleSearch(CheckoutSearchModel searchModel);
|
||||||
List<CheckoutViewModel> PrintAll(List<long> id);
|
List<CheckoutViewModel> PrintAll(List<long> id);
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -14,4 +15,8 @@
|
|||||||
<ProjectReference Include="..\_0_Framework\_0_Framework_b.csproj" />
|
<ProjectReference Include="..\_0_Framework\_0_Framework_b.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<Target Name="CopyDocs" AfterTargets="Build">
|
||||||
|
<Copy SourceFiles="$(OutputPath)CompanyManagment.App.Contracts.xml" DestinationFolder="../ServiceHost\bin\Debug\net8.0\" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
using _0_Framework.Application;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.ContactUs;
|
||||||
|
|
||||||
|
public interface IContactUsApplication
|
||||||
|
{
|
||||||
|
OperationResult Create(CreateContactUs command);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CreateContactUs
|
||||||
|
{
|
||||||
|
public string FirstName { get; set; }
|
||||||
|
public string LastName { get; set; }
|
||||||
|
public string Email { get; set; }
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
public string Title { get; set; }
|
||||||
|
public string Message { get; set; }
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using CompanyManagment.App.Contracts.Loan;
|
using CompanyManagment.App.Contracts.Loan;
|
||||||
|
using CompanyManagment.App.Contracts.RollCall;
|
||||||
using CompanyManagment.App.Contracts.SalaryAid;
|
using CompanyManagment.App.Contracts.SalaryAid;
|
||||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||||
|
|
||||||
@@ -45,6 +46,15 @@ public class ComputingViewModel
|
|||||||
|
|
||||||
public bool HasRotatingShift { get; set; }
|
public bool HasRotatingShift { get; set; }
|
||||||
|
|
||||||
|
public List<GroupedRollCalls> GroupedRollCalls { get; set; }
|
||||||
|
|
||||||
|
public TimeSpan TotalWorkingTimeSpan { get; set; }
|
||||||
|
|
||||||
|
public TimeSpan TotalBreakTimeSpan { get; set; }
|
||||||
|
|
||||||
|
public TimeSpan TotalPresentTimeSpan { get; set; }
|
||||||
|
public TimeSpan TotalPaidLeave { get; set; }
|
||||||
|
public TimeSpan TotalSickLeave { get; set; }
|
||||||
|
|
||||||
//public List<string> holidays;
|
//public List<string> holidays;
|
||||||
}
|
}
|
||||||
@@ -63,6 +63,10 @@ public class ContractViweModel
|
|||||||
public string EmployeeLName { get; set; }
|
public string EmployeeLName { get; set; }
|
||||||
|
|
||||||
public string IsBlockCantracingParty { get; set; }
|
public string IsBlockCantracingParty { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// آیا مجاز به امضاء قرادا می باشد
|
||||||
|
/// </summary>
|
||||||
|
public bool HasSignContract { get; set; }
|
||||||
public IQueryable<WorkshopEmployerViewModel> WorkshopEmployerList { get; set; }
|
public IQueryable<WorkshopEmployerViewModel> WorkshopEmployerList { get; set; }
|
||||||
public List<EmployerViewModel> Employers { get; set; }
|
public List<EmployerViewModel> Employers { get; set; }
|
||||||
public List<WorkshopViewModel> Workshops { get; set; }
|
public List<WorkshopViewModel> Workshops { get; set; }
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||||
@@ -16,8 +17,9 @@ public class CreateCustomizeWorkshopGroupSettings
|
|||||||
public IrregularShift IrregularShift { get; set; }
|
public IrregularShift IrregularShift { get; set; }
|
||||||
public BreakTime BreakTime { get; set; }
|
public BreakTime BreakTime { get; set; }
|
||||||
public int LeavePermittedDays { get; set; }
|
public int LeavePermittedDays { get; set; }
|
||||||
public FridayWork FridayWork { get; set; }
|
//public FridayWork FridayWork { get; set; }
|
||||||
public HolidayWork HolidayWork { get; set; }
|
public HolidayWork HolidayWork { get; set; }
|
||||||
|
public List<DayOfWeek> OffDayOfWeeks { get; set; }
|
||||||
public ICollection<CustomizeRotatingShiftsViewModel> CustomizeRotatingShiftsViewModels { get; set; }
|
public ICollection<CustomizeRotatingShiftsViewModel> CustomizeRotatingShiftsViewModels { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using System;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
@@ -20,16 +21,18 @@ public class CreateCustomizeWorkshopSettings
|
|||||||
public BreakTime BreakTime { get; set; }
|
public BreakTime BreakTime { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// آیا جمعه کار میکند یا نه
|
///// آیا جمعه کار میکند یا نه
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public FridayWork FridayWork { get; set; }
|
//public FridayWork FridayWork { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// آیا در روز های تعطیل کار میکند
|
/// آیا در روز های تعطیل کار میکند
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public HolidayWork HolidayWork { get; set; }
|
public HolidayWork HolidayWork { get; set; }
|
||||||
|
|
||||||
|
public List<DayOfWeek> OffDays { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using System;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
@@ -20,7 +21,8 @@ public class CustomizeWorkshopEmployeeSettingsViewModel
|
|||||||
public bool ChangeSettingEmployeeShiftIsChange { get; set; }
|
public bool ChangeSettingEmployeeShiftIsChange { get; set; }
|
||||||
public BreakTime BreakTime { get; set; }
|
public BreakTime BreakTime { get; set; }
|
||||||
public HolidayWork HolidayWork { get; set; }
|
public HolidayWork HolidayWork { get; set; }
|
||||||
public FridayWork FridayWork { get; set; }
|
//public FridayWork FridayWork { get; set; }
|
||||||
public int LeavePermittedDays { get; set; }
|
public int LeavePermittedDays { get; set; }
|
||||||
public ICollection<CustomizeRotatingShiftsViewModel> CustomizeRotatingShiftsViewModels { get; set; }
|
public ICollection<CustomizeRotatingShiftsViewModel> CustomizeRotatingShiftsViewModels { get; set; }
|
||||||
|
public List<DayOfWeek> WeeklyOffDays { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Base;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||||
|
|
||||||
@@ -18,4 +20,5 @@ public class CustomizeWorkshopGroupSettingsViewModel
|
|||||||
public BreakTime BreakTime { get; set; }
|
public BreakTime BreakTime { get; set; }
|
||||||
public FridayWork FridayWork { get; set; }
|
public FridayWork FridayWork { get; set; }
|
||||||
public HolidayWork HolidayWork { get; set; }
|
public HolidayWork HolidayWork { get; set; }
|
||||||
|
public List<DayOfWeek> OffDayOfWeeks { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using System;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||||
@@ -72,16 +73,18 @@ public class EditCustomizeEmployeeSettings:CreateCustomizeEmployeeSettings
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public EarlyExitViewModel EarlyExit { get; set; }
|
public EarlyExitViewModel EarlyExit { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// آیا جمعه کار میکند یا نه
|
///// آیا جمعه کار میکند یا نه
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public FridayWork FridayWork { get; set; }
|
//public FridayWork FridayWork { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// آیا در روز های تعطیل کار میکند
|
/// آیا در روز های تعطیل کار میکند
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public HolidayWork HolidayWork { get; set; }
|
public HolidayWork HolidayWork { get; set; }
|
||||||
|
|
||||||
|
public List<DayOfWeek> WeeklyOffDays { get; set; }
|
||||||
|
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
public string Salary { get; set; }
|
public string Salary { get; set; }
|
||||||
public string NameGroup { get; set; }
|
public string NameGroup { get; set; }
|
||||||
@@ -91,4 +94,5 @@ public class EditCustomizeEmployeeSettings:CreateCustomizeEmployeeSettings
|
|||||||
public IEnumerable<CustomizeWorkshopShiftViewModel> ShiftViewModel { get; set; }
|
public IEnumerable<CustomizeWorkshopShiftViewModel> ShiftViewModel { get; set; }
|
||||||
public ICollection<CustomizeRotatingShiftsViewModel> CustomizeRotatingShifts{ get; set; }
|
public ICollection<CustomizeRotatingShiftsViewModel> CustomizeRotatingShifts{ get; set; }
|
||||||
public BreakTime BreakTime { get; set; }
|
public BreakTime BreakTime { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using System;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings.ValueObjectsViewModel;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using _0_Framework.Domain.CustomizeCheckoutShared.Base;
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||||
|
|
||||||
@@ -75,16 +77,18 @@ public class EditCustomizeWorkshopGroupSettings : CreateCustomizeWorkshopGroupSe
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public EarlyExitViewModel EarlyExit { get; set; }
|
public EarlyExitViewModel EarlyExit { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// آیا جمعه کار میکند یا نه
|
///// آیا جمعه کار میکند یا نه
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public FridayWork FridayWork { get; set; }
|
//public FridayWork FridayWork { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// آیا در روز های تعطیل کار میکند
|
/// آیا در روز های تعطیل کار میکند
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public HolidayWork HolidayWork { get; set; }
|
public HolidayWork HolidayWork { get; set; }
|
||||||
|
|
||||||
|
//public List<DayOfWeek> WeeklyOffDays { get; set; }
|
||||||
|
|
||||||
public bool IsShiftChanged { get; set; }
|
public bool IsShiftChanged { get; set; }
|
||||||
public bool IsSettingChanged { get; set; }
|
public bool IsSettingChanged { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using _0_Framework.Application;
|
using System;
|
||||||
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||||
using CompanyManagment.App.Contracts.Employee;
|
using CompanyManagment.App.Contracts.Employee;
|
||||||
@@ -51,11 +52,14 @@ public interface ICustomizeWorkshopSettingsApplication
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="shiftViewModels">شیفت هت</param>
|
/// <param name="shiftViewModels">شیفت هت</param>
|
||||||
/// <param name="customizeWorkshopSettingsId">آیدی تنظیمات کارگاه</param>
|
/// <param name="customizeWorkshopSettingsId">آیدی تنظیمات کارگاه</param>
|
||||||
/// <param name="replaceChangedGroups"></param>
|
|
||||||
/// <param name="workshopShiftStatus"></param>
|
/// <param name="workshopShiftStatus"></param>
|
||||||
|
/// <param name="holidayWork"></param>
|
||||||
|
/// <param name="weeklyOffDays"></param>
|
||||||
|
/// <param name="replaceChangedGroups"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
OperationResult EditWorkshopSettingShifts(List<CustomizeWorkshopShiftViewModel> shiftViewModels,
|
OperationResult EditWorkshopSettingShifts(List<CustomizeWorkshopShiftViewModel> shiftViewModels,
|
||||||
long customizeWorkshopSettingsId,WorkshopShiftStatus workshopShiftStatus,FridayWork fridayWork,HolidayWork holidayWork);
|
long customizeWorkshopSettingsId, WorkshopShiftStatus workshopShiftStatus,
|
||||||
|
HolidayWork holidayWork, List<DayOfWeek> weeklyOffDays);
|
||||||
|
|
||||||
// It will Get the Workshop Settings with its groups and the employees of groups.
|
// It will Get the Workshop Settings with its groups and the employees of groups.
|
||||||
CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId, AuthViewModel auth);
|
CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId, AuthViewModel auth);
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ public class CreateEmployeeByClient
|
|||||||
public List<AddEmployeeDocumentItem> EmployeeDocumentItems { get; set; }
|
public List<AddEmployeeDocumentItem> EmployeeDocumentItems { get; set; }
|
||||||
public bool HasEmployeeDocument { get; set; }
|
public bool HasEmployeeDocument { get; set; }
|
||||||
public bool HasRollCallService { get; set; }
|
public bool HasRollCallService { get; set; }
|
||||||
|
public bool CanceledAuthorize { get; set; }
|
||||||
|
public string BirthDate { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ public record EmployeeByNationalCodeInWorkshopViewModel
|
|||||||
public long PersonnelCode { get; set; }
|
public long PersonnelCode { get; set; }
|
||||||
public List<EmployeeByNationalCodeEmployeeBankInfoViewModel> EmployeeBankInfos { get; set; }
|
public List<EmployeeByNationalCodeEmployeeBankInfoViewModel> EmployeeBankInfos { get; set; }
|
||||||
public EmployeeByNationalCodeEmployeeDocumentViewModel EmployeeDocument { get; set; }
|
public EmployeeByNationalCodeEmployeeDocumentViewModel EmployeeDocument { get; set; }
|
||||||
|
public bool AuthorizedCanceled { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,4 +26,5 @@ public class EmployeeDataFromApiViewModel
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string IdNumberSeri { get; set; }
|
public string IdNumberSeri { get; set; }
|
||||||
|
|
||||||
|
public bool AuthorizedCanceled { get; set; }
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employee;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدل جستجو در لیست پرسنل در ادمین
|
||||||
|
/// </summary>
|
||||||
|
public class GetEmployeeListSearchModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long EmployerId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارگاه
|
||||||
|
/// </summary>
|
||||||
|
public long WorkshopId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی پرسنل
|
||||||
|
/// </summary>
|
||||||
|
public long EmployeeId { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// کدملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// شماره بیمه
|
||||||
|
/// </summary>
|
||||||
|
public string InsuranceCode { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت پرسنل
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus EmployeeStatus { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// ایندکس جستجو
|
||||||
|
/// </summary>
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
using _0_Framework.Application;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employee;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویو مدل لیست پرسنل ادمین
|
||||||
|
/// </summary>
|
||||||
|
public class GetEmployeeListViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی پرسنل
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// نام و نام خانوادگی پرسنل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployeeFullName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// کدملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تعداد فرزندان
|
||||||
|
/// </summary>
|
||||||
|
public string ChildrenCount { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// جنسیت
|
||||||
|
/// </summary>
|
||||||
|
public Gender Gender { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ تولد
|
||||||
|
/// </summary>
|
||||||
|
public string BirthDate { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// شماره بیمه
|
||||||
|
/// </summary>
|
||||||
|
public string InsuranceCode { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت پرسنل
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus EmployeeStatus { get; set; }
|
||||||
|
}
|
||||||
@@ -79,4 +79,21 @@ public interface IEmployeeApplication
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Api
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست پرسنل برای جستجو
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchText"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<EmployeeSelectListViewModel>> GetSelectList(string searchText);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست کل پرسنل
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<GetEmployeeListViewModel>> GetList(GetEmployeeListSearchModel searchModel);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using _0_Framework.Application;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@@ -34,5 +35,18 @@ namespace CompanyManagment.App.Contracts.EmployeeComputeOptions
|
|||||||
/// امضای تصفیه
|
/// امضای تصفیه
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SignCheckout { get; set; }
|
public bool SignCheckout { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدت قرارداد
|
||||||
|
/// </summary>
|
||||||
|
public string ContractTerm { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اگر قرارداد بیش از یک ماه باشد و گزینه انتخاب شده منتهی به پایان سال باشد
|
||||||
|
/// این آیتم
|
||||||
|
/// True
|
||||||
|
/// است
|
||||||
|
/// </summary>
|
||||||
|
public IsActive CutContractEndOfYear { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
namespace CompanyManagment.App.Contracts.EmployeeComputeOptions;
|
using _0_Framework.Application;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.EmployeeComputeOptions;
|
||||||
|
|
||||||
public class EmployeeComputeOptionsViewModel
|
public class EmployeeComputeOptionsViewModel
|
||||||
{
|
{
|
||||||
@@ -28,4 +30,18 @@ public class EmployeeComputeOptionsViewModel
|
|||||||
/// امضای تصفیه
|
/// امضای تصفیه
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SignCheckout { get; set; }
|
public bool SignCheckout { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدت قرارداد
|
||||||
|
/// </summary>
|
||||||
|
public string ContractTerm { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اگر قرارداد بیش از یک ماه باشد و گزینه انتخاب شده منتهی به پایان سال باشد
|
||||||
|
/// این آیتم
|
||||||
|
/// True
|
||||||
|
/// است
|
||||||
|
/// </summary>
|
||||||
|
public IsActive CutContractEndOfYear { get; set; }
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using _0_Framework.Application;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد کارفرمای حقیقی
|
||||||
|
/// </summary>
|
||||||
|
public class CreateLegalEmployer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت
|
||||||
|
/// </summary>
|
||||||
|
public string CompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره ثبت
|
||||||
|
/// </summary>
|
||||||
|
public string RegisterId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن همراه
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن ثابت
|
||||||
|
/// </summary>
|
||||||
|
public string TelephoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerFName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// نام خانوادگی مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerLName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// جنسیت مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public Gender EmployerGender { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// کد ملی مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerNationalCode { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerIdNumber { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// نام پدر مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerFatherName { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ تولد مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerDateOfBirth { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ صدور شناسنامه مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerDateOfIssue { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// محل صدور شناسنامه مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerPlaceOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات سامانه ای
|
||||||
|
/// </summary>
|
||||||
|
public GovernmentSystemInfo GovernmentSystemInfo { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using _0_Framework.Application;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد کارفرما حقیقی
|
||||||
|
/// </summary>
|
||||||
|
public class CreateRealEmployer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جنسیت
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public Gender Gender { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string FName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string LName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن همراه
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن ثابت
|
||||||
|
/// </summary>
|
||||||
|
public string Telephone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ صدور شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string DateOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محل صدور شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string PlaceOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ تولد
|
||||||
|
/// </summary>
|
||||||
|
public string DateOfBirth { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام پدر
|
||||||
|
/// </summary>
|
||||||
|
public string FatherName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات سامانه ای
|
||||||
|
/// </summary>
|
||||||
|
public GovernmentSystemInfo GovernmentSystemInfo { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
public class EditLegalEmployer: CreateLegalEmployer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
12
CompanyManagment.App.Contracts/Employer/EditRealEmployer.cs
Normal file
12
CompanyManagment.App.Contracts/Employer/EditRealEmployer.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش کارفرما حقیقی
|
||||||
|
/// </summary>
|
||||||
|
public class EditRealEmployer:CreateRealEmployer
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدل برای گرفتن لیست کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public class GetEmployerListViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کدملی / شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCodeOrNationalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public string FullName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام های کارگاه
|
||||||
|
/// </summary>
|
||||||
|
public ICollection<string> WorkshopNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// دارای طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public bool HasContractingParty { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// طرف حساب بلاک شده یا نه
|
||||||
|
/// </summary>
|
||||||
|
public bool HasBlockContractingParty { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public LegalType LegalType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus EmployerStatus { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدل جستجوی لیست کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public class GetEmployerSearchModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت / نام و نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
public string FullNameOrCompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کدملی/ شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCodeOrNationalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه یا شماره ثبت
|
||||||
|
/// </summary>
|
||||||
|
public string IdNumberOrRegisterId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus EmployerStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public LegalType EmployerType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// پیج ایندکس برای دسته بندی سی تایی
|
||||||
|
/// </summary>
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
using _0_Framework.Application;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات کارفرمای حقوقی
|
||||||
|
/// </summary>
|
||||||
|
public class GetLegalEmployerDetailViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت
|
||||||
|
/// </summary>
|
||||||
|
public string CompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره ثبت
|
||||||
|
/// </summary>
|
||||||
|
public string RegisterId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن همراه
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن ثابت
|
||||||
|
/// </summary>
|
||||||
|
public string TelephoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام و خانوادگی مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string CeoFullName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام و خانوادگی مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string CeoFName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام و خانوادگی مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public string CeoLName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جنسیت مدیر عامل
|
||||||
|
/// </summary>
|
||||||
|
public Gender Gender { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جنیست
|
||||||
|
/// </summary>
|
||||||
|
public string GenderStr { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ملیت
|
||||||
|
/// </summary>
|
||||||
|
public string Nationality { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام پدر
|
||||||
|
/// </summary>
|
||||||
|
public string FatherName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ تولد
|
||||||
|
/// </summary>
|
||||||
|
public string DateOfBirth { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ صدور شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string DateOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محل صدور شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string PlaceOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات سامانه های دولتی
|
||||||
|
/// </summary>
|
||||||
|
public GovernmentSystemInfo GovernmentSystemInfo { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
using _0_Framework.Application;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات کارفرمای حقوقی
|
||||||
|
/// </summary>
|
||||||
|
public class GetRealEmployerDetailViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام و نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
public string FullName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام
|
||||||
|
/// </summary>
|
||||||
|
public string FName{ get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
public string LName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کدملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جنسیت فارسی
|
||||||
|
/// </summary>
|
||||||
|
public string GenderStr { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جنسیت
|
||||||
|
/// </summary>
|
||||||
|
public Gender Gender { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ملیت
|
||||||
|
/// </summary>
|
||||||
|
public string Nationality { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن همراه
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام پدر
|
||||||
|
/// </summary>
|
||||||
|
public string FatherName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ تولد
|
||||||
|
/// </summary>
|
||||||
|
public string DateOfBirth { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد کارفرما
|
||||||
|
/// </summary>
|
||||||
|
public string EmployerNo { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن ثابت
|
||||||
|
/// </summary>
|
||||||
|
public string TelephoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ صدور شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string DateOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محل صدور شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string PlaceOfIssue { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات سامانه های دولتی
|
||||||
|
/// </summary>
|
||||||
|
public GovernmentSystemInfo GovernmentSystemInfo { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// اطلاعات سامانه های دولتی
|
||||||
|
/// </summary>
|
||||||
|
public class GovernmentSystemInfo
|
||||||
|
{
|
||||||
|
#region MCL
|
||||||
|
/// <summary>
|
||||||
|
/// نام کاربری اداره کار
|
||||||
|
/// </summary>
|
||||||
|
public string MclUsername { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// رمز عبور اداره کار
|
||||||
|
/// </summary>
|
||||||
|
public string MclPassword { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region E-Service تامین اجتماعی
|
||||||
|
/// <summary>
|
||||||
|
/// نام کاربری سازمان تامین اجتماعی
|
||||||
|
/// </summary>
|
||||||
|
public string EServiceUsername { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// رمز عبور سازمان تامین اجتماعی
|
||||||
|
/// </summary>
|
||||||
|
public string EServicePassword { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Tax سامانه مالیاتی
|
||||||
|
/// <summary>
|
||||||
|
/// نام کاربری سامانه مالیاتی
|
||||||
|
/// </summary>
|
||||||
|
public string TaxUsername { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// رمز عبور سامانه مالیاتی
|
||||||
|
/// </summary>
|
||||||
|
public string TaxPassword { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Sana سامانه ثنا
|
||||||
|
/// <summary>
|
||||||
|
/// نام کاربری ثنا
|
||||||
|
/// </summary>
|
||||||
|
public string SanaUsername { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// رمز عبور ثنا
|
||||||
|
/// </summary>
|
||||||
|
public string SanaPassword { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using CompanyManagment.App.Contracts.Checkout;
|
using CompanyManagment.App.Contracts.Checkout;
|
||||||
|
using CompanyManagment.App.Contracts.Employee;
|
||||||
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.Employer;
|
namespace CompanyManagment.App.Contracts.Employer;
|
||||||
@@ -19,7 +20,7 @@ public interface IEmployerApplication
|
|||||||
|
|
||||||
OperationResult Active(long id);
|
OperationResult Active(long id);
|
||||||
OperationResult DeActive(long id);
|
OperationResult DeActive(long id);
|
||||||
OperationResult Remove(long id);
|
OperationResult Remove_Old(long id);
|
||||||
|
|
||||||
List<EmployerViewModel> GetEmployers();
|
List<EmployerViewModel> GetEmployers();
|
||||||
List<EmployerViewModel> Search(EmployerSearchModel searchModel);
|
List<EmployerViewModel> Search(EmployerSearchModel searchModel);
|
||||||
@@ -36,6 +37,12 @@ public interface IEmployerApplication
|
|||||||
#region Mahan
|
#region Mahan
|
||||||
|
|
||||||
List<EmployerViewModel> GetEmployersHasWorkshop();
|
List<EmployerViewModel> GetEmployersHasWorkshop();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست نام کارفرما ها برای جستجو
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="search"></param>
|
||||||
|
/// <returns></returns>
|
||||||
Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
|
Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -53,6 +60,68 @@ public interface IEmployerApplication
|
|||||||
|
|
||||||
(string employerName, bool isLegal) InsuranceEmployerByWorkshopId(long workshopId);
|
(string employerName, bool isLegal) InsuranceEmployerByWorkshopId(long workshopId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
#region Api
|
||||||
|
/// <summary>
|
||||||
|
/// لیست کارفرما ها
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<GetEmployerListViewModel>> GetEmployerList(GetEmployerSearchModel searchModel);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جزئیات کارفرما حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<GetLegalEmployerDetailViewModel> GetLegalEmployerDetail(long id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جزئیات کارفرما حقیقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<GetRealEmployerDetailViewModel> GetRealEmployerDetail(long id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد کارفرمای حقیقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> CreateReal(CreateRealEmployer command);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد کارفرمای حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> CreateLegal(CreateLegalEmployer command);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش کارفرمای حقیقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> EditReal(EditRealEmployer command);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش کارفرمای حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> EditLegal(EditLegalEmployer command);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// حذف کارفرما - درصورت داشتن کارگاه کارفرما غیرفعال میشود
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Task<OperationResult<string>> Remove(long id);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -4,6 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
|
using CompanyManagment.App.Contracts.FinancilTransaction;
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.FinancialStatment;
|
namespace CompanyManagment.App.Contracts.FinancialStatment;
|
||||||
|
|
||||||
@@ -13,4 +14,130 @@ public interface IFinancialStatmentApplication
|
|||||||
|
|
||||||
List<FinancialStatmentViewModel> Search(FinancialStatmentSearchModel searchModel);
|
List<FinancialStatmentViewModel> Search(FinancialStatmentSearchModel searchModel);
|
||||||
FinancialStatmentViewModel GetDetailsByContractingPartyId(long contractingPartyId);
|
FinancialStatmentViewModel GetDetailsByContractingPartyId(long contractingPartyId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نمایش اطلاعات صورت حساب مالی کلاینت
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchModel"></param>
|
||||||
|
/// <param name="accountId"></param>
|
||||||
|
/// <returns>مدل صورت حساب مالی کلاینت</returns>
|
||||||
|
Task<ClientFinancialStatementViewModel> GetClientFinancialStatement(ClientFinancialStatementSearchModel searchModel,
|
||||||
|
long accountId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مقدار بدهی کلاینت را برمی گرداند
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="AccountId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<double> GetClientDebtAmount(long AccountId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class ClientFinancialStatementSearchModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// از تاریخ
|
||||||
|
/// </summary>
|
||||||
|
public string FromDate { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تا تاریخ
|
||||||
|
/// </summary>
|
||||||
|
public string ToDate { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// از مبلغ
|
||||||
|
/// </summary>
|
||||||
|
public double FromAmount { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تا مبلغ
|
||||||
|
/// </summary>
|
||||||
|
public double ToAmount { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// نوع عملیات تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public FinancialTransactionType? Type { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// صفحه بندی
|
||||||
|
/// </summary>
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum FinancialTransactionType
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد درآمد
|
||||||
|
/// </summary>
|
||||||
|
Debt,
|
||||||
|
/// <summary>
|
||||||
|
/// دریافت درآمد
|
||||||
|
/// </summary>
|
||||||
|
Credit
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ClientFinancialStatementViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی FinancialStatement
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جمع بدهکاری
|
||||||
|
/// </summary>
|
||||||
|
public double TotalDebt { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// جمع بستانکاری
|
||||||
|
/// </summary>
|
||||||
|
public double TotalCredit { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// مبلغ قابل پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public double TotalAmountPayable { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تراکنش ها
|
||||||
|
/// </summary>
|
||||||
|
public List<ClientFinancialTransactionViewModel> Transactions { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ClientFinancialTransactionViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// زمان و تاریخ میلادی
|
||||||
|
/// </summary>
|
||||||
|
public DateTime DateTimeGr { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ
|
||||||
|
/// </summary>
|
||||||
|
public string DateFa { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// زمان
|
||||||
|
/// </summary>
|
||||||
|
public string TimeFa { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// شرح
|
||||||
|
/// </summary>
|
||||||
|
public string Description { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// نوع عملیات پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public FinancialTransactionType Type { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع عملیات پرداخت به صورت استرینگ
|
||||||
|
/// </summary>
|
||||||
|
public string TypeStr { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// بدهکار
|
||||||
|
/// </summary>
|
||||||
|
public double Debtor { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// بستانکار
|
||||||
|
/// </summary>
|
||||||
|
public double Creditor { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// باقی مانده
|
||||||
|
/// </summary>
|
||||||
|
public double Balance { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,4 +40,6 @@ public class InsuranceListViewModel
|
|||||||
/// نوع تاییدیه کارفرما
|
/// نوع تاییدیه کارفرما
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public InsuranceListEmployerApprovalStatus EmployerApprovalStatus { get; set; }
|
public InsuranceListEmployerApprovalStatus EmployerApprovalStatus { get; set; }
|
||||||
|
|
||||||
|
public string ArchiveCode { get; set; }
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using CompanyManagment.App.Contracts.PersonnleCode;
|
using CompanyManagment.App.Contracts.PersonnleCode;
|
||||||
|
using CompanyManagment.App.Contracts.Workshop.DTOs;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.LeftWork;
|
namespace CompanyManagment.App.Contracts.LeftWork;
|
||||||
@@ -30,4 +31,10 @@ public interface ILeftWorkApplication
|
|||||||
OperationResult CreateLeftWorkByLeftWorkGroups(string employeeFullName, long commandEmployeeId, List<PersonnelCodeViewModel> commandPersonnelCode, List<LeftWorkGroup> leftWorkGroups);
|
OperationResult CreateLeftWorkByLeftWorkGroups(string employeeFullName, long commandEmployeeId, List<PersonnelCodeViewModel> commandPersonnelCode, List<LeftWorkGroup> leftWorkGroups);
|
||||||
OperationResult CheckDeleteLeftWork(long workshopId, long employeeId, string date, int type);
|
OperationResult CheckDeleteLeftWork(long workshopId, long employeeId, string date, int type);
|
||||||
OperationResult CheckEditLeftWork(long workshopId, long employeeId, string date, int type);
|
OperationResult CheckEditLeftWork(long workshopId, long employeeId, string date, int type);
|
||||||
|
/// <summary>
|
||||||
|
/// دریافت اطلاعات کارگاه و پرسنل برای ایجاد قرارداد
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="workshopId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
AutoExtensionDto AutoExtentionEmployees(long workshopId);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
public class CreatePaymentTransaction
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه طرف قرارداد
|
||||||
|
/// </summary>
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام صاحب حساب بانکی
|
||||||
|
/// </summary>
|
||||||
|
public string BankAccountHolderName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام بانک
|
||||||
|
/// </summary>
|
||||||
|
public string BankName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره کارت
|
||||||
|
/// </summary>
|
||||||
|
public string CardNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شبا
|
||||||
|
/// </summary>
|
||||||
|
public string ShebaNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره حساب بانکی
|
||||||
|
/// </summary>
|
||||||
|
public string AccountNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت تراکنش پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public PaymentTransactionStatus Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مبلغ تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public double Amount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه یکتای تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public string TransactionId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدل جستجو برای دریافت لیست تراکنشهای پرداخت.
|
||||||
|
/// شامل فیلترهایی مانند نام طرف قرارداد یا صاحب حساب، بازه تاریخ، بازه مبلغ و وضعیت تراکنش.
|
||||||
|
/// </summary>
|
||||||
|
public class GetPaymentTransactionListSearchModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long ContractingPartyId{ get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ شروع بازه جستجو (به صورت رشته)
|
||||||
|
/// </summary>
|
||||||
|
public string FromDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ پایان بازه جستجو (به صورت رشته)
|
||||||
|
/// </summary>
|
||||||
|
public string ToDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// حداقل مبلغ تراکنش جهت جستجو
|
||||||
|
/// </summary>
|
||||||
|
public double FromAmount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// حداکثر مبلغ تراکنش جهت جستجو
|
||||||
|
/// </summary>
|
||||||
|
public double ToAmount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت تراکنش جهت فیلتر کردن نتایج
|
||||||
|
/// </summary>
|
||||||
|
public PaymentTransactionStatus? StatusEnum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره صفحه برای پیادهسازی pagination
|
||||||
|
/// </summary>
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مدل نمایش اطلاعات هر تراکنش پرداخت در لیست تراکنشها.
|
||||||
|
/// شامل جزئیاتی مانند تاریخ و زمان پرداخت، نام طرف حساب، اطلاعات بانکی، وضعیت و مبلغ تراکنش.
|
||||||
|
/// </summary>
|
||||||
|
public class GetPaymentTransactionListViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی تراکنش پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تاریخ پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public string PaymentDate { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// زمان پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public string PaymentTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام صاحب حساب بانکی
|
||||||
|
/// </summary>
|
||||||
|
public string BankAccountHolderName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام بانک
|
||||||
|
/// </summary>
|
||||||
|
public string BankName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره کارت
|
||||||
|
/// </summary>
|
||||||
|
public string CardNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شبا
|
||||||
|
/// </summary>
|
||||||
|
public string ShebaNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره حساب بانکی
|
||||||
|
/// </summary>
|
||||||
|
public string AccountNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت تراکنش به صورت متنی
|
||||||
|
/// </summary>
|
||||||
|
public string Status { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت تراکنش به صورت Enum
|
||||||
|
/// </summary>
|
||||||
|
public PaymentTransactionStatus StatusEnum { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// مبلغ تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public double Amount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه یکتای تراکنش
|
||||||
|
/// </summary>
|
||||||
|
public string TransactionId { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using _0_Framework.Application;
|
||||||
|
using _0_Framework.Application.PaymentGateway;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
public interface IPaymentTransactionApplication
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// لیست تراکنش های پرداخت را بر اساس فیلتر مشخص شده برمی گرداند.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchModel"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<GetPaymentTransactionListViewModel>> GetPaymentTransactionList(
|
||||||
|
GetPaymentTransactionListSearchModel searchModel);
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد تراکنش
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> Create(CreatePaymentTransaction command);
|
||||||
|
|
||||||
|
Task<WalletAmountResponse> GetWalletAmount(CancellationToken cancellationToken);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PaymentTransaction;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت تراکنش درگاه پرداخت
|
||||||
|
/// </summary>
|
||||||
|
public enum PaymentTransactionStatus
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// تراکنش با شکست مواجه شد.
|
||||||
|
/// </summary>
|
||||||
|
Failed,
|
||||||
|
/// <summary>
|
||||||
|
/// تراکنش با موفقیت انجام شد.
|
||||||
|
/// </summary>
|
||||||
|
Success,
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
public class ContractingPartyGetListSearchModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// تعدادی که برای لیست بعدی آیتم باید رد کنه
|
||||||
|
/// </summary>
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت یا نام و نام خانوادگی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string FullNameOrCompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی یا شماره ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalIdOrNationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام معرف
|
||||||
|
/// </summary>
|
||||||
|
public string RepresentativeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public LegalType ContractingPartyType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus ContractingPartyStatus { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
public record ContractingPartyGetListEmployerViewModel(long EmployerId, string EmployerName);
|
||||||
|
|
||||||
|
public class ContractingPartyGetListViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public int ArchiveCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی یا شماره ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalIdOrNationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public string ContractingPartyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست کارفرما ها
|
||||||
|
/// </summary>
|
||||||
|
public ICollection<ContractingPartyGetListEmployerViewModel> Employers { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// تعداد بلاک
|
||||||
|
/// </summary>
|
||||||
|
public int BlockTimes { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا بلاک هست
|
||||||
|
/// </summary>
|
||||||
|
public bool IsBlock { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیا دارای قرارداد مالی است
|
||||||
|
/// </summary>
|
||||||
|
public bool HasInstitutionContract { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public LegalType ContractingPartyType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus Status { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
using _0_Framework.Application;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
public class ContractingPartySelectListViewModel: SelectListViewModel
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
public class CreateLegalContractingParty
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی معرف
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public long RepresentativeId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string CompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string NationalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public int ArchiveCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام مستعار
|
||||||
|
/// </summary>
|
||||||
|
public string SureName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره ثبت
|
||||||
|
/// </summary>
|
||||||
|
public string RegisterId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن نماینده
|
||||||
|
/// </summary>
|
||||||
|
public string AgentPhone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// استان
|
||||||
|
/// </summary>
|
||||||
|
public string State { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شهر
|
||||||
|
/// </summary>
|
||||||
|
public string City { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محله
|
||||||
|
/// </summary>
|
||||||
|
public string Zone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نشانی
|
||||||
|
/// </summary>
|
||||||
|
public string Address { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
public class CreateRealContractingParty
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// نام
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string FName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string LName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی معرف
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public long RepresentativeId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد ملی
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public int ArchiveCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام مستعار
|
||||||
|
/// </summary>
|
||||||
|
public string SureName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن نماینده
|
||||||
|
/// </summary>
|
||||||
|
public string AgentPhone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// استان
|
||||||
|
/// </summary>
|
||||||
|
public string State { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شهر
|
||||||
|
/// </summary>
|
||||||
|
public string City { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محله
|
||||||
|
/// </summary>
|
||||||
|
public string Zone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نشانی
|
||||||
|
/// </summary>
|
||||||
|
public string Address { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش طرف حساب حقوقی
|
||||||
|
/// </summary>
|
||||||
|
public class EditLegalContractingParty:CreateLegalContractingParty
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش طرف حساب حقیقی
|
||||||
|
/// </summary>
|
||||||
|
public class EditRealContractingParty:CreateRealContractingParty
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره ملی یا شناسه ملی بر اساس حقیقی یا حقوقی بودن
|
||||||
|
/// </summary>
|
||||||
|
public class GetContractingPartyNationalCodeOrNationalIdViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// شماره ملی یا شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCodeOrNationalId { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویو مدل جزئیات طرف حساب حقوقی
|
||||||
|
/// </summary>
|
||||||
|
public class GetLegalContractingPartyDetailsViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام کامل شرکت(به همراه نام مستعار)ء
|
||||||
|
/// </summary>
|
||||||
|
public string CompanyFullName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت (بدون نام مستعار)ء
|
||||||
|
/// </summary>
|
||||||
|
public string CompanyName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام مستعار
|
||||||
|
/// </summary>
|
||||||
|
public string SureName { 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 string AgentPhone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آدرس
|
||||||
|
/// </summary>
|
||||||
|
public string Address { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// معرف
|
||||||
|
/// </summary>
|
||||||
|
public string RepresentativeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی معرف
|
||||||
|
/// </summary>
|
||||||
|
public long RepresentativeId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public int ArchiveCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// استان
|
||||||
|
/// </summary>
|
||||||
|
public string State { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شهر
|
||||||
|
/// </summary>
|
||||||
|
public string City { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محله
|
||||||
|
/// </summary>
|
||||||
|
public string Zone { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویو مدل جزئیات طرف حساب حقیقی
|
||||||
|
/// </summary>
|
||||||
|
public class GetRealContractingPartyDetailsViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام
|
||||||
|
/// </summary>
|
||||||
|
public string FName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
public string LName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام و نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
public string FullName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد ملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن
|
||||||
|
/// </summary>
|
||||||
|
public string PhoneNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن نماینده
|
||||||
|
/// </summary>
|
||||||
|
public string AgentPhone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آدرس
|
||||||
|
/// </summary>
|
||||||
|
public string Address { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام معرف
|
||||||
|
/// </summary>
|
||||||
|
public string RepresentativeName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی معرف
|
||||||
|
/// </summary>
|
||||||
|
public long RepresentativeId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام مستعار
|
||||||
|
/// </summary>
|
||||||
|
public string SureName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public int ArchiveCode { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// استان
|
||||||
|
/// </summary>
|
||||||
|
public string State { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شهر
|
||||||
|
/// </summary>
|
||||||
|
public string City { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// محله
|
||||||
|
/// </summary>
|
||||||
|
public string Zone { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
namespace CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||||
@@ -54,4 +55,79 @@ public interface IPersonalContractingPartyApp
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
#region Api
|
||||||
|
/// <summary>
|
||||||
|
/// لیست طرف حساب ها
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="searchModel"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<ICollection<ContractingPartyGetListViewModel>> GetList(ContractingPartyGetListSearchModel searchModel);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست طرف حساب برای سلکت لیست سرچ
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<ContractingPartySelectListViewModel>> GetSelectList();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد طرف حساب حقیقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> CreateReal(CreateRealContractingParty command);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ایجاد ظرف حساب حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult> CreateLegal(CreateLegalContractingParty command);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیستی از شماره ملی یا شناسه ملی بر اساس حقیقی یا حقوقی بودن
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<GetContractingPartyNationalCodeOrNationalIdViewModel>> GetNationalCodeOrNationalId();
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// حذف طرف حساب. در صورتی که طرف حساب دارای قرارداد مالی یا دارای کارفرما باشد غیرفعال میشود
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<OperationResult<string>> Delete(long id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش طرف حساب حقیقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
OperationResult EditRealApi(EditRealContractingParty command);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویرایش طرف حساب حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="command"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
OperationResult EditLegal(EditLegalContractingParty command);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// گرفتن جزئیات طرف حساب حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<GetRealContractingPartyDetailsViewModel> GetRealDetails(long id);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// گرفتن جزئیات طرف حساب حقوقی
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<GetLegalContractingPartyDetailsViewModel> GetLegalDetails(long id);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -47,4 +47,6 @@ public class PersonalContractingPartyViewModel
|
|||||||
public bool IsAuthenticated { get; set; }
|
public bool IsAuthenticated { get; set; }
|
||||||
public List<EmployerViewModel> EmployerList { get; set; }
|
public List<EmployerViewModel> EmployerList { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Representative;
|
||||||
|
|
||||||
|
public class CreateLegalRepresentative
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام حقوقی
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "این مقدار نمی تواند خالی باشد")]
|
||||||
|
public string LegalName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ثبت
|
||||||
|
/// </summary>
|
||||||
|
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||||
|
public string RegisterId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی
|
||||||
|
/// </summary>
|
||||||
|
[RegularExpression("[0-9]{11}", ErrorMessage = "لطفا فقط عدد 11 رقمی وارد کنید")]
|
||||||
|
public string NationalId { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن
|
||||||
|
/// </summary>
|
||||||
|
[DataType(DataType.PhoneNumber)]
|
||||||
|
[RegularExpression(@"^\(?([0-9]{4})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "لطفا شماره تلفن معتبر وارد کنید")]
|
||||||
|
public string Phone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن نماینده
|
||||||
|
/// </summary>
|
||||||
|
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||||
|
public string AgentPhone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آدرس
|
||||||
|
/// </summary>
|
||||||
|
public string Address { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Representative;
|
||||||
|
|
||||||
|
public class CreateRealRepresentative
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام کوچک
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "این مقدار نمی تواند خالی باشد")]
|
||||||
|
public string FName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
[Required(ErrorMessage = "این مقدار نمی تواند خالی باشد")]
|
||||||
|
public string LName { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// کد ملی
|
||||||
|
/// </summary>
|
||||||
|
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||||
|
public string Nationalcode { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
[MaxLength(12)]
|
||||||
|
[MinLength(1)]
|
||||||
|
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره تلفن
|
||||||
|
/// </summary>
|
||||||
|
[DataType(DataType.PhoneNumber)]
|
||||||
|
[RegularExpression(@"^\(?([0-9]{4})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "لطفا شماره تلفن معتبر وارد کنید")]
|
||||||
|
public string Phone { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
[RegularExpression("^[0-9]*$", ErrorMessage = "لطفا فقط عدد وارد کنید")]
|
||||||
|
public string AgentPhone { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آدرس
|
||||||
|
/// </summary>
|
||||||
|
public string Address { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.Representative;
|
||||||
|
|
||||||
|
public class EditLegalRepresentative : CreateLegalRepresentative
|
||||||
|
{
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.Representative;
|
||||||
|
|
||||||
|
public class EditRealRepresentative : CreateRealRepresentative
|
||||||
|
{
|
||||||
|
public long Id { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
namespace CompanyManagment.App.Contracts.Representative;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ویو مدل سلکت لیست برای معرف
|
||||||
|
/// </summary>
|
||||||
|
public class GetSelectListRepresentativeViewModel
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی
|
||||||
|
/// </summary>
|
||||||
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام معرف
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
@@ -26,6 +26,25 @@ public interface IRepresentativeApplication
|
|||||||
OperationResult DeActive(long id);
|
OperationResult DeActive(long id);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Api
|
||||||
|
|
||||||
|
Task<List<RepresentativeGetListViewModel>> GetList(RepresentativeGetListSearchModel searchModel);
|
||||||
|
|
||||||
|
bool HasAnyContractingParty(long id);
|
||||||
|
|
||||||
|
|
||||||
|
OperationResult CreateReal(CreateRealRepresentative command);
|
||||||
|
OperationResult CreateLegal(CreateLegalRepresentative command);
|
||||||
|
OperationResult EditReal(EditRealRepresentative command);
|
||||||
|
OperationResult EditLegal(EditLegalRepresentative command);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// لیست نام های معرف برای سلکت لیست
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<GetSelectListRepresentativeViewModel>> GetSelectList();
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
using _0_Framework.Application.Enums;
|
||||||
|
|
||||||
|
namespace CompanyManagment.App.Contracts.Representative;
|
||||||
|
|
||||||
|
public class RepresentativeGetListSearchModel
|
||||||
|
{
|
||||||
|
|
||||||
|
public int PageIndex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نام شرکت یا نام و نام خانوادگی
|
||||||
|
/// </summary>
|
||||||
|
public string CompanyNameOrFullName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شناسه ملی یا کدملی
|
||||||
|
/// </summary>
|
||||||
|
public string NationalCodeOrNationalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// شماره شناسنامه
|
||||||
|
/// </summary>
|
||||||
|
public string IdNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// آیدی طرف حساب
|
||||||
|
/// </summary>
|
||||||
|
public long ContractingPartyId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// نوع معرف
|
||||||
|
/// </summary>
|
||||||
|
public LegalType RepresentativeType { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// وضعیت معرف
|
||||||
|
/// </summary>
|
||||||
|
public ActivationStatus RepresentativeStatus { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user