Compare commits
11 Commits
Feature/Em
...
Feature/Re
| Author | SHA1 | Date | |
|---|---|---|---|
| 5fa49a4988 | |||
|
|
99e807fa23 | ||
|
|
2ce17dcac9 | ||
|
|
233c1a3aa9 | ||
|
|
37cd07c2b8 | ||
|
|
6201492879 | ||
|
|
489528d076 | ||
|
|
3a6f87eaca | ||
|
|
ec277629fb | ||
|
|
faeb297f5c | ||
|
|
c3457881b0 |
@@ -12,65 +12,65 @@ namespace _0_Framework.Application;
|
|||||||
|
|
||||||
public class AuthHelper : IAuthHelper
|
public class AuthHelper : IAuthHelper
|
||||||
{
|
{
|
||||||
private readonly IHttpContextAccessor _contextAccessor;
|
private readonly IHttpContextAccessor _contextAccessor;
|
||||||
|
|
||||||
|
public AuthHelper(IHttpContextAccessor contextAccessor)
|
||||||
|
{
|
||||||
|
_contextAccessor = contextAccessor;
|
||||||
|
}
|
||||||
|
|
||||||
public AuthHelper(IHttpContextAccessor contextAccessor)
|
public AuthViewModel CurrentAccountInfo()
|
||||||
{
|
{
|
||||||
_contextAccessor = contextAccessor;
|
var result = new AuthViewModel();
|
||||||
}
|
if (!IsAuthenticated())
|
||||||
|
return result;
|
||||||
|
|
||||||
public AuthViewModel CurrentAccountInfo()
|
var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
||||||
{
|
result.Id = long.Parse(claims.FirstOrDefault(x => x.Type == "AccountId").Value);
|
||||||
var result = new AuthViewModel();
|
result.Username = claims.FirstOrDefault(x => x.Type == "Username")?.Value;
|
||||||
if (!IsAuthenticated())
|
result.ProfilePhoto = claims.FirstOrDefault(x => x.Type == "ProfilePhoto")?.Value;
|
||||||
return result;
|
result.RoleId = long.Parse(claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value);
|
||||||
|
result.Fullname = claims.FirstOrDefault(x => x.Type == ClaimTypes.Name)?.Value;
|
||||||
var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
result.Role = claims.FirstOrDefault(x => x.Type == "RoleName")?.Value;
|
||||||
result.Id = long.Parse(claims.FirstOrDefault(x => x.Type == "AccountId").Value);
|
result.ClientAriaPermission =claims.FirstOrDefault(x => x.Type == "ClientAriaPermission").Value;
|
||||||
result.Username = claims.FirstOrDefault(x => x.Type == "Username")?.Value;
|
result.AdminAreaPermission = claims.FirstOrDefault(x => x.Type == "AdminAreaPermission").Value;
|
||||||
result.ProfilePhoto = claims.FirstOrDefault(x => x.Type == "ProfilePhoto")?.Value;
|
result.PositionValue = !string.IsNullOrWhiteSpace(claims.FirstOrDefault(x => x.Type == "PositionValue")?.Value) ? int.Parse(claims.FirstOrDefault(x => x.Type == "PositionValue")?.Value) : 0;
|
||||||
result.RoleId = long.Parse(claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value);
|
result.WorkshopList = Tools.DeserializeFromBsonList<WorkshopClaim>(claims.FirstOrDefault(x => x is { Type: "workshopList" })?.Value);
|
||||||
result.Fullname = claims.FirstOrDefault(x => x.Type == ClaimTypes.Name)?.Value;
|
result.WorkshopSlug = claims.FirstOrDefault(x => x is { Type: "WorkshopSlug" }).Value;
|
||||||
result.Role = claims.FirstOrDefault(x => x.Type == "RoleName")?.Value;
|
result.Mobile = claims.FirstOrDefault(x => x is { Type: "Mobile" }).Value;
|
||||||
result.ClientAriaPermission = claims.FirstOrDefault(x => x.Type == "ClientAriaPermission").Value;
|
|
||||||
result.AdminAreaPermission = claims.FirstOrDefault(x => x.Type == "AdminAreaPermission").Value;
|
|
||||||
result.PositionValue = !string.IsNullOrWhiteSpace(claims.FirstOrDefault(x => x.Type == "PositionValue")?.Value) ? int.Parse(claims.FirstOrDefault(x => x.Type == "PositionValue")?.Value) : 0;
|
|
||||||
result.WorkshopList = Tools.DeserializeFromBsonList<WorkshopClaim>(claims.FirstOrDefault(x => x is { Type: "workshopList" })?.Value);
|
|
||||||
result.WorkshopSlug = claims.FirstOrDefault(x => x is { Type: "WorkshopSlug" }).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;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<int> GetPermissions()
|
public List<int> GetPermissions()
|
||||||
{
|
{
|
||||||
if (!IsAuthenticated())
|
if (!IsAuthenticated())
|
||||||
return new List<int>();
|
return new List<int>();
|
||||||
|
|
||||||
var permissions = _contextAccessor.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "permissions")
|
var permissions = _contextAccessor.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "permissions")
|
||||||
?.Value;
|
?.Value;
|
||||||
return Tools.DeserializeFromBsonList<int>(permissions); //Mahan
|
return Tools.DeserializeFromBsonList<int>(permissions); //Mahan
|
||||||
}
|
}
|
||||||
|
|
||||||
public long CurrentAccountId()
|
public long CurrentAccountId()
|
||||||
{
|
{
|
||||||
return IsAuthenticated()
|
return IsAuthenticated()
|
||||||
? long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "AccountId")?.Value)
|
? long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "AccountId")?.Value)
|
||||||
: 0;
|
: 0;
|
||||||
}
|
}
|
||||||
public long CurrentSubAccountId()
|
public long CurrentSubAccountId()
|
||||||
{
|
{
|
||||||
return IsAuthenticated()
|
return IsAuthenticated()
|
||||||
? long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "SubAccountId")?.Value)
|
? long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "SubAccountId")?.Value)
|
||||||
: 0;
|
: 0;
|
||||||
}
|
}
|
||||||
public string CurrentAccountMobile()
|
public string CurrentAccountMobile()
|
||||||
{
|
{
|
||||||
return IsAuthenticated()
|
return IsAuthenticated()
|
||||||
? _contextAccessor.HttpContext.User.Claims.First(x => x.Type == "Mobile")?.Value
|
? _contextAccessor.HttpContext.User.Claims.First(x => x.Type == "Mobile")?.Value
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Vafa
|
#region Vafa
|
||||||
|
|
||||||
@@ -111,166 +111,160 @@ public class AuthHelper : IAuthHelper
|
|||||||
}
|
}
|
||||||
|
|
||||||
public string GetWorkshopSlug()
|
public string GetWorkshopSlug()
|
||||||
{
|
{
|
||||||
return CurrentAccountInfo().ClientAriaPermission == "true"
|
return CurrentAccountInfo().ClientAriaPermission == "true"
|
||||||
? _contextAccessor.HttpContext.User.Claims.First(x => x.Type == "WorkshopSlug")?.Value
|
? _contextAccessor.HttpContext.User.Claims.First(x => x.Type == "WorkshopSlug")?.Value
|
||||||
: "";
|
: "";
|
||||||
}
|
}
|
||||||
public string GetWorkshopName()
|
public string GetWorkshopName()
|
||||||
{
|
{
|
||||||
var workshopName = _contextAccessor.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "ClientAriaPermission")?.Value == "true";
|
var workshopName = _contextAccessor.HttpContext.User.Claims.FirstOrDefault(x => x.Type == "ClientAriaPermission")?.Value == "true";
|
||||||
if (workshopName)
|
if (workshopName)
|
||||||
{
|
{
|
||||||
return _contextAccessor.HttpContext.User.Claims.First(x => x.Type == "WorkshopName")?.Value;
|
return _contextAccessor.HttpContext.User.Claims.First(x => x.Type == "WorkshopName")?.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
public string CurrentAccountRole()
|
public string CurrentAccountRole()
|
||||||
{
|
{
|
||||||
if (IsAuthenticated())
|
if (IsAuthenticated())
|
||||||
return _contextAccessor.HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value;
|
return _contextAccessor.HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsAuthenticated()
|
public bool IsAuthenticated()
|
||||||
{
|
{
|
||||||
return _contextAccessor.HttpContext.User.Identity.IsAuthenticated;
|
return _contextAccessor.HttpContext.User.Identity.IsAuthenticated;
|
||||||
//var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
//var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
||||||
//if (claims.Count > 0)
|
//if (claims.Count > 0)
|
||||||
// return true;
|
// return true;
|
||||||
//return false;
|
//return false;
|
||||||
//return claims.Count > 0;
|
//return claims.Count > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Signin(AuthViewModel account)
|
public void Signin(AuthViewModel account)
|
||||||
{
|
{
|
||||||
#region MahanChanges
|
#region MahanChanges
|
||||||
|
|
||||||
if (account.Id == 322)
|
var permissions = account.Permissions is { Count: > 0 } ? Tools.SerializeToBson(account.Permissions) : "";
|
||||||
account.Permissions.AddRange([3060301, 30603, 30604, 30605]);
|
var workshopBson = account.WorkshopList is { Count: > 0 } ? Tools.SerializeToBson(account.WorkshopList) : "";
|
||||||
|
var slug = account.WorkshopSlug ?? "";
|
||||||
|
|
||||||
var permissions = account.Permissions is { Count: > 0 } ? Tools.SerializeToBson(account.Permissions) : "";
|
#endregion
|
||||||
|
|
||||||
|
var claims = new List<Claim>
|
||||||
|
{
|
||||||
var workshopBson = account.WorkshopList is { Count: > 0 } ? Tools.SerializeToBson(account.WorkshopList) : "";
|
new Claim("AccountId", account.Id.ToString()),
|
||||||
var slug = account.WorkshopSlug ?? "";
|
new Claim(ClaimTypes.Name, account.Fullname),
|
||||||
|
new Claim(ClaimTypes.Role, account.RoleId.ToString()),
|
||||||
#endregion
|
new Claim("Username", account.Username), // Or Use ClaimTypes.NameIdentifier
|
||||||
|
|
||||||
var claims = new List<Claim>
|
|
||||||
{
|
|
||||||
new Claim("AccountId", account.Id.ToString()),
|
|
||||||
new Claim(ClaimTypes.Name, account.Fullname),
|
|
||||||
new Claim(ClaimTypes.Role, account.RoleId.ToString()),
|
|
||||||
new Claim("Username", account.Username), // Or Use ClaimTypes.NameIdentifier
|
|
||||||
new Claim("permissions", permissions),
|
new Claim("permissions", permissions),
|
||||||
new Claim("Mobile", account.Mobile),
|
new Claim("Mobile", account.Mobile),
|
||||||
new Claim("ProfilePhoto", account.ProfilePhoto ),
|
new Claim("ProfilePhoto", account.ProfilePhoto ),
|
||||||
new Claim("RoleName", account.RoleName),
|
new Claim("RoleName", account.RoleName),
|
||||||
new Claim("SubAccountId", account.SubAccountId.ToString()),
|
new Claim("SubAccountId", account.SubAccountId.ToString()),
|
||||||
new Claim("AdminAreaPermission", account.AdminAreaPermission.ToString()),
|
new Claim("AdminAreaPermission", account.AdminAreaPermission.ToString()),
|
||||||
new Claim("ClientAriaPermission", account.ClientAriaPermission.ToString()),
|
new Claim("ClientAriaPermission", account.ClientAriaPermission.ToString()),
|
||||||
new Claim("IsCamera", "false"),
|
new Claim("IsCamera", "false"),
|
||||||
new Claim("PositionValue",account.PositionValue.ToString()),
|
new Claim("PositionValue",account.PositionValue.ToString()),
|
||||||
//mahanChanges
|
//mahanChanges
|
||||||
new("workshopList",workshopBson),
|
new("workshopList",workshopBson),
|
||||||
new("WorkshopSlug",slug),
|
new("WorkshopSlug",slug),
|
||||||
new("WorkshopName",account.WorkshopName??"")
|
new("WorkshopName",account.WorkshopName??"")
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
|
var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
|
||||||
|
|
||||||
var authProperties = new AuthenticationProperties
|
var authProperties = new AuthenticationProperties
|
||||||
{
|
{
|
||||||
ExpiresUtc = DateTimeOffset.UtcNow.AddDays(1)
|
ExpiresUtc = DateTimeOffset.UtcNow.AddDays(1)
|
||||||
};
|
};
|
||||||
|
|
||||||
_contextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,
|
_contextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,
|
||||||
new ClaimsPrincipal(claimsIdentity),
|
new ClaimsPrincipal(claimsIdentity),
|
||||||
authProperties);
|
authProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Camera
|
#region Camera
|
||||||
public void CameraSignIn(CameraAuthViewModel account)
|
public void CameraSignIn(CameraAuthViewModel account)
|
||||||
{
|
{
|
||||||
var claims = new List<Claim>
|
var claims = new List<Claim>
|
||||||
{
|
{
|
||||||
new Claim("AccountId", account.Id.ToString()),
|
new Claim("AccountId", account.Id.ToString()),
|
||||||
new Claim("Username", account.Username), // Or Use ClaimTypes.NameIdentifier
|
new Claim("Username", account.Username), // Or Use ClaimTypes.NameIdentifier
|
||||||
new Claim("WorkshopId", account.WorkshopId.ToString()),
|
new Claim("WorkshopId", account.WorkshopId.ToString()),
|
||||||
new Claim("WorkshopName", account.WorkshopName),
|
new Claim("WorkshopName", account.WorkshopName),
|
||||||
new Claim("Mobile", account.Mobile),
|
new Claim("Mobile", account.Mobile),
|
||||||
new Claim("AccountId", account.AccountId.ToString()),
|
new Claim("AccountId", account.AccountId.ToString()),
|
||||||
new Claim("IsActiveString", account.IsActiveString),
|
new Claim("IsActiveString", account.IsActiveString),
|
||||||
new Claim("IsCamera", "true"),
|
new Claim("IsCamera", "true"),
|
||||||
|
|
||||||
};
|
};
|
||||||
var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
|
var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
|
||||||
|
|
||||||
var authProperties = new AuthenticationProperties
|
var authProperties = new AuthenticationProperties
|
||||||
{
|
{
|
||||||
|
|
||||||
//ExpiresUtc = DateTimeOffset.UtcNow.AddDays(30)
|
//ExpiresUtc = DateTimeOffset.UtcNow.AddDays(30)
|
||||||
ExpiresUtc = new DateTimeOffset(year: 2100, month: 1, day: 1, hour: 0, minute: 0, second: 0, offset: TimeSpan.Zero)
|
ExpiresUtc = new DateTimeOffset(year: 2100, month: 1, day: 1, hour: 0, minute: 0, second: 0, offset: TimeSpan.Zero)
|
||||||
};
|
};
|
||||||
|
|
||||||
_contextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,
|
_contextAccessor.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,
|
||||||
new ClaimsPrincipal(claimsIdentity),
|
new ClaimsPrincipal(claimsIdentity),
|
||||||
authProperties);
|
authProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
public CameraAuthViewModel CameraAccountInfo()
|
public CameraAuthViewModel CameraAccountInfo()
|
||||||
{
|
{
|
||||||
var result = new CameraAuthViewModel();
|
var result = new CameraAuthViewModel();
|
||||||
if (!IsAuthenticated())
|
if (!IsAuthenticated())
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
||||||
result.Id = long.Parse(claims.FirstOrDefault(x => x.Type == "AccountId").Value);
|
result.Id = long.Parse(claims.FirstOrDefault(x => x.Type == "AccountId").Value);
|
||||||
result.Username = claims.FirstOrDefault(x => x.Type == "Username")?.Value;
|
result.Username = claims.FirstOrDefault(x => x.Type == "Username")?.Value;
|
||||||
result.WorkshopId = long.Parse(claims.FirstOrDefault(x => x.Type == "WorkshopId")?.Value);
|
result.WorkshopId = long.Parse(claims.FirstOrDefault(x => x.Type == "WorkshopId")?.Value);
|
||||||
result.WorkshopName = claims.FirstOrDefault(x => x.Type == "WorkshopName").Value;
|
result.WorkshopName = claims.FirstOrDefault(x => x.Type == "WorkshopName").Value;
|
||||||
result.Mobile = claims.FirstOrDefault(x => x.Type == "Mobile").Value;
|
result.Mobile = claims.FirstOrDefault(x => x.Type == "Mobile").Value;
|
||||||
result.AccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "AccountId")?.Value);
|
result.AccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "AccountId")?.Value);
|
||||||
result.IsActiveString = claims.FirstOrDefault(x => x.Type == "IsActiveString").Value;
|
result.IsActiveString = claims.FirstOrDefault(x => x.Type == "IsActiveString").Value;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public void SignOut()
|
public void SignOut()
|
||||||
{
|
{
|
||||||
_contextAccessor.HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
|
_contextAccessor.HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#region Pooya
|
#region Pooya
|
||||||
|
|
||||||
public (long Id, UserType userType, long roleId) GetUserTypeWithId()
|
public (long Id, UserType userType, long roleId) GetUserTypeWithId()
|
||||||
{
|
{
|
||||||
if (!IsAuthenticated())
|
if (!IsAuthenticated())
|
||||||
return (0, UserType.Anonymous, 0);
|
return (0, UserType.Anonymous, 0);
|
||||||
var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
var claims = _contextAccessor.HttpContext.User.Claims.ToList();
|
||||||
|
|
||||||
var subAccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "SubAccountId")?.Value ?? "0");
|
var subAccountId = long.Parse(claims.FirstOrDefault(x => x.Type == "SubAccountId")?.Value ?? "0");
|
||||||
if (subAccountId > 0)
|
if (subAccountId > 0)
|
||||||
return (subAccountId, UserType.SubAccount, 0);
|
return (subAccountId, UserType.SubAccount, 0);
|
||||||
|
|
||||||
var id = long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "AccountId")?.Value);
|
var id = long.Parse(_contextAccessor.HttpContext.User.Claims.First(x => x.Type == "AccountId")?.Value);
|
||||||
if (claims.FirstOrDefault(x => x.Type == "AdminAreaPermission")?.Value == "true")
|
if (claims.FirstOrDefault(x => x.Type == "AdminAreaPermission")?.Value == "true")
|
||||||
{
|
{
|
||||||
var roleId = long.Parse(claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value ?? "0");
|
var roleId = long.Parse(claims.FirstOrDefault(x => x.Type == ClaimTypes.Role)?.Value ?? "0");
|
||||||
return (id, UserType.Admin, roleId);
|
return (id, UserType.Admin, roleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (id, UserType.Client, 0);
|
return (id, UserType.Client, 0);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -4,5 +4,5 @@ public enum IsActive
|
|||||||
{
|
{
|
||||||
False,
|
False,
|
||||||
True,
|
True,
|
||||||
None
|
|
||||||
}
|
}
|
||||||
@@ -51,11 +51,4 @@ public class OperationResult<T>
|
|||||||
Message = message;
|
Message = message;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
public OperationResult<T> Failed(string message, T data)
|
|
||||||
{
|
|
||||||
IsSuccedded = false;
|
|
||||||
Message = message;
|
|
||||||
Data = data;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -385,27 +385,11 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const int SetWorkshopWorkingHoursPermissionCode = 10606;
|
public const int SetWorkshopWorkingHoursPermissionCode = 10606;
|
||||||
|
|
||||||
#region حساب کاربری دوربین
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// تنظیمات حساب کاربری دوربین
|
/// تنظیمات حساب کاربری دوربین
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const int CameraAccountSettingsPermissionCode = 10607;
|
public const int CameraAccountSettingsPermissionCode = 10607;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// فعال/غیرفعال اکانت دوربین
|
|
||||||
/// </summary>
|
|
||||||
public const int CameraAccountActivationBtnPermissionCode = 1060701;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ویرایش اکانت دوربین
|
|
||||||
/// </summary>
|
|
||||||
public const int CameraAccountEditPermissionCode = 1060702;
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region کارپوشه
|
#region کارپوشه
|
||||||
@@ -760,22 +744,6 @@
|
|||||||
Code = CameraAccountSettingsPermissionCode,
|
Code = CameraAccountSettingsPermissionCode,
|
||||||
ParentId = RollCallOperationsPermissionCode
|
ParentId = RollCallOperationsPermissionCode
|
||||||
};
|
};
|
||||||
|
|
||||||
public static SubAccountPermissionDto CameraAccountActivationBtn { get; } = new()
|
|
||||||
{
|
|
||||||
Id = CameraAccountActivationBtnPermissionCode,
|
|
||||||
Name = "فعال/غیرفعال حساب کاربری دوربین",
|
|
||||||
Code = CameraAccountActivationBtnPermissionCode,
|
|
||||||
ParentId = CameraAccountSettingsPermissionCode
|
|
||||||
};
|
|
||||||
|
|
||||||
public static SubAccountPermissionDto CameraAccountEdit { get; } = new()
|
|
||||||
{
|
|
||||||
Id = CameraAccountEditPermissionCode,
|
|
||||||
Name = "ویراش حساب کاربری دوربین",
|
|
||||||
Code = CameraAccountEditPermissionCode,
|
|
||||||
ParentId = CameraAccountSettingsPermissionCode
|
|
||||||
};
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region کارپوشه,ParentId = WorkFlowOperationsPermissionCode
|
#region کارپوشه,ParentId = WorkFlowOperationsPermissionCode
|
||||||
|
|||||||
@@ -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>
|
||||||
/// دریافت روزهای کارکرد پرسنل در لیست بیمه ماه مشخص شده
|
/// دریافت روزهای کارکرد پرسنل در لیست بیمه ماه مشخص شده
|
||||||
@@ -1396,73 +1413,6 @@ public static class Tools
|
|||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// چک میکند که در دو شیفت استاتیک تداخل زمانی وجود دارد یا خیر
|
|
||||||
/// چک میکند که آیا ساعات وارد شده ولید هستند یا خیر
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="start1"></param>
|
|
||||||
/// <param name="end1"></param>
|
|
||||||
/// <param name="start2"></param>
|
|
||||||
/// <param name="end2"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static bool InterferenceTime(string start1, string end1, string start2, string end2)
|
|
||||||
{
|
|
||||||
if (!CheckValidHm(start1))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (!CheckValidHm(end1))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (!CheckValidHm(start2))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (!CheckValidHm(end2))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
//اگه دو شیفت نبود
|
|
||||||
if (string.IsNullOrWhiteSpace(start1) || string.IsNullOrWhiteSpace(start2))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var start1Gr = Convert.ToDateTime(start1);
|
|
||||||
var end1Gr = Convert.ToDateTime(end1);
|
|
||||||
|
|
||||||
if (end1Gr < start1Gr)
|
|
||||||
end1Gr = end1Gr.AddDays(1);
|
|
||||||
|
|
||||||
var start2Gr = Convert.ToDateTime(start2);
|
|
||||||
var end2Gr = Convert.ToDateTime(end2);
|
|
||||||
|
|
||||||
|
|
||||||
start2Gr = new DateTime(end1Gr.Year, end1Gr.Month, end1Gr.Day, start2Gr.Hour, start2Gr.Minute,
|
|
||||||
start2Gr.Second);
|
|
||||||
|
|
||||||
|
|
||||||
end2Gr = new DateTime(end1Gr.Year, end1Gr.Month, end1Gr.Day, end2Gr.Hour, end2Gr.Minute,
|
|
||||||
end2Gr.Second);
|
|
||||||
if (end2Gr < start2Gr)
|
|
||||||
end2Gr = end2Gr.AddDays(1);
|
|
||||||
|
|
||||||
var diff = (end1Gr - start1Gr).Add((end2Gr - start2Gr));
|
|
||||||
if (diff > new TimeSpan(24,0,0))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if (start2Gr <= end1Gr)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
public static DateTime FindFirstDayOfMonthGr(this DateTime date)
|
public static DateTime FindFirstDayOfMonthGr(this DateTime date)
|
||||||
{
|
{
|
||||||
var pc = new PersianCalendar();
|
var pc = new PersianCalendar();
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
namespace AccountManagement.Application.Contracts.Account;
|
|
||||||
|
|
||||||
public class AccountSelectListViewModel
|
|
||||||
{
|
|
||||||
public long Id { get; set; }
|
|
||||||
public string Name { get; set; }
|
|
||||||
|
|
||||||
public long RoleId { get; set; }
|
|
||||||
}
|
|
||||||
@@ -41,8 +41,6 @@ public interface IAccountApplication
|
|||||||
List<AccountViewModel> GetAccountsByPositionId(long positionId);
|
List<AccountViewModel> GetAccountsByPositionId(long positionId);
|
||||||
|
|
||||||
List<AccountViewModel> GetAccountEqualToLowerPositionValue();
|
List<AccountViewModel> GetAccountEqualToLowerPositionValue();
|
||||||
Task<List<AccountSelectListViewModel>> GetAdminSelectList();
|
|
||||||
|
|
||||||
OperationResult ReLogin();
|
OperationResult ReLogin();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -4,13 +4,12 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace AccountManagement.Application.Contracts.Media
|
namespace AccountManagement.Application.Contracts.Media
|
||||||
{
|
{
|
||||||
public interface IMediaApplication
|
public interface IMediaApplication
|
||||||
{
|
{
|
||||||
MediaViewModel Get(long id);
|
MediaViewModel Get(long id);
|
||||||
OperationResult UploadFile(IFormFile file, string fileLabel, string relativePath, int maximumFileLength,
|
OperationResult UploadFile(IFormFile file, string fileLabel, string relativePath, int maximumFileLength, List<string> allowedExtensions);
|
||||||
List<string> allowedExtensions, string category);
|
OperationResult MoveFile(long mediaId, string newRelativePath);
|
||||||
OperationResult MoveFile(long mediaId, string newRelativePath);
|
OperationResult DeleteFile(long mediaId);
|
||||||
OperationResult DeleteFile(long mediaId);
|
List<MediaViewModel> GetRange(IEnumerable<long> select);
|
||||||
List<MediaViewModel> GetRange(IEnumerable<long> select);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -15,6 +15,6 @@ namespace AccountManagement.Application.Contracts.SubAccount
|
|||||||
public string PhoneNumber { get; set; }
|
public string PhoneNumber { get; set; }
|
||||||
public string Username { get; set; }
|
public string Username { get; set; }
|
||||||
public string ProfilePhoto { get; set; }
|
public string ProfilePhoto { get; set; }
|
||||||
//public List<long> WorkshopIds { get; set; }
|
public List<long> WorkshopIds { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,5 @@ namespace AccountManagement.Application.Contracts.SubAccount
|
|||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
public long AccountId { get; set; }
|
public long AccountId { get; set; }
|
||||||
public List<int> Permissions { get; set; }
|
public List<int> Permissions { get; set; }
|
||||||
public List<long> WorkshopIds { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace AccountManagement.Application.Contracts.SubAccount
|
|||||||
public string PhoneNumber { get; set; }
|
public string PhoneNumber { get; set; }
|
||||||
public string RePassword { get; set; }
|
public string RePassword { get; set; }
|
||||||
public long SubAccountRoleId { get; set; }
|
public long SubAccountRoleId { get; set; }
|
||||||
//public List<long> WorkshopIds { get; set; }
|
public List<long> WorkshopIds { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,5 @@ namespace AccountManagement.Application.Contracts.SubAccount
|
|||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
public List<int> Permissions { get; set; }
|
public List<int> Permissions { get; set; }
|
||||||
public List<long> WorkshopIds { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,5 +21,4 @@ public class EditTask:CreateTask
|
|||||||
public List<AccountViewModel> AssignsLists { get; set; }
|
public List<AccountViewModel> AssignsLists { get; set; }
|
||||||
public bool HasTicket { get; set; }
|
public bool HasTicket { get; set; }
|
||||||
public long TaskScheduleId { get; set; }
|
public long TaskScheduleId { get; set; }
|
||||||
public bool HasRequest { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,6 @@ public class TaskViewModel
|
|||||||
public bool CanDelete { get; set; }
|
public bool CanDelete { get; set; }
|
||||||
public bool CanAssign { get; set; }
|
public bool CanAssign { get; set; }
|
||||||
public bool CanCheckRequests { get; set; }
|
public bool CanCheckRequests { get; set; }
|
||||||
public bool HasRequest { get; set; }
|
|
||||||
public AssignViewModel AssignedReceiverViewModel { get; set; }
|
public AssignViewModel AssignedReceiverViewModel { get; set; }
|
||||||
|
|
||||||
public TaskScheduleType ScheduleType { get; set; }
|
public TaskScheduleType ScheduleType { get; set; }
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ public class TaskScheduleDetailsViewModel
|
|||||||
public string ContractingPartyName { get; set; }
|
public string ContractingPartyName { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
public string Count { get; set; }
|
|
||||||
public string FirstEndTaskDate { get; set; }
|
|
||||||
public List<MediaViewModel> Medias { get; set; }
|
public List<MediaViewModel> Medias { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -308,7 +308,7 @@ public class AccountApplication : IAccountApplication
|
|||||||
{
|
{
|
||||||
Slug = _passwordHasher.SlugHasher(x.WorkshopId),
|
Slug = _passwordHasher.SlugHasher(x.WorkshopId),
|
||||||
Name = x.WorkshopName,
|
Name = x.WorkshopName,
|
||||||
PersonnelCount = x.PersonnelCount,
|
PersonnelCount = 0,
|
||||||
Id = x.WorkshopId
|
Id = x.WorkshopId
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
@@ -627,10 +627,7 @@ public class AccountApplication : IAccountApplication
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<AccountSelectListViewModel>> GetAdminSelectList()
|
|
||||||
{
|
|
||||||
return await _accountRepository.GetAdminSelectList();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Pooya
|
#region Pooya
|
||||||
|
|||||||
@@ -9,113 +9,147 @@ using Microsoft.AspNetCore.Http;
|
|||||||
|
|
||||||
namespace AccountManagement.Application
|
namespace AccountManagement.Application
|
||||||
{
|
{
|
||||||
public class MediaApplication : IMediaApplication
|
public class MediaApplication:IMediaApplication
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
private const string _basePath = "Medias";
|
private const string _basePath = "Medias";
|
||||||
private readonly IMediaRepository _mediaRepository;
|
private readonly IMediaRepository _mediaRepository;
|
||||||
|
|
||||||
public MediaApplication(IMediaRepository mediaRepository)
|
public MediaApplication(IMediaRepository mediaRepository)
|
||||||
{
|
{
|
||||||
_mediaRepository = mediaRepository;
|
_mediaRepository = mediaRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// دریافت فایل و نوشتن آن در مسیر داده شده، و ثبت مدیا
|
/// دریافت فایل و نوشتن آن در مسیر داده شده، و ثبت مدیا
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="file">فایل</param>
|
/// <param name="file">فایل</param>
|
||||||
/// <param name="fileLabel">برچسب فایل که در نام فایل ظاهر می شود</param>
|
/// <param name="fileLabel">برچسب فایل که در نام فایل ظاهر می شود</param>
|
||||||
/// <param name="relativePath">مسیر فایل</param>
|
/// <param name="relativePath">مسیر فایل</param>
|
||||||
/// <param name="maximumFileLength">حداکثر حجم فایل به مگابایت</param>
|
/// <param name="allowedExtensions">[.png,.jpg,.jpeg] پسوند های مجاز مثلا </param>
|
||||||
/// <param name="allowedExtensions">[.png,.jpg,.jpeg] پسوند های مجاز مثلا </param>
|
/// <param name="maximumFileLength">حداکثر حجم فایل به مگابایت</param>
|
||||||
/// <param name="category"></param>
|
/// <returns></returns>
|
||||||
/// <returns></returns>
|
public OperationResult UploadFile(IFormFile file, string fileLabel, string relativePath,int maximumFileLength,List<string> allowedExtensions)
|
||||||
public OperationResult UploadFile(IFormFile file, string fileLabel, string relativePath, int maximumFileLength,
|
{
|
||||||
List<string> allowedExtensions, string category)
|
OperationResult op = new();
|
||||||
{
|
var path = Path.Combine(_basePath, relativePath);
|
||||||
return _mediaRepository.UploadFile(file, fileLabel, relativePath, maximumFileLength, allowedExtensions, category);
|
var fileExtension = Path.GetExtension(file.FileName);
|
||||||
}
|
|
||||||
|
if (file == null || file.Length == 0)
|
||||||
|
return op.Failed("خطای سیستمی");
|
||||||
|
|
||||||
|
if (file.Length > (maximumFileLength * 1024 * 1024))
|
||||||
|
return op.Failed($"حجم فایل نمی تواند بیشتر از " +
|
||||||
|
$"{maximumFileLength}" +
|
||||||
|
$"مگابایت باشد");
|
||||||
|
|
||||||
|
if (!allowedExtensions.Contains(fileExtension.ToLower()))
|
||||||
|
{
|
||||||
|
var operationMessage = ":فرمت فایل باید یکی از موارد زیر باشد";
|
||||||
|
operationMessage += "\n";
|
||||||
|
operationMessage += string.Join(" ", allowedExtensions);
|
||||||
|
return op.Failed(operationMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
Directory.CreateDirectory(path);
|
||||||
/// حذف فایل
|
|
||||||
/// </summary>
|
|
||||||
public OperationResult DeleteFile(long mediaId)
|
|
||||||
{
|
|
||||||
OperationResult op = new();
|
|
||||||
var media = _mediaRepository.Get(mediaId);
|
|
||||||
if (media == null)
|
|
||||||
return op.Failed("رکورد مورد نظر یافت نشد");
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (File.Exists(media.Path))
|
|
||||||
File.Delete(media.Path);
|
|
||||||
else
|
|
||||||
return op.Failed("فایل یافت نشد");
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return op.Failed("خطایی در حذف فایل رخ داده است");
|
|
||||||
}
|
|
||||||
|
|
||||||
_mediaRepository.Remove(media.id);
|
var extension = Path.GetExtension(file.FileName);
|
||||||
_mediaRepository.SaveChanges();
|
|
||||||
return op.Succcedded();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
var uniqueFileName = $"{fileLabel}-{DateTime.Now.Ticks}{extension}";
|
||||||
/// جابجا کردن فایل
|
var filePath = Path.Combine(path, uniqueFileName);
|
||||||
/// </summary>
|
using (var fileStream = new FileStream(filePath, FileMode.CreateNew))
|
||||||
public OperationResult MoveFile(long mediaId, string newRelativePath)
|
{
|
||||||
{
|
file.CopyTo(fileStream);
|
||||||
OperationResult op = new();
|
}
|
||||||
var media = _mediaRepository.Get(mediaId);
|
var mediaEntity = new Media(filePath, extension, "فایل", "EmployeeDocuments");
|
||||||
var oldPath = media.Path;
|
_mediaRepository.Create(mediaEntity);
|
||||||
var path = Path.Combine(_basePath, newRelativePath);
|
_mediaRepository.SaveChanges();
|
||||||
Directory.CreateDirectory(path);
|
|
||||||
|
|
||||||
string filepath = Path.Combine(path, Path.GetFileName(oldPath));
|
return op.Succcedded(mediaEntity.id);
|
||||||
try
|
|
||||||
{
|
|
||||||
File.Move(oldPath, filepath);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
return op.Failed("در جابجایی فایل خطایی رخ داده است");
|
|
||||||
}
|
|
||||||
|
|
||||||
media.Edit(filepath, media.Type, media.Category);
|
}
|
||||||
_mediaRepository.SaveChanges();
|
|
||||||
return op.Succcedded();
|
|
||||||
}
|
|
||||||
|
|
||||||
public MediaViewModel Get(long id)
|
|
||||||
{
|
|
||||||
var media = _mediaRepository.Get(id);
|
|
||||||
if (media == null)
|
|
||||||
return new();
|
|
||||||
return new MediaViewModel()
|
|
||||||
{
|
|
||||||
Category = media.Category,
|
|
||||||
Path = media.Path,
|
|
||||||
Id = media.id,
|
|
||||||
Type = media.Type
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<MediaViewModel> GetRange(IEnumerable<long> ids)
|
/// <summary>
|
||||||
{
|
/// حذف فایل
|
||||||
var medias = _mediaRepository.GetRange(ids);
|
/// </summary>
|
||||||
return medias.Select(x => new MediaViewModel()
|
public OperationResult DeleteFile(long mediaId)
|
||||||
{
|
{
|
||||||
Category = x.Category,
|
OperationResult op = new();
|
||||||
Path = x.Path,
|
var media = _mediaRepository.Get(mediaId);
|
||||||
Id = x.id,
|
if (media == null)
|
||||||
Type = x.Type,
|
return op.Failed("رکورد مورد نظر یافت نشد");
|
||||||
}).ToList();
|
try
|
||||||
}
|
{
|
||||||
|
if (File.Exists(media.Path))
|
||||||
|
File.Delete(media.Path);
|
||||||
|
else
|
||||||
|
return op.Failed("فایل یافت نشد");
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return op.Failed("خطایی در حذف فایل رخ داده است");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
_mediaRepository.Remove(media.id);
|
||||||
|
_mediaRepository.SaveChanges();
|
||||||
|
return op.Succcedded();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// جابجا کردن فایل
|
||||||
|
/// </summary>
|
||||||
|
public OperationResult MoveFile(long mediaId, string newRelativePath)
|
||||||
|
{
|
||||||
|
OperationResult op = new();
|
||||||
|
var media = _mediaRepository.Get(mediaId);
|
||||||
|
var oldPath = media.Path;
|
||||||
|
var path = Path.Combine(_basePath, newRelativePath);
|
||||||
|
Directory.CreateDirectory(path);
|
||||||
|
|
||||||
|
string filepath = Path.Combine(path, Path.GetFileName(oldPath));
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File.Move(oldPath, filepath);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return op.Failed("در جابجایی فایل خطایی رخ داده است");
|
||||||
|
}
|
||||||
|
|
||||||
|
media.Edit(filepath, media.Type, media.Category);
|
||||||
|
_mediaRepository.SaveChanges();
|
||||||
|
return op.Succcedded();
|
||||||
|
}
|
||||||
|
|
||||||
|
public MediaViewModel Get(long id)
|
||||||
|
{
|
||||||
|
var media = _mediaRepository.Get(id);
|
||||||
|
if (media == null)
|
||||||
|
return new();
|
||||||
|
return new MediaViewModel()
|
||||||
|
{
|
||||||
|
Category = media.Category,
|
||||||
|
Path = media.Path,
|
||||||
|
Id = media.id,
|
||||||
|
Type = media.Type
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MediaViewModel> GetRange(IEnumerable<long> ids)
|
||||||
|
{
|
||||||
|
var medias = _mediaRepository.GetRange(ids);
|
||||||
|
return medias.Select(x=>new MediaViewModel()
|
||||||
|
{
|
||||||
|
Category = x.Category,
|
||||||
|
Path = x.Path,
|
||||||
|
Id = x.id,
|
||||||
|
Type = x.Type,
|
||||||
|
}).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,12 +113,12 @@ namespace AccountManagement.Application
|
|||||||
if (cmd.PhoneNumber.Length != 11)
|
if (cmd.PhoneNumber.Length != 11)
|
||||||
return op.Failed("شماره تلفن همراه نامعتبر است");
|
return op.Failed("شماره تلفن همراه نامعتبر است");
|
||||||
|
|
||||||
//if (!cmd.WorkshopIds.Any())
|
if (!cmd.WorkshopIds.Any())
|
||||||
// return op.Failed("حداقل یک کارگاه را انتخاب کنید");
|
return op.Failed("حداقل یک کارگاه را انتخاب کنید");
|
||||||
|
|
||||||
|
|
||||||
//if (!cmd.WorkshopIds.All(x => accountWorkshopsList.Contains(x)))
|
if (!cmd.WorkshopIds.All(x => accountWorkshopsList.Contains(x)))
|
||||||
// return op.Failed("خطای سیستمی");
|
return op.Failed("خطای سیستمی");
|
||||||
|
|
||||||
|
|
||||||
if (cmd.SubAccountRoleId == 0 || !_subAccountRoleRepository.Exists(x => cmd.SubAccountRoleId == x.id))
|
if (cmd.SubAccountRoleId == 0 || !_subAccountRoleRepository.Exists(x => cmd.SubAccountRoleId == x.id))
|
||||||
@@ -131,10 +131,6 @@ namespace AccountManagement.Application
|
|||||||
_cameraAccountRepository.Exists(x => x.Username == cmd.Username))
|
_cameraAccountRepository.Exists(x => x.Username == cmd.Username))
|
||||||
return op.Failed("نام کاربری نمی تواند تکراری باشد");
|
return op.Failed("نام کاربری نمی تواند تکراری باشد");
|
||||||
|
|
||||||
var role = _subAccountRoleRepository.Get(cmd.SubAccountRoleId);
|
|
||||||
var workshopId = role.RoleWorkshops.Select(x => x.WorkshopId).ToList();
|
|
||||||
|
|
||||||
|
|
||||||
var entity = new SubAccount(cmd.AccountId, cmd.SubAccountRoleId, cmd.NationalCode, cmd.FName, cmd.LName, cmd.PhoneNumber, cmd.Username, _passwordHasher.Hash(cmd.Password),
|
var entity = new SubAccount(cmd.AccountId, cmd.SubAccountRoleId, cmd.NationalCode, cmd.FName, cmd.LName, cmd.PhoneNumber, cmd.Username, _passwordHasher.Hash(cmd.Password),
|
||||||
cmd.ProfilePhoto);
|
cmd.ProfilePhoto);
|
||||||
|
|
||||||
@@ -146,7 +142,7 @@ namespace AccountManagement.Application
|
|||||||
_subAccountRepository.SaveChanges();
|
_subAccountRepository.SaveChanges();
|
||||||
|
|
||||||
|
|
||||||
var workshops = workshopId.Select(x => new WorkshopSubAccount(x, entity.id));
|
var workshops = cmd.WorkshopIds.Select(x => new WorkshopSubAccount(x, entity.id));
|
||||||
|
|
||||||
foreach (var w in workshops)
|
foreach (var w in workshops)
|
||||||
_workshopSubAccountRepository.Create(w);
|
_workshopSubAccountRepository.Create(w);
|
||||||
@@ -179,22 +175,22 @@ namespace AccountManagement.Application
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//if (!cmd.WorkshopIds.All(x => accountWorkshopsList.Contains(x)))
|
if (!cmd.WorkshopIds.All(x => accountWorkshopsList.Contains(x)))
|
||||||
// return op.Failed("خطای سیستمی");
|
return op.Failed("خطای سیستمی");
|
||||||
|
|
||||||
|
|
||||||
if (cmd.SubAccountRoleId == 0 || !_subAccountRoleRepository.Exists(x => cmd.SubAccountRoleId == x.id))
|
if (cmd.SubAccountRoleId == 0 || !_subAccountRoleRepository.Exists(x => cmd.SubAccountRoleId == x.id))
|
||||||
return op.Failed("نقش مورد نظر وجود ندارد");
|
return op.Failed("نقش مورد نظر وجود ندارد");
|
||||||
|
|
||||||
//var workshopSubAccounts = _workshopSubAccountRepository.GetWorkshopsSubAccountEntityBySubAccountId(entity.id);
|
var workshopSubAccounts = _workshopSubAccountRepository.GetWorkshopsSubAccountEntityBySubAccountId(entity.id);
|
||||||
//foreach (var workshopSubAccount in workshopSubAccounts)
|
foreach (var workshopSubAccount in workshopSubAccounts)
|
||||||
// _workshopSubAccountRepository.Remove(workshopSubAccount);
|
_workshopSubAccountRepository.Remove(workshopSubAccount);
|
||||||
|
|
||||||
|
|
||||||
//var workshops = cmd.WorkshopIds.Select(x => new WorkshopSubAccount(x, entity.id));
|
var workshops = cmd.WorkshopIds.Select(x => new WorkshopSubAccount(x, entity.id));
|
||||||
|
|
||||||
//foreach (var w in workshops)
|
foreach (var w in workshops)
|
||||||
// _workshopSubAccountRepository.Create(w);
|
_workshopSubAccountRepository.Create(w);
|
||||||
|
|
||||||
entity.Edit(cmd.SubAccountRoleId, cmd.NationalCode, cmd.FName, cmd.LName, cmd.ProfilePhoto);
|
entity.Edit(cmd.SubAccountRoleId, cmd.NationalCode, cmd.FName, cmd.LName, cmd.ProfilePhoto);
|
||||||
_workshopSubAccountRepository.SaveChanges();
|
_workshopSubAccountRepository.SaveChanges();
|
||||||
@@ -231,8 +227,7 @@ namespace AccountManagement.Application
|
|||||||
{
|
{
|
||||||
Id = entity.id,
|
Id = entity.id,
|
||||||
Title = entity.Title,
|
Title = entity.Title,
|
||||||
Permissions = entity.RolePermissions.Select(x => x.PermissionCode).ToList(),
|
Permissions = entity.RolePermissions.Select(x => x.PermissionCode).ToList()
|
||||||
WorkshopIds = entity.RoleWorkshops.Select(x=>x.WorkshopId).ToList()
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,7 +241,7 @@ namespace AccountManagement.Application
|
|||||||
OperationResult op = new();
|
OperationResult op = new();
|
||||||
if (_subAccountRoleRepository.Exists(x => x.AccountId == command.AccountId && x.Title.Trim() == command.Title.Trim()))
|
if (_subAccountRoleRepository.Exists(x => x.AccountId == command.AccountId && x.Title.Trim() == command.Title.Trim()))
|
||||||
return op.Failed("یک نقش با این عنوان وجود دارد");
|
return op.Failed("یک نقش با این عنوان وجود دارد");
|
||||||
var role = new SubAccountRole(command.Title, command.Permissions, command.AccountId,command.WorkshopIds);
|
var role = new SubAccountRole(command.Title, command.Permissions, command.AccountId);
|
||||||
_subAccountRoleRepository.Create(role);
|
_subAccountRoleRepository.Create(role);
|
||||||
_subAccountRoleRepository.SaveChanges();
|
_subAccountRoleRepository.SaveChanges();
|
||||||
return op.Succcedded(role.id);
|
return op.Succcedded(role.id);
|
||||||
@@ -259,26 +254,8 @@ namespace AccountManagement.Application
|
|||||||
var entity = _subAccountRoleRepository.Get(cmd.Id);
|
var entity = _subAccountRoleRepository.Get(cmd.Id);
|
||||||
if (entity == null)
|
if (entity == null)
|
||||||
return op.Failed(ApplicationMessages.RecordNotFound);
|
return op.Failed(ApplicationMessages.RecordNotFound);
|
||||||
entity.Edit(cmd.Title, cmd.Permissions,cmd.WorkshopIds);
|
entity.Edit(cmd.Title, cmd.Permissions);
|
||||||
|
_subAccountRoleRepository.SaveChanges();
|
||||||
var subAccountRoles = _subAccountRepository.GetBySubAccountRole(cmd.Id);
|
|
||||||
|
|
||||||
foreach (var subAccount in subAccountRoles)
|
|
||||||
{
|
|
||||||
var workshopSubAccounts = _workshopSubAccountRepository.GetWorkshopsSubAccountEntityBySubAccountId(subAccount.id);
|
|
||||||
foreach (var workshopSubAccount in workshopSubAccounts)
|
|
||||||
_workshopSubAccountRepository.Remove(workshopSubAccount);
|
|
||||||
|
|
||||||
|
|
||||||
var workshops = cmd.WorkshopIds.Select(x => new WorkshopSubAccount(x, subAccount.id));
|
|
||||||
|
|
||||||
foreach (var w in workshops)
|
|
||||||
_workshopSubAccountRepository.Create(w);
|
|
||||||
}
|
|
||||||
|
|
||||||
_subAccountRoleRepository.SaveChanges();
|
|
||||||
_workshopSubAccountRepository.SaveChanges();
|
|
||||||
|
|
||||||
return op.Succcedded();
|
return op.Succcedded();
|
||||||
}
|
}
|
||||||
public OperationResult AssignRoleToSubAccount(AssignSubAccountRole command)
|
public OperationResult AssignRoleToSubAccount(AssignSubAccountRole command)
|
||||||
|
|||||||
@@ -597,7 +597,7 @@ public class TaskApplication : ITaskApplication
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
assign.AcceptTimeRequest();
|
assign.AcceptTimeRequest();
|
||||||
message = string.IsNullOrWhiteSpace(message) ? "درخواست شما مورد تایید قرار گرفت" : message;
|
message = string.IsNullOrWhiteSpace(message) ? "درخواست شما مورد تایید قرار گرفت" : message;
|
||||||
var messageEntity = new TaskMessage(message, "تایید درخواست مهلت", assign.id);
|
var messageEntity = new TaskMessage(message, "تایید درخواست مهلت", assign.id);
|
||||||
@@ -622,7 +622,6 @@ public class TaskApplication : ITaskApplication
|
|||||||
{
|
{
|
||||||
return operation.Failed("چنین وظیفه ای درخواستی برای مهلت ندارد");
|
return operation.Failed("چنین وظیفه ای درخواستی برای مهلت ندارد");
|
||||||
}
|
}
|
||||||
|
|
||||||
assign.RejectTimeRequest();
|
assign.RejectTimeRequest();
|
||||||
if (assign.EndTaskDate.Date <= DateTime.Now.Date)
|
if (assign.EndTaskDate.Date <= DateTime.Now.Date)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,8 +27,6 @@ namespace AccountManagement.Domain.AccountAgg
|
|||||||
List<AccountViewModel> GetAccountEqualToLowerPositionValue();
|
List<AccountViewModel> GetAccountEqualToLowerPositionValue();
|
||||||
AccountViewModel GetAccountViewModel(long id);
|
AccountViewModel GetAccountViewModel(long id);
|
||||||
List<AccountViewModel> GetAccountsDeactivePositionValue(long Positionid);
|
List<AccountViewModel> GetAccountsDeactivePositionValue(long Positionid);
|
||||||
Task<List<AccountSelectListViewModel>> GetAdminSelectList();
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
List<AccountViewModel> GetAdminAccountsNew();
|
List<AccountViewModel> GetAdminAccountsNew();
|
||||||
|
|||||||
@@ -71,16 +71,14 @@ public class Assign : EntityBase
|
|||||||
|
|
||||||
public void AcceptTimeRequest()
|
public void AcceptTimeRequest()
|
||||||
{
|
{
|
||||||
ClearRequests();
|
TimeRequest = false;
|
||||||
TimeRequest = false;
|
|
||||||
AcceptedTimeRequest++;
|
AcceptedTimeRequest++;
|
||||||
EndTaskDate = RequestDate < DateTime.Today ? DateTime.Today : RequestDate.Value;
|
EndTaskDate = RequestDate < DateTime.Today ? DateTime.Today : RequestDate.Value;
|
||||||
|
|
||||||
}
|
}
|
||||||
public void RejectTimeRequest()
|
public void RejectTimeRequest()
|
||||||
{
|
{
|
||||||
ClearRequests();
|
TimeRequest = false;
|
||||||
TimeRequest = false;
|
|
||||||
TimeRequestDescription = null;
|
TimeRequestDescription = null;
|
||||||
RequestDate = null;
|
RequestDate = null;
|
||||||
}
|
}
|
||||||
@@ -94,36 +92,31 @@ public class Assign : EntityBase
|
|||||||
}
|
}
|
||||||
public void AcceptCancelRequest()
|
public void AcceptCancelRequest()
|
||||||
{
|
{
|
||||||
ClearRequests();
|
IsCanceledRequest = false;
|
||||||
IsCanceledRequest = false;
|
|
||||||
IsCancel = true;
|
IsCancel = true;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
public void RejectCancel()
|
public void RejectCancel()
|
||||||
{
|
{
|
||||||
ClearRequests();
|
CancelDescription = null;
|
||||||
CancelDescription = null;
|
|
||||||
IsCanceledRequest = false;
|
IsCanceledRequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CompleteRequest(string? doneDescription)
|
public void CompleteRequest(string? doneDescription)
|
||||||
{
|
{
|
||||||
ClearRequests();
|
DoneDescription = doneDescription;
|
||||||
DoneDescription = doneDescription;
|
|
||||||
IsDoneRequest = true;
|
IsDoneRequest = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RejectCompleteRequest()
|
public void RejectCompleteRequest()
|
||||||
{
|
{
|
||||||
ClearRequests();
|
IsDoneRequest = false;
|
||||||
IsDoneRequest = false;
|
|
||||||
DoneDescription = null;
|
DoneDescription = null;
|
||||||
}
|
}
|
||||||
public void Completed()
|
public void Completed()
|
||||||
{
|
{
|
||||||
ClearRequests();
|
IsDoneRequest = false;
|
||||||
IsDoneRequest = false;
|
|
||||||
IsDone = true;
|
IsDone = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,13 +128,6 @@ public class Assign : EntityBase
|
|||||||
TimeRequest = false;
|
TimeRequest = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClearRequests()
|
|
||||||
{
|
|
||||||
IsDoneRequest = false;
|
|
||||||
IsCanceledRequest = false;
|
|
||||||
TimeRequest = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void InsertNewData(DateTime endTaskDate,bool timeRequest,int acceptedTimeRequest,DateTime? requestDate, string timeRequestDescription, bool isCanceledRequest,
|
public void InsertNewData(DateTime endTaskDate,bool timeRequest,int acceptedTimeRequest,DateTime? requestDate, string timeRequestDescription, bool isCanceledRequest,
|
||||||
bool isCancel,string cancelDescription,bool isDone,bool isDoneRequest,string? doneDescription)
|
bool isCancel,string cancelDescription,bool isDone,bool isDoneRequest,string? doneDescription)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using _0_Framework.Application;
|
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using AccountManagement.Application.Contracts.Media;
|
using AccountManagement.Application.Contracts.Media;
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.MediaAgg;
|
namespace AccountManagement.Domain.MediaAgg;
|
||||||
|
|
||||||
public interface IMediaRepository : IRepository<long, Media>
|
public interface IMediaRepository:IRepository<long,Media>
|
||||||
{
|
{
|
||||||
public string BasePath { get; protected set; }
|
|
||||||
void CreateMediaWithTaskMedia(long taskId, long mediaId);
|
void CreateMediaWithTaskMedia(long taskId, long mediaId);
|
||||||
List<MediaViewModel> GetMediaByTaskId(long taskId);
|
List<MediaViewModel> GetMediaByTaskId(long taskId);
|
||||||
void Remove(long id);
|
void Remove(long id);
|
||||||
@@ -26,6 +23,4 @@ public interface IMediaRepository : IRepository<long, Media>
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
OperationResult UploadFile(IFormFile file, string fileLabel, string relativePath, int maximumFileLength,
|
|
||||||
List<string> allowedExtensions, string category);
|
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,6 @@
|
|||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using AccountManagement.Application.Contracts.SubAccount;
|
using AccountManagement.Application.Contracts.SubAccount;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Specialized;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.SubAccountAgg
|
namespace AccountManagement.Domain.SubAccountAgg
|
||||||
{
|
{
|
||||||
@@ -14,6 +13,5 @@ namespace AccountManagement.Domain.SubAccountAgg
|
|||||||
SubAccount GetDetails(long subAccountId);
|
SubAccount GetDetails(long subAccountId);
|
||||||
SubAccount GetBy(string commandUsername);
|
SubAccount GetBy(string commandUsername);
|
||||||
SubAccountViewModel GetByVerifyCodeAndPhoneNumber(string code, string phone);
|
SubAccountViewModel GetByVerifyCodeAndPhoneNumber(string code, string phone);
|
||||||
List<SubAccount> GetBySubAccountRole(long subAccountRoleId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,21 +13,17 @@ namespace AccountManagement.Domain.SubAccountRoleAgg
|
|||||||
|
|
||||||
public List<SubAccountRolePermission> RolePermissions { get; private set; }
|
public List<SubAccountRolePermission> RolePermissions { get; private set; }
|
||||||
public List<SubAccount> SubAccounts { get; private set; }
|
public List<SubAccount> SubAccounts { get; private set; }
|
||||||
public List<SubAccountRoleWorkshop> RoleWorkshops { get; set; }
|
|
||||||
|
|
||||||
private SubAccountRole()
|
private SubAccountRole()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SubAccountRole(string title, List<int> permissions, long accountId, List<long> workshopIds)
|
public SubAccountRole(string title, List<int> permissions, long accountId)
|
||||||
{
|
{
|
||||||
Title = title;
|
Title = title;
|
||||||
RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList();
|
RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList();
|
||||||
AccountId = accountId;
|
AccountId = accountId;
|
||||||
RoleWorkshops = workshopIds.Select(x => new SubAccountRoleWorkshop(x, id)).ToList();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ChangeTitle(string title)
|
public void ChangeTitle(string title)
|
||||||
{
|
{
|
||||||
Title = title;
|
Title = title;
|
||||||
@@ -36,12 +32,10 @@ namespace AccountManagement.Domain.SubAccountRoleAgg
|
|||||||
{
|
{
|
||||||
RolePermissions.AddRange(permissionIds.Select(x => new SubAccountRolePermission(x, id)));
|
RolePermissions.AddRange(permissionIds.Select(x => new SubAccountRolePermission(x, id)));
|
||||||
}
|
}
|
||||||
public void Edit(string title, List<int> permissions,List<long> workshopIds)
|
public void Edit(string title, List<int> permissions)
|
||||||
{
|
{
|
||||||
Title = title;
|
Title = title;
|
||||||
RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList();
|
RolePermissions = permissions.Select(x => new SubAccountRolePermission(x, id)).ToList();
|
||||||
RoleWorkshops = workshopIds.Select(x => new SubAccountRoleWorkshop(x, id)).ToList();
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
using _0_Framework.Domain;
|
|
||||||
|
|
||||||
namespace AccountManagement.Domain.SubAccountRoleAgg;
|
|
||||||
|
|
||||||
public class SubAccountRoleWorkshop:EntityBase
|
|
||||||
{
|
|
||||||
public SubAccountRoleWorkshop(long workshopId, long subAccountId)
|
|
||||||
{
|
|
||||||
WorkshopId = workshopId;
|
|
||||||
SubAccountId = subAccountId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long WorkshopId { get; set; }
|
|
||||||
public long SubAccountId { get; set; }
|
|
||||||
public SubAccountRole SubAccountRole { get; set; }
|
|
||||||
}
|
|
||||||
@@ -16,7 +16,7 @@ public class TaskSchedule:EntityBase
|
|||||||
UnitType = unitType;
|
UnitType = unitType;
|
||||||
UnitNumber = unitNumber;
|
UnitNumber = unitNumber;
|
||||||
LastEndTaskDate = lastEndTaskDate;
|
LastEndTaskDate = lastEndTaskDate;
|
||||||
IsActive = IsActive.True;
|
IsActive = IsActive.False;
|
||||||
}
|
}
|
||||||
public string Count { get; private set; }
|
public string Count { get; private set; }
|
||||||
public TaskScheduleType Type { get; private set; }
|
public TaskScheduleType Type { get; private set; }
|
||||||
|
|||||||
@@ -21,10 +21,6 @@ namespace AccountMangement.Infrastructure.EFCore.Mappings
|
|||||||
opt.WithOwner(x => x.SubAccountRole);
|
opt.WithOwner(x => x.SubAccountRole);
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.OwnsMany(x => x.RoleWorkshops, roleWorkshop =>
|
|
||||||
{
|
|
||||||
roleWorkshop.WithOwner(x => x.SubAccountRole).HasForeignKey(x => x.SubAccountId);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,43 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
#nullable disable
|
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Migrations
|
|
||||||
{
|
|
||||||
/// <inheritdoc />
|
|
||||||
public partial class addworkshoptosubAccountRole : Migration
|
|
||||||
{
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "SubAccountRoleWorkshop",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
id = table.Column<long>(type: "bigint", nullable: false)
|
|
||||||
.Annotation("SqlServer:Identity", "1, 1"),
|
|
||||||
SubAccountId = table.Column<long>(type: "bigint", nullable: false),
|
|
||||||
WorkshopId = table.Column<long>(type: "bigint", nullable: false),
|
|
||||||
CreationDate = table.Column<DateTime>(type: "datetime2", nullable: false)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_SubAccountRoleWorkshop", x => new { x.SubAccountId, x.id });
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_SubAccountRoleWorkshop_SubAccountRoles_SubAccountId",
|
|
||||||
column: x => x.SubAccountId,
|
|
||||||
principalTable: "SubAccountRoles",
|
|
||||||
principalColumn: "id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "SubAccountRoleWorkshop");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1078,33 +1078,6 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRole", b =>
|
modelBuilder.Entity("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRole", b =>
|
||||||
{
|
{
|
||||||
b.OwnsMany("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRoleWorkshop", "RoleWorkshops", b1 =>
|
|
||||||
{
|
|
||||||
b1.Property<long>("SubAccountId")
|
|
||||||
.HasColumnType("bigint");
|
|
||||||
|
|
||||||
b1.Property<long>("id")
|
|
||||||
.ValueGeneratedOnAdd()
|
|
||||||
.HasColumnType("bigint");
|
|
||||||
|
|
||||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property<long>("id"));
|
|
||||||
|
|
||||||
b1.Property<DateTime>("CreationDate")
|
|
||||||
.HasColumnType("datetime2");
|
|
||||||
|
|
||||||
b1.Property<long>("WorkshopId")
|
|
||||||
.HasColumnType("bigint");
|
|
||||||
|
|
||||||
b1.HasKey("SubAccountId", "id");
|
|
||||||
|
|
||||||
b1.ToTable("SubAccountRoleWorkshop");
|
|
||||||
|
|
||||||
b1.WithOwner("SubAccountRole")
|
|
||||||
.HasForeignKey("SubAccountId");
|
|
||||||
|
|
||||||
b1.Navigation("SubAccountRole");
|
|
||||||
});
|
|
||||||
|
|
||||||
b.OwnsMany("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRolePermission", "RolePermissions", b1 =>
|
b.OwnsMany("AccountManagement.Domain.SubAccountRoleAgg.SubAccountRolePermission", "RolePermissions", b1 =>
|
||||||
{
|
{
|
||||||
b1.Property<long>("id")
|
b1.Property<long>("id")
|
||||||
@@ -1132,8 +1105,6 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
|
|||||||
});
|
});
|
||||||
|
|
||||||
b.Navigation("RolePermissions");
|
b.Navigation("RolePermissions");
|
||||||
|
|
||||||
b.Navigation("RoleWorkshops");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
|
modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
|
||||||
|
|||||||
@@ -312,17 +312,6 @@ public class AccountRepository : RepositoryBase<long, Account>, IAccountReposito
|
|||||||
IsActiveString = x.IsActive ? "true" : "false",
|
IsActiveString = x.IsActive ? "true" : "false",
|
||||||
}).ToList();
|
}).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<AccountSelectListViewModel>> GetAdminSelectList()
|
|
||||||
{
|
|
||||||
return await _context.Accounts.Where(x => x.AdminAreaPermission == "true").Select(x => new AccountSelectListViewModel()
|
|
||||||
{
|
|
||||||
Id = x.id,
|
|
||||||
Name = x.Fullname,
|
|
||||||
RoleId = x.RoleId
|
|
||||||
}).ToListAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
//public List<AccountViewModel> GetAdminAccounts()
|
//public List<AccountViewModel> GetAdminAccounts()
|
||||||
//{
|
//{
|
||||||
// return _context.Accounts.Where(x=>x.AdminAreaPermission == "true" && x.IsActiveString == "true").Select(x => new AccountViewModel()
|
// return _context.Accounts.Where(x=>x.AdminAreaPermission == "true" && x.IsActiveString == "true").Select(x => new AccountViewModel()
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using _0_Framework.Application;
|
|
||||||
using _0_Framework.InfraStructure;
|
using _0_Framework.InfraStructure;
|
||||||
using AccountManagement.Application.Contracts.Media;
|
using AccountManagement.Application.Contracts.Media;
|
||||||
using AccountManagement.Domain.AdminResponseMediaAgg;
|
using AccountManagement.Domain.AdminResponseMediaAgg;
|
||||||
@@ -10,35 +7,27 @@ using AccountManagement.Domain.ClientResponseMediaAgg;
|
|||||||
using AccountManagement.Domain.MediaAgg;
|
using AccountManagement.Domain.MediaAgg;
|
||||||
using AccountManagement.Domain.TaskMediaAgg;
|
using AccountManagement.Domain.TaskMediaAgg;
|
||||||
using AccountManagement.Domain.TicketMediasAgg;
|
using AccountManagement.Domain.TicketMediasAgg;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Repository;
|
namespace AccountMangement.Infrastructure.EFCore.Repository;
|
||||||
|
|
||||||
public class MediaRepository : RepositoryBase<long, Media>, IMediaRepository
|
public class MediaRepository:RepositoryBase<long,Media>,IMediaRepository
|
||||||
{
|
{
|
||||||
private const string _basePath = "Storage/Medias";
|
|
||||||
public string BasePath { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
private readonly AccountContext _accountContext;
|
private readonly AccountContext _accountContext;
|
||||||
public MediaRepository(AccountContext taskManagerContext, IWebHostEnvironment webHostEnvironment) : base(taskManagerContext)
|
public MediaRepository( AccountContext taskManagerContext) : base(taskManagerContext)
|
||||||
{
|
{
|
||||||
_accountContext = taskManagerContext;
|
_accountContext = taskManagerContext;
|
||||||
BasePath = webHostEnvironment.ContentRootPath + "/Storage";
|
|
||||||
}
|
}
|
||||||
//ساخت جدول واسط بین مدیا و نسک
|
//ساخت جدول واسط بین مدیا و نسک
|
||||||
//نکته: این متد ذخیره انجام نمیدهد
|
//نکته: این متد ذخیره انجام نمیدهد
|
||||||
|
|
||||||
public void CreateMediaWithTaskMedia(long taskId, long mediaId)
|
public void CreateMediaWithTaskMedia(long taskId, long mediaId)
|
||||||
{
|
{
|
||||||
var Taskmedias = new TaskMedia(taskId, mediaId);
|
var Taskmedias = new TaskMedia(taskId,mediaId);
|
||||||
_accountContext.Add(Taskmedias);
|
_accountContext.Add(Taskmedias);
|
||||||
}
|
}
|
||||||
public void Remove(long id)
|
public void Remove(long id)
|
||||||
{
|
{
|
||||||
var media = Get(id);
|
var media = Get(id);
|
||||||
Remove(media);
|
Remove(media);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,48 +77,6 @@ public class MediaRepository : RepositoryBase<long, Media>, IMediaRepository
|
|||||||
{
|
{
|
||||||
return _accountContext.Medias.Where(x => mediaIds.Contains(x.id)).ToList();
|
return _accountContext.Medias.Where(x => mediaIds.Contains(x.id)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public OperationResult UploadFile(IFormFile file, string fileLabel, string relativePath, int maximumFileLength,
|
|
||||||
List<string> allowedExtensions, string category)
|
|
||||||
{
|
|
||||||
OperationResult op = new();
|
|
||||||
var path = Path.Combine(_basePath, relativePath);
|
|
||||||
var fileExtension = Path.GetExtension(file.FileName);
|
|
||||||
|
|
||||||
if (file == null || file.Length == 0)
|
|
||||||
return op.Failed("خطای سیستمی");
|
|
||||||
|
|
||||||
if (file.Length > (maximumFileLength * 1024 * 1024))
|
|
||||||
return op.Failed($"حجم فایل نمی تواند بیشتر از " +
|
|
||||||
$"{maximumFileLength}" +
|
|
||||||
$"مگابایت باشد");
|
|
||||||
|
|
||||||
if (!allowedExtensions.Contains(fileExtension.ToLower()))
|
|
||||||
{
|
|
||||||
var operationMessage = ":فرمت فایل باید یکی از موارد زیر باشد";
|
|
||||||
operationMessage += "\n";
|
|
||||||
operationMessage += string.Join(" ", allowedExtensions);
|
|
||||||
return op.Failed(operationMessage);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Directory.CreateDirectory(path);
|
|
||||||
|
|
||||||
var extension = Path.GetExtension(file.FileName);
|
|
||||||
|
|
||||||
var uniqueFileName = $"{fileLabel}-{DateTime.Now.Ticks}{extension}";
|
|
||||||
var filePath = Path.Combine(path, uniqueFileName);
|
|
||||||
using (var fileStream = new FileStream(filePath, FileMode.CreateNew))
|
|
||||||
{
|
|
||||||
file.CopyTo(fileStream);
|
|
||||||
}
|
|
||||||
var mediaEntity = new Media(filePath, extension, "فایل", category);
|
|
||||||
Create(mediaEntity);
|
|
||||||
SaveChanges();
|
|
||||||
|
|
||||||
return op.Succcedded(mediaEntity.id);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -77,10 +77,5 @@ namespace AccountMangement.Infrastructure.EFCore.Repository
|
|||||||
Username = entity.Username
|
Username = entity.Username
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SubAccount> GetBySubAccountRole(long subAccountRoleId)
|
|
||||||
{
|
|
||||||
return _context.SubAccounts.Where(x => x.SubAccountRoleId == subAccountRoleId).ToList();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,16 +106,14 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
{
|
{
|
||||||
res.EndTaskDate = _accountContext.Assigns.First(a => a.TaskId == res.Id && a.AssignedId == userId)
|
res.EndTaskDate = _accountContext.Assigns.First(a => a.TaskId == res.Id && a.AssignedId == userId)
|
||||||
.EndTaskDate.ToFarsi();
|
.EndTaskDate.ToFarsi();
|
||||||
var userAssign = res.AssignViewModels.First(x => x.AssignedId == userId);
|
|
||||||
|
|
||||||
res.AssignViewModels = res.AssignViewModels.Where(x => x.AssignedId == userId).ToList();
|
res.AssignViewModels = res.AssignViewModels.Where(x => x.AssignedId == userId).ToList();
|
||||||
res.IsDone = userAssign.IsDone;
|
res.IsDone = res.AssignViewModels.First(x => x.AssignedId == userId).IsDone;
|
||||||
res.IsCancel = userAssign.IsCancel;
|
res.IsCancel = res.AssignViewModels.First(x => x.AssignedId == userId).IsCancel;
|
||||||
res.HasRequest = userAssign.IsCanceledRequest || userAssign.TimeRequest ||
|
|
||||||
userAssign.IsDoneRequest;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.TaskScheduleId > 0)
|
if (res.TaskScheduleId>0)
|
||||||
{
|
{
|
||||||
var taskSchedule = _accountContext.TaskSchedules.FirstOrDefault(x => x.id == res.TaskScheduleId);
|
var taskSchedule = _accountContext.TaskSchedules.FirstOrDefault(x => x.id == res.TaskScheduleId);
|
||||||
|
|
||||||
@@ -123,7 +121,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
res.ScheduleType = taskSchedule.Type;
|
res.ScheduleType = taskSchedule.Type;
|
||||||
res.ScheduleCount = taskSchedule.Count;
|
res.ScheduleCount = taskSchedule.Count;
|
||||||
res.ScheduleUnitNumber = taskSchedule.UnitNumber;
|
res.ScheduleUnitNumber = taskSchedule.UnitNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//_accountContext.Tasks.Where(x => x.id == TaskId).Select(x => new EditTask()
|
//_accountContext.Tasks.Where(x => x.id == TaskId).Select(x => new EditTask()
|
||||||
@@ -162,6 +160,8 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
Remove(task);
|
Remove(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public List<TaskViewModel> GetRequestedTasks(TaskSearchModel searchModel)
|
public List<TaskViewModel> GetRequestedTasks(TaskSearchModel searchModel)
|
||||||
{
|
{
|
||||||
var accountId = long.Parse(_contextAccessor.HttpContext.User.FindFirst("AccountId").Value);
|
var accountId = long.Parse(_contextAccessor.HttpContext.User.FindFirst("AccountId").Value);
|
||||||
@@ -900,7 +900,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
||||||
IsCancelRequest = x.IsCancelRequest,
|
IsCancelRequest = x.IsCancelRequest,
|
||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel,false),
|
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel),
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
HasAttachment = x.MediaCount > 0,
|
HasAttachment = x.MediaCount > 0,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
@@ -1229,7 +1229,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
||||||
IsCancelRequest = x.IsCancelRequest,
|
IsCancelRequest = x.IsCancelRequest,
|
||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false),
|
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel),
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
HasAttachment = x.MediaCount > 0,
|
HasAttachment = x.MediaCount > 0,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
@@ -1788,7 +1788,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
||||||
IsCancelRequest = x.IsCancelRequest,
|
IsCancelRequest = x.IsCancelRequest,
|
||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false),
|
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel),
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
HasAttachment = x.MediaCount > 0,
|
HasAttachment = x.MediaCount > 0,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
@@ -1866,7 +1866,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
.Include(x => x.Task).ThenInclude(x => x.TaskSchedule)
|
.Include(x => x.Task).ThenInclude(x => x.TaskSchedule)
|
||||||
.Where(x =>
|
.Where(x =>
|
||||||
x.Task.IsActiveString == "true" && x.Task.SenderId == accountId
|
x.Task.IsActiveString == "true" && x.Task.SenderId == accountId
|
||||||
&& x.Task.TaskScheduleId != null && x.Task.TaskScheduleId > 0 && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TaskSchedule.IsActive== IsActive.True);
|
&& x.Task.TaskScheduleId != null && x.Task.TaskScheduleId > 0 && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TaskSchedule.IsActive == IsActive.True);
|
||||||
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
|
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
|
||||||
{
|
{
|
||||||
raw = raw.Where(x =>
|
raw = raw.Where(x =>
|
||||||
@@ -2056,7 +2056,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
TaskScheduleId = x.TaskScheduleId
|
TaskScheduleId = x.TaskScheduleId
|
||||||
|
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
|
||||||
final = final.Select(x => new TaskViewModel()
|
final = final.Select(x => new TaskViewModel()
|
||||||
@@ -2082,7 +2082,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
||||||
IsCancelRequest = x.IsCancelRequest,
|
IsCancelRequest = x.IsCancelRequest,
|
||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false),
|
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel),
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
HasAttachment = x.MediaCount > 0,
|
HasAttachment = x.MediaCount > 0,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
@@ -2095,7 +2095,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
ScheduleUnitType = x.ScheduleUnitType,
|
ScheduleUnitType = x.ScheduleUnitType,
|
||||||
TaskScheduleId = x.TaskScheduleId
|
TaskScheduleId = x.TaskScheduleId
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
final = final.Select(x => new TaskViewModel()
|
final = final.Select(x => new TaskViewModel()
|
||||||
{
|
{
|
||||||
@@ -2149,15 +2149,12 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
ScheduleUnitType = x.ScheduleUnitType,
|
ScheduleUnitType = x.ScheduleUnitType,
|
||||||
TaskScheduleId = x.TaskScheduleId
|
TaskScheduleId = x.TaskScheduleId
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
return final;
|
return final;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string SetTasksColors(DateTime date, bool isCancel,bool hasRequest)
|
public string SetTasksColors(DateTime date, bool isCancel)
|
||||||
{
|
{
|
||||||
if (hasRequest)
|
|
||||||
return "red";
|
|
||||||
|
|
||||||
if (isCancel)
|
if (isCancel)
|
||||||
{
|
{
|
||||||
//return "brown";
|
//return "brown";
|
||||||
@@ -2393,7 +2390,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
|
|
||||||
public List<Tasks> GetTasksByTaskScheduleId(long taskScheduleId)
|
public List<Tasks> GetTasksByTaskScheduleId(long taskScheduleId)
|
||||||
{
|
{
|
||||||
return _accountContext.Tasks.Include(x => x.Assigns).Where(x => x.TaskScheduleId != null && x.TaskScheduleId == taskScheduleId).ToList();
|
return _accountContext.Tasks.Include(x=>x.Assigns).Where(x => x.TaskScheduleId != null && x.TaskScheduleId == taskScheduleId).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2661,7 +2658,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
||||||
IsCancelRequest = x.IsCancelRequest,
|
IsCancelRequest = x.IsCancelRequest,
|
||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false),
|
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel),
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
HasAttachment = x.MediaCount > 0,
|
HasAttachment = x.MediaCount > 0,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
@@ -2725,7 +2722,6 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
{
|
{
|
||||||
var accountId = long.Parse(_contextAccessor.HttpContext.User.FindFirst("AccountId").Value);
|
var accountId = long.Parse(_contextAccessor.HttpContext.User.FindFirst("AccountId").Value);
|
||||||
var positionValue = int.Parse(_contextAccessor.HttpContext.User.FindFirst("PositionValue").Value);
|
var positionValue = int.Parse(_contextAccessor.HttpContext.User.FindFirst("PositionValue").Value);
|
||||||
var today = DateTime.Today;
|
|
||||||
var emptyAcc = new AccountViewModel()
|
var emptyAcc = new AccountViewModel()
|
||||||
{
|
{
|
||||||
Fullname = "-",
|
Fullname = "-",
|
||||||
@@ -2735,7 +2731,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias)
|
var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias)
|
||||||
.ThenInclude(x => x.Media)
|
.ThenInclude(x => x.Media)
|
||||||
.Where(x =>
|
.Where(x =>
|
||||||
x.Task.IsActiveString == "true" && x.AssignedId == accountId && x.Task.TicketId == null &&!x.IsDoneRequest && !x.IsCanceledRequest);
|
x.Task.IsActiveString == "true" && x.AssignedId == accountId && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TicketId == null);
|
||||||
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
|
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
|
||||||
{
|
{
|
||||||
raw = raw.Where(x =>
|
raw = raw.Where(x =>
|
||||||
@@ -2768,7 +2764,6 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id),
|
MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id),
|
||||||
Description = x.Task.Description,
|
Description = x.Task.Description,
|
||||||
IsDoneRequest = x.IsDoneRequest,
|
IsDoneRequest = x.IsDoneRequest,
|
||||||
|
|
||||||
});
|
});
|
||||||
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
|
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
|
||||||
{
|
{
|
||||||
@@ -2807,8 +2802,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
Description = x.Description,
|
Description = x.Description,
|
||||||
IsDoneRequest = x.IsDoneRequest,
|
IsDoneRequest = x.IsDoneRequest
|
||||||
HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest
|
|
||||||
});
|
});
|
||||||
if (!string.IsNullOrWhiteSpace(searchModel.StartDate) && !string.IsNullOrWhiteSpace(searchModel.EndDate))
|
if (!string.IsNullOrWhiteSpace(searchModel.StartDate) && !string.IsNullOrWhiteSpace(searchModel.EndDate))
|
||||||
{
|
{
|
||||||
@@ -2877,10 +2871,8 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var orderResult = result.OrderBy(x => x.IsDone || x.IsCancel)
|
var orderResult = result.OrderByDescending(x => x.IsCancel ? 0 : 1).ThenBy(x => x.IsDone ? 1 : 0)
|
||||||
.ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.RequestTime)
|
.ThenBy(x => x.EndTaskDateGE);
|
||||||
.ThenByDescending(x => x.RequestTime)
|
|
||||||
.ThenBy(x => x.EndTaskDateGE); // مرتبسازی داخلی بر اساس تاریخ
|
|
||||||
|
|
||||||
|
|
||||||
var final = orderResult.Skip(searchModel.PageIndex).Take(30).ToList();
|
var final = orderResult.Skip(searchModel.PageIndex).Take(30).ToList();
|
||||||
@@ -2914,7 +2906,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
Description = x.Description,
|
Description = x.Description,
|
||||||
IsDoneRequest = x.IsDoneRequest,
|
IsDoneRequest = x.IsDoneRequest
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
@@ -2942,7 +2934,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
AcceptedTimeRequest = x.AcceptedTimeRequest,
|
||||||
IsCancelRequest = x.IsCancelRequest,
|
IsCancelRequest = x.IsCancelRequest,
|
||||||
ContractingPartyName = x.ContractingPartyName,
|
ContractingPartyName = x.ContractingPartyName,
|
||||||
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel,x.RequestTime),
|
Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel),
|
||||||
MediaCount = x.MediaCount,
|
MediaCount = x.MediaCount,
|
||||||
HasAttachment = x.MediaCount > 0,
|
HasAttachment = x.MediaCount > 0,
|
||||||
SelfName = x.SelfName,
|
SelfName = x.SelfName,
|
||||||
@@ -3001,8 +2993,6 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
|
|||||||
AssignedName = "-",
|
AssignedName = "-",
|
||||||
AssignedPositionValue = 0
|
AssignedPositionValue = 0
|
||||||
},
|
},
|
||||||
HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest
|
|
||||||
|
|
||||||
}).ToList();
|
}).ToList();
|
||||||
return final;
|
return final;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,26 +3,25 @@ using System.Threading.Tasks;
|
|||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.InfraStructure;
|
using _0_Framework.InfraStructure;
|
||||||
using AccountManagement.Application.Contracts.Media;
|
using AccountManagement.Application.Contracts.Media;
|
||||||
using AccountManagement.Application.Contracts.Task;
|
|
||||||
using AccountManagement.Application.Contracts.TaskSchedule;
|
using AccountManagement.Application.Contracts.TaskSchedule;
|
||||||
using AccountManagement.Domain.TaskScheduleAgg;
|
using AccountManagement.Domain.TaskScheduleAgg;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace AccountMangement.Infrastructure.EFCore.Repository;
|
namespace AccountMangement.Infrastructure.EFCore.Repository;
|
||||||
|
|
||||||
public class TaskScheduleRepository : RepositoryBase<long, TaskSchedule>, ITaskScheduleRepository
|
public class TaskScheduleRepository: RepositoryBase<long, TaskSchedule>, ITaskScheduleRepository
|
||||||
{
|
{
|
||||||
private readonly AccountContext _accountContext;
|
private readonly AccountContext _accountContext;
|
||||||
|
|
||||||
public TaskScheduleRepository(AccountContext accountContext) : base(accountContext)
|
public TaskScheduleRepository(AccountContext accountContext):base(accountContext)
|
||||||
{
|
{
|
||||||
_accountContext = accountContext;
|
_accountContext = accountContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<TaskScheduleDetailsViewModel> GetDetails(long id)
|
public async Task<TaskScheduleDetailsViewModel> GetDetails(long id)
|
||||||
{
|
{
|
||||||
var taskSchedule = await _accountContext.TaskSchedules.Include(x => x.TasksList).ThenInclude(x => x.Assigns)
|
var taskSchedule=await _accountContext.TaskSchedules.Include(x=>x.TasksList).ThenInclude(x=>x.Assigns)
|
||||||
.Include(x => x.TasksList).ThenInclude(x => x.TaskMedias).ThenInclude(x => x.Media).FirstOrDefaultAsync(x => x.id == id);
|
.Include(x=>x.TasksList).ThenInclude(x=>x.TaskMedias).ThenInclude(x=>x.Media).FirstOrDefaultAsync(x => x.id == id);
|
||||||
if (taskSchedule == null)
|
if (taskSchedule == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
@@ -30,7 +29,7 @@ public class TaskScheduleRepository : RepositoryBase<long, TaskSchedule>, ITaskS
|
|||||||
|
|
||||||
var firstTaskDetails = taskSchedule.TasksList.First();
|
var firstTaskDetails = taskSchedule.TasksList.First();
|
||||||
|
|
||||||
var firstTimeAssigns = firstTaskDetails.Assigns.Where(x => x.FirstTimeCreation).ToList();
|
var firstTimeAssigns = firstTaskDetails.Assigns.Where(x=>x.FirstTimeCreation).ToList();
|
||||||
|
|
||||||
var assignedIds = firstTimeAssigns.Select(x => x.AssignedId).ToList();
|
var assignedIds = firstTimeAssigns.Select(x => x.AssignedId).ToList();
|
||||||
|
|
||||||
@@ -47,15 +46,13 @@ public class TaskScheduleRepository : RepositoryBase<long, TaskSchedule>, ITaskS
|
|||||||
Title = firstTaskDetails.Title,
|
Title = firstTaskDetails.Title,
|
||||||
Description = firstTaskDetails.Description,
|
Description = firstTaskDetails.Description,
|
||||||
ContractingPartyName = firstTaskDetails.ContractingPartyName,
|
ContractingPartyName = firstTaskDetails.ContractingPartyName,
|
||||||
AssignedName = assignedAccounts.Select(x => x.Fullname).ToList(),
|
AssignedName = assignedAccounts.Select(x=>x.Fullname).ToList(),
|
||||||
CreationDateFa = firstTaskDetails.CreationDate.ToFarsi(),
|
CreationDateFa = firstTaskDetails.CreationDate.ToFarsi(),
|
||||||
SenderName = sender.Fullname,
|
SenderName = sender.Fullname,
|
||||||
TaskScheduleType = taskSchedule.Type,
|
TaskScheduleType = taskSchedule.Type,
|
||||||
TaskScheduleUnitType = taskSchedule.UnitType,
|
TaskScheduleUnitType = taskSchedule.UnitType,
|
||||||
UnitNumber = taskSchedule.UnitNumber,
|
UnitNumber = taskSchedule.UnitNumber,
|
||||||
Count = taskSchedule.Type == TaskScheduleType.Limited ? taskSchedule.Count : "نامحدود",
|
Medias = firstTaskDetails.TaskMedias.Select(x=> new MediaViewModel()
|
||||||
FirstEndTaskDate = firstTaskDetails.Assigns.FirstOrDefault()?.EndTaskDate.ToFarsi() ?? "",
|
|
||||||
Medias = firstTaskDetails.TaskMedias.Select(x => new MediaViewModel()
|
|
||||||
{
|
{
|
||||||
Category = x.Media.Category,
|
Category = x.Media.Category,
|
||||||
Id = x.MediaId,
|
Id = x.MediaId,
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using _0_Framework.Domain;
|
|
||||||
using CompanyManagment.App.Contracts.AdminMonthlyOverview;
|
|
||||||
using Microsoft.AspNetCore.JsonPatch.Operations;
|
|
||||||
|
|
||||||
namespace Company.Domain.AdminMonthlyOverviewAgg;
|
|
||||||
|
|
||||||
public class AdminMonthlyOverview:EntityBase
|
|
||||||
{
|
|
||||||
public AdminMonthlyOverview(long workshopId, int month, int year, AdminMonthlyOverviewStatus status)
|
|
||||||
{
|
|
||||||
WorkshopId = workshopId;
|
|
||||||
Month = month;
|
|
||||||
Year = year;
|
|
||||||
Status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long WorkshopId { get; set; }
|
|
||||||
public int Month { get; set; }
|
|
||||||
public int Year { get; set; }
|
|
||||||
public AdminMonthlyOverviewStatus Status { get; set; }
|
|
||||||
|
|
||||||
public void Next()
|
|
||||||
{
|
|
||||||
var maxValue = Enum.GetValues(typeof(AdminMonthlyOverviewStatus))
|
|
||||||
.Cast<AdminMonthlyOverviewStatus>()
|
|
||||||
.Max();
|
|
||||||
|
|
||||||
if (Status >= maxValue)
|
|
||||||
{
|
|
||||||
throw new InvalidDataException("تغییر وضعیت وارد شده نامعتبر است");
|
|
||||||
}
|
|
||||||
Status += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Back()
|
|
||||||
{
|
|
||||||
var minValue = Enum.GetValues(typeof(AdminMonthlyOverviewStatus))
|
|
||||||
.Cast<AdminMonthlyOverviewStatus>()
|
|
||||||
.Min();
|
|
||||||
|
|
||||||
if (Status <= minValue)
|
|
||||||
{
|
|
||||||
throw new InvalidDataException("تغییر وضعیت وارد شده نامعتبر است");
|
|
||||||
}
|
|
||||||
Status -= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetStatus(AdminMonthlyOverviewStatus status)
|
|
||||||
{
|
|
||||||
Status = status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using _0_Framework.Domain;
|
|
||||||
using CompanyManagment.App.Contracts.AdminMonthlyOverview;
|
|
||||||
|
|
||||||
namespace Company.Domain.AdminMonthlyOverviewAgg;
|
|
||||||
|
|
||||||
public interface IAdminMonthlyOverviewRepository:IRepository<long, AdminMonthlyOverview>
|
|
||||||
{
|
|
||||||
Task<List<AdminMonthlyOverviewListViewModel>> GetWorkshopStatus(AdminMonthlyOverviewSearchModel searchModel);
|
|
||||||
Task<AdminMonthlyOverViewCounterVm> GetCounter(int year, int month, long accountId);
|
|
||||||
}
|
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using Company.Domain.CheckoutAgg.ValueObjects;
|
|
||||||
using Company.Domain.CustomizeCheckoutAgg.ValueObjects;
|
|
||||||
using Company.Domain.WorkshopAgg;
|
using Company.Domain.WorkshopAgg;
|
||||||
|
|
||||||
namespace Company.Domain.CheckoutAgg;
|
namespace Company.Domain.CheckoutAgg;
|
||||||
@@ -25,11 +21,7 @@ public class Checkout : EntityBase
|
|||||||
double salaryAidDeduction, double absenceDeduction, string sumOfWorkingDays
|
double salaryAidDeduction, double absenceDeduction, string sumOfWorkingDays
|
||||||
, string archiveCode, string personnelCode,
|
, string archiveCode, string personnelCode,
|
||||||
string totalClaims, string totalDeductions, double totalPayment, string signature, double marriedAllowance, bool leaveCheckout,
|
string totalClaims, string totalDeductions, double totalPayment, string signature, double marriedAllowance, bool leaveCheckout,
|
||||||
double creditLeaves, double absencePeriod, double averageHoursPerDay, bool hasRollCall, string overTimeWorkvalue,
|
double creditLeaves, double absencePeriod, double averageHoursPerDay, bool hasRollCall, string overTimeWorkvalue, string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue, string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute)
|
||||||
string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue,
|
|
||||||
string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute,
|
|
||||||
ICollection<CheckoutLoanInstallment> loanInstallments,
|
|
||||||
ICollection<CheckoutSalaryAid> salaryAids)
|
|
||||||
{
|
{
|
||||||
EmployeeFullName = employeeFullName;
|
EmployeeFullName = employeeFullName;
|
||||||
FathersName = fathersName;
|
FathersName = fathersName;
|
||||||
@@ -86,8 +78,6 @@ public class Checkout : EntityBase
|
|||||||
TotalDayOfLeaveCompute = totalDayOfLeaveCompute;
|
TotalDayOfLeaveCompute = totalDayOfLeaveCompute;
|
||||||
TotalDayOfYearsCompute = totalDayOfYearsCompute;
|
TotalDayOfYearsCompute = totalDayOfYearsCompute;
|
||||||
TotalDayOfBunosesCompute = totalDayOfBunosesCompute;
|
TotalDayOfBunosesCompute = totalDayOfBunosesCompute;
|
||||||
LoanInstallments = loanInstallments;
|
|
||||||
SalaryAids = salaryAids;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string EmployeeFullName { get; private set; }
|
public string EmployeeFullName { get; private set; }
|
||||||
@@ -191,15 +181,7 @@ public class Checkout : EntityBase
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string TotalDayOfBunosesCompute { get; private set; }
|
public string TotalDayOfBunosesCompute { get; private set; }
|
||||||
|
|
||||||
|
public Workshop Workshop { get; set; }
|
||||||
#region valueObjects
|
|
||||||
|
|
||||||
public ICollection<CheckoutLoanInstallment> LoanInstallments { get; set; } = [];
|
|
||||||
public ICollection<CheckoutSalaryAid> SalaryAids { get; set; } = [];
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
public Workshop Workshop { get; set; }
|
|
||||||
//public WorkingHours WorkingHours { get; set; }
|
//public WorkingHours WorkingHours { get; set; }
|
||||||
|
|
||||||
public void Edit(string employeeFullName, string fathersName, string nationalCode, string dateOfBirth,
|
public void Edit(string employeeFullName, string fathersName, string nationalCode, string dateOfBirth,
|
||||||
@@ -296,16 +278,4 @@ public class Checkout : EntityBase
|
|||||||
this.TotalDeductions = totalDeductions;
|
this.TotalDeductions = totalDeductions;
|
||||||
this.TotalPayment = totalPayment;
|
this.TotalPayment = totalPayment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SetSalaryAid(ICollection<CheckoutSalaryAid> salaryAids,double salaryAidAmount)
|
|
||||||
{
|
|
||||||
SalaryAids = salaryAids;
|
|
||||||
SalaryAidDeduction = salaryAidAmount;
|
|
||||||
}
|
|
||||||
public void SetLoanInstallment(ICollection<CheckoutLoanInstallment> lonaInstallments, double installmentsAmount)
|
|
||||||
{
|
|
||||||
LoanInstallments = lonaInstallments;
|
|
||||||
InstallmentDeduction = installmentsAmount;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -22,24 +22,7 @@ public interface ICheckoutRepository : IRepository<long, Checkout>
|
|||||||
string year, string month);
|
string year, string month);
|
||||||
EditCheckout GetDetails(long id);
|
EditCheckout GetDetails(long id);
|
||||||
|
|
||||||
Task CreateCkeckout(Checkout command);
|
void CreateCkeckout(Checkout command);
|
||||||
/// <summary>
|
|
||||||
/// لود لیست اولیه جهت ایجاد فیش حقوقی
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="workshopId"></param>
|
|
||||||
/// <param name="employeeId"></param>
|
|
||||||
/// <param name="year"></param>
|
|
||||||
/// <param name="month"></param>
|
|
||||||
/// <param name="contractStart"></param>
|
|
||||||
/// <param name="contractEnd"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
/// <exception cref="NotImplementedException"></exception>
|
|
||||||
Task<CreateCheckoutListViewModel> GetContractResultToCreateCheckout(long workshopId, long employeeId, string year,
|
|
||||||
string month,
|
|
||||||
string contractStart, string contractEnd);
|
|
||||||
//void CreateCkeckout(Checkout command);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Task<List<CheckoutViewModel>> Search(CheckoutSearchModel searchModel);
|
Task<List<CheckoutViewModel>> Search(CheckoutSearchModel searchModel);
|
||||||
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
using _0_Framework.Application;
|
|
||||||
|
|
||||||
namespace Company.Domain.CheckoutAgg.ValueObjects;
|
|
||||||
|
|
||||||
public class CheckoutLoanInstallment
|
|
||||||
{
|
|
||||||
public CheckoutLoanInstallment(string amountForMonth, string month, string year, IsActive isActive, string loanRemaining, string loanAmount, long entityId)
|
|
||||||
{
|
|
||||||
AmountForMonth = amountForMonth;
|
|
||||||
Month = month;
|
|
||||||
Year = year;
|
|
||||||
IsActive = isActive;
|
|
||||||
LoanRemaining = loanRemaining;
|
|
||||||
LoanAmount = loanAmount;
|
|
||||||
EntityId = entityId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string AmountForMonth { get; private set; }
|
|
||||||
public string Month { get; private set; }
|
|
||||||
public string Year { get; private set; }
|
|
||||||
public string LoanRemaining { get; set; }
|
|
||||||
public IsActive IsActive { get; private set; }
|
|
||||||
public string LoanAmount { get; set; }
|
|
||||||
public long EntityId { get; set; }
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
using System;
|
|
||||||
using AccountManagement.Domain.AccountAgg;
|
|
||||||
|
|
||||||
namespace Company.Domain.CheckoutAgg.ValueObjects;
|
|
||||||
|
|
||||||
public class CheckoutSalaryAid
|
|
||||||
{
|
|
||||||
public CheckoutSalaryAid(string amount, DateTime salaryAidDateTime, string salaryAidDateTimeFa, DateTime calculationDateTime, string calculationDateTimeFa, long entityId)
|
|
||||||
{
|
|
||||||
Amount = amount;
|
|
||||||
SalaryAidDateTime = salaryAidDateTime;
|
|
||||||
SalaryAidDateTimeFa = salaryAidDateTimeFa;
|
|
||||||
CalculationDateTime = calculationDateTime;
|
|
||||||
CalculationDateTimeFa = calculationDateTimeFa;
|
|
||||||
EntityId = entityId;
|
|
||||||
}
|
|
||||||
public string Amount { get; private set; }
|
|
||||||
public DateTime SalaryAidDateTime { get; private set; }
|
|
||||||
public string SalaryAidDateTimeFa { get; private set; }
|
|
||||||
|
|
||||||
public DateTime CalculationDateTime { get; private set; }
|
|
||||||
public string CalculationDateTimeFa { get; private set; }
|
|
||||||
public long EntityId { get; set; }
|
|
||||||
}
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
@@ -14,8 +14,4 @@
|
|||||||
<ProjectReference Include="..\CompanyManagment.App.Contracts\CompanyManagment.App.Contracts.csproj" />
|
<ProjectReference Include="..\CompanyManagment.App.Contracts\CompanyManagment.App.Contracts.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="CheckoutAgg\ValueObjects\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
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>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -213,60 +213,6 @@ public class CustomizeWorkshopEmployeeSettings : BaseCustomizeEntity
|
|||||||
earlyExit.EarlyExitTimeFines.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney))
|
earlyExit.EarlyExitTimeFines.Select(x => new EarlyExitTimeFine(x.Minute, x.FineMoney))
|
||||||
.ToList(), earlyExit.Value);
|
.ToList(), earlyExit.Value);
|
||||||
}
|
}
|
||||||
public void UpdateIsShiftChange()
|
|
||||||
{
|
|
||||||
var groupSetting = CustomizeWorkshopGroupSettings;
|
|
||||||
if (groupSetting == null)
|
|
||||||
return;
|
|
||||||
bool isShiftChange;
|
|
||||||
|
|
||||||
|
|
||||||
if (WorkshopShiftStatus == WorkshopShiftStatus.Regular)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (CustomizeWorkshopEmployeeSettingsShifts.All(x => groupSetting.CustomizeWorkshopGroupSettingsShifts.Any(y => x.Equals(y)))
|
|
||||||
&& WorkshopShiftStatus == groupSetting.WorkshopShiftStatus && FridayWork == groupSetting.FridayWork &&
|
|
||||||
HolidayWork == groupSetting.HolidayWork && BreakTime == groupSetting.BreakTime)
|
|
||||||
{
|
|
||||||
isShiftChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
isShiftChange = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (WorkshopShiftStatus == WorkshopShiftStatus.Irregular)
|
|
||||||
{
|
|
||||||
if (WorkshopShiftStatus == groupSetting.WorkshopShiftStatus && BreakTime == groupSetting.BreakTime &&
|
|
||||||
IrregularShift == groupSetting.IrregularShift && FridayWork == groupSetting.FridayWork &&
|
|
||||||
HolidayWork == groupSetting.HolidayWork)
|
|
||||||
{
|
|
||||||
isShiftChange = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
isShiftChange = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (CustomizeRotatingShifts.All(x => groupSetting.CustomizeRotatingShifts.Any(y => x.Equals(y)))
|
|
||||||
&& WorkshopShiftStatus == groupSetting.WorkshopShiftStatus && FridayWork == groupSetting.FridayWork &&
|
|
||||||
HolidayWork == groupSetting.HolidayWork && BreakTime == groupSetting.BreakTime)
|
|
||||||
{
|
|
||||||
isShiftChange = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
{
|
|
||||||
isShiftChange = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
IsShiftChanged = isShiftChange;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -219,7 +219,7 @@ public class CustomizeWorkshopGroupSettings : BaseCustomizeEntity
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var permittedToOverWrite = CustomizeWorkshopEmployeeSettingsCollection.Where(x => employeeIds.Contains(x.EmployeeId));
|
var permittedToOverWrite = CustomizeWorkshopEmployeeSettingsCollection.Where(x => employeeIds.Contains(x.id));
|
||||||
|
|
||||||
foreach (var item in permittedToOverWrite)
|
foreach (var item in permittedToOverWrite)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,83 +9,30 @@ 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)
|
{
|
||||||
{
|
WorkshopId = workshopId;
|
||||||
WorkshopId = workshopId;
|
EmployeeId = employeeId;
|
||||||
EmployeeId = employeeId;
|
ComputeOptions = computeOptions;
|
||||||
ComputeOptions = computeOptions;
|
BonusesOptions = bonusesOptions;
|
||||||
BonusesOptions = bonusesOptions;
|
YearsOptions = yearsOptions;
|
||||||
YearsOptions = yearsOptions;
|
}
|
||||||
|
|
||||||
SetContractAndCheckoutOptions(createContract, signContract, createCheckout, signCheckout);
|
public long WorkshopId { get; private set;}
|
||||||
}
|
public long EmployeeId { get; private set;}
|
||||||
|
|
||||||
|
//نحوه محاسبه مزد مرخصی
|
||||||
|
public string ComputeOptions { get; private set; }
|
||||||
|
//نحوه محاسبه عیدی
|
||||||
|
public string BonusesOptions { get; private set; }
|
||||||
|
//نحوه محاسبه سنوات
|
||||||
|
public string YearsOptions { get; private set; }
|
||||||
|
|
||||||
|
public void Edit(string computeOptions, string bonusesOptions, string yearsOptions)
|
||||||
public long WorkshopId { get; private set; }
|
{
|
||||||
public long EmployeeId { get; private set; }
|
ComputeOptions = computeOptions;
|
||||||
|
BonusesOptions = bonusesOptions;
|
||||||
//نحوه محاسبه مزد مرخصی
|
YearsOptions = yearsOptions;
|
||||||
public string ComputeOptions { get; private set; }
|
}
|
||||||
//نحوه محاسبه عیدی
|
}
|
||||||
public string BonusesOptions { get; private set; }
|
|
||||||
//نحوه محاسبه سنوات
|
|
||||||
public string YearsOptions { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ایجاد قرارداد
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateContract { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// امضای قرارداد
|
|
||||||
/// </summary>
|
|
||||||
public bool SignContract { get; private set; }
|
|
||||||
/// <summary>
|
|
||||||
/// ایجاد تصفیه
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateCheckout { get; private set; }
|
|
||||||
/// <summary>
|
|
||||||
/// امضای تصفیه
|
|
||||||
/// </summary>
|
|
||||||
public bool SignCheckout { get; private set; }
|
|
||||||
|
|
||||||
public void Edit(string computeOptions, string bonusesOptions, string yearsOptions, bool createContract, bool signContract, bool createCheckout,
|
|
||||||
bool signCheckout)
|
|
||||||
{
|
|
||||||
ComputeOptions = computeOptions;
|
|
||||||
BonusesOptions = bonusesOptions;
|
|
||||||
YearsOptions = yearsOptions;
|
|
||||||
SetContractAndCheckoutOptions(createContract, signContract, createCheckout, signCheckout);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void SetContractAndCheckoutOptions(bool createContract, bool signContract, bool createCheckout,
|
|
||||||
bool signCheckout)
|
|
||||||
{
|
|
||||||
CreateContract = createContract;
|
|
||||||
if (createContract)
|
|
||||||
{
|
|
||||||
SignContract = signContract;
|
|
||||||
CreateCheckout = createCheckout;
|
|
||||||
if (createCheckout)
|
|
||||||
{
|
|
||||||
SignCheckout = signCheckout;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SignCheckout = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
SignContract = false;
|
|
||||||
CreateCheckout = false;
|
|
||||||
SignCheckout = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public interface IInstitutionContractRepository : IRepository<long, InstitutionC
|
|||||||
|
|
||||||
double GetcontractAmount(int countPerson);
|
double GetcontractAmount(int countPerson);
|
||||||
|
|
||||||
(string result, string isExpier) ExpColor(DateTime contractEndGr, double contractAmount,
|
string ExpColor(DateTime contractEndGr, double contractAmount,
|
||||||
string isActiveString);
|
string isActiveString);
|
||||||
|
|
||||||
TotalbalancViewModel TotalBalance(long contractingPartyId);
|
TotalbalancViewModel TotalBalance(long contractingPartyId);
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ using System.Threading.Tasks;
|
|||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using CompanyManagment.App.Contracts.InsuranceJob;
|
using CompanyManagment.App.Contracts.InsuranceJob;
|
||||||
using CompanyManagment.App.Contracts.InsuranceJobItem;
|
|
||||||
|
|
||||||
namespace Company.Domain.InsurancJobAgg;
|
namespace Company.Domain.InsurancJobAgg;
|
||||||
|
|
||||||
@@ -14,16 +13,10 @@ public interface IInsuranceJobRepositpry:IRepository<long, InsuranceJob>
|
|||||||
{
|
{
|
||||||
//OperationResult Create(CreateInsurancJob command);
|
//OperationResult Create(CreateInsurancJob command);
|
||||||
// OperationResult Edit(EditInsurancJob command);
|
// OperationResult Edit(EditInsurancJob command);
|
||||||
EditInsuranceJob GetDetails(long id, string year, string month);
|
EditInsuranceJob GetDetails(long id);
|
||||||
List<InsuranceJobViewModel> GetInsurancJob();
|
List<InsuranceJobViewModel> GetInsurancJob();
|
||||||
List<InsuranceJobViewModel> Search(InsuranceJobSearchModel searchModel);
|
List<InsuranceJobViewModel> Search(InsuranceJobSearchModel searchModel);
|
||||||
OperationResult CreateInsuranceJob(CreateInsuranceJob command);
|
OperationResult CreateInsuranceJob(CreateInsuranceJob command);
|
||||||
List<(long id, string date)> GetOldYersInsuranceItemIds();
|
|
||||||
OperationResult CopyFromLastYear(CopyFromLastYearViewModel command);
|
|
||||||
OperationResult RecoveryOldData1403();
|
|
||||||
OperationResult Remove(long id);
|
OperationResult Remove(long id);
|
||||||
OperationResult EditInsuranceJob(EditInsuranceJob command);
|
OperationResult EditInsuranceJob(EditInsuranceJob command);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -14,11 +14,8 @@ public interface IInsuranceJobItemRepositpry : IRepository<long, InsuranceJobIte
|
|||||||
{
|
{
|
||||||
void CreateInsuranceJobItem(InsuranceJobItemViewModel model);
|
void CreateInsuranceJobItem(InsuranceJobItemViewModel model);
|
||||||
DetailsInsuranceJobItem GetDetails(long id);
|
DetailsInsuranceJobItem GetDetails(long id);
|
||||||
List<InsuranceJobItemViewModel> GetInsuranceJobItemByInsuranceJobId(long Id, string year, string month);
|
List<InsuranceJobItemViewModel> GetInsuranceJobItemByInsuranceJobId(long Id);
|
||||||
List<InsuranceJobItemViewModel> Search(InsuranceJobItemSearchModel searchModel);
|
List<InsuranceJobItemViewModel> Search(InsuranceJobItemSearchModel searchModel);
|
||||||
InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId,
|
InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId);
|
||||||
string year, string month);
|
|
||||||
|
|
||||||
(List<string> workshopList, bool hasAnyWorkshop) GetWorkshopUsedThisInsuranceJob(long insuranceJobId);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using Company.Domain.InsuranceJobAndJobsAgg;
|
using Company.Domain.InsuranceJobAndJobsAgg;
|
||||||
using Company.Domain.InsurancJobAgg;
|
using Company.Domain.InsurancJobAgg;
|
||||||
@@ -9,15 +8,13 @@ namespace Company.Domain.InsuranceJobItemAgg;
|
|||||||
|
|
||||||
public class InsuranceJobItem : EntityBase
|
public class InsuranceJobItem : EntityBase
|
||||||
{
|
{
|
||||||
public InsuranceJobItem(double percentageLessThan, double salaeyLessThan, double percentageMoreThan, double salaryMoreThan, long insuranceJobId, DateTime? startDate, DateTime? endDate)
|
public InsuranceJobItem(double percentageLessThan, double salaeyLessThan, double percentageMoreThan, double salaryMoreThan, long insuranceJobId)
|
||||||
{
|
{
|
||||||
PercentageLessThan = percentageLessThan;
|
PercentageLessThan = percentageLessThan;
|
||||||
SalaeyLessThan = salaeyLessThan;
|
SalaeyLessThan = salaeyLessThan;
|
||||||
PercentageMoreThan = percentageMoreThan;
|
PercentageMoreThan = percentageMoreThan;
|
||||||
SalaryMoreThan = salaryMoreThan;
|
SalaryMoreThan = salaryMoreThan;
|
||||||
InsuranceJobId = insuranceJobId;
|
InsuranceJobId = insuranceJobId;
|
||||||
StartDate = startDate;
|
|
||||||
EndDate = endDate;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public double PercentageLessThan { get; private set; }
|
public double PercentageLessThan { get; private set; }
|
||||||
@@ -25,9 +22,6 @@ public class InsuranceJobItem : EntityBase
|
|||||||
public double PercentageMoreThan { get; private set; }
|
public double PercentageMoreThan { get; private set; }
|
||||||
public double SalaryMoreThan { get; private set; }
|
public double SalaryMoreThan { get; private set; }
|
||||||
|
|
||||||
public DateTime? StartDate { get; private set; }
|
|
||||||
public DateTime? EndDate { get; private set; }
|
|
||||||
|
|
||||||
public long InsuranceJobId { get; private set; }
|
public long InsuranceJobId { get; private set; }
|
||||||
public InsuranceJob InsuranceJob { get; set; }
|
public InsuranceJob InsuranceJob { get; set; }
|
||||||
public List<InsuranceJobAndJobs> InsuranceJobAndJobs { get; set; }
|
public List<InsuranceJobAndJobs> InsuranceJobAndJobs { get; set; }
|
||||||
@@ -37,14 +31,12 @@ public class InsuranceJobItem : EntityBase
|
|||||||
InsuranceJobAndJobs = new List<InsuranceJobAndJobs>();
|
InsuranceJobAndJobs = new List<InsuranceJobAndJobs>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Edit(double percentageLessThan, double salaeyLessThan, double percentageMoreThan, double salaryMoreThan, long insuranceJobId, DateTime? startDate, DateTime? endDate)
|
public void Edit(double percentageLessThan, double salaeyLessThan, double percentageMoreThan, double salaryMoreThan, long insuranceJobId)
|
||||||
{
|
{
|
||||||
PercentageLessThan = percentageLessThan;
|
PercentageLessThan = percentageLessThan;
|
||||||
SalaeyLessThan = salaeyLessThan;
|
SalaeyLessThan = salaeyLessThan;
|
||||||
PercentageMoreThan = percentageMoreThan;
|
PercentageMoreThan = percentageMoreThan;
|
||||||
SalaryMoreThan = salaryMoreThan;
|
SalaryMoreThan = salaryMoreThan;
|
||||||
InsuranceJobId = insuranceJobId;
|
InsuranceJobId = insuranceJobId;
|
||||||
StartDate = startDate;
|
|
||||||
EndDate = endDate;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,13 +60,4 @@ public interface IInsuranceListRepository:IRepository<long, InsuranceList>
|
|||||||
#region client
|
#region client
|
||||||
List<InsuranceListViewModel> SearchForClient(InsuranceListSearchModel searchModel);
|
List<InsuranceListViewModel> SearchForClient(InsuranceListSearchModel searchModel);
|
||||||
#endregion
|
#endregion
|
||||||
|
}
|
||||||
#region Mahan
|
|
||||||
Task<InsuranceListConfirmOperation> GetInsuranceOperationDetails(long id);
|
|
||||||
|
|
||||||
Task<InsuranceListTabsCountViewModel> GetTabCounts(InsuranceListSearchModel searchModel);
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -4,9 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using Company.Domain.InsuranceListAgg.ValueObjects;
|
|
||||||
using Company.Domain.InsuranceWorkshopAgg;
|
using Company.Domain.InsuranceWorkshopAgg;
|
||||||
using CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
namespace Company.Domain.InsuranceListAgg;
|
namespace Company.Domain.InsuranceListAgg;
|
||||||
|
|
||||||
@@ -153,21 +151,6 @@ public class InsuranceList : EntityBase
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public double SumOfMarriedAllowance { get; private set; }
|
public double SumOfMarriedAllowance { get; private set; }
|
||||||
|
|
||||||
#region Mahan
|
|
||||||
/// <summary>
|
|
||||||
/// بازرسی
|
|
||||||
/// </summary>
|
|
||||||
public InsuranceListInspection Inspection { get; set; } =new (InsuranceListInspectionType.None,DateTime.MinValue, 0);
|
|
||||||
/// <summary>
|
|
||||||
/// بدهی
|
|
||||||
/// </summary>
|
|
||||||
public InsuranceListDebt Debt { get; set; } = new(InsuranceListDebtType.None, DateTime.MinValue, 0, 0);
|
|
||||||
/// <summary>
|
|
||||||
/// تاییدیه کارفرما
|
|
||||||
/// </summary>
|
|
||||||
public InsuranceListEmployerApproval EmployerApproval { get; set; } = new(InsuranceListEmployerApprovalStatus.None, string.Empty);
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public List<InsuranceListWorkshop> InsuranceListWorkshops { get; set; }
|
public List<InsuranceListWorkshop> InsuranceListWorkshops { get; set; }
|
||||||
|
|
||||||
public void Edit(int sumOfEmployees, int sumOfWorkingDays, double sumOfSalaries, double sumOfBenefitsIncluded, double included,
|
public void Edit(int sumOfEmployees, int sumOfWorkingDays, double sumOfSalaries, double sumOfBenefitsIncluded, double included,
|
||||||
@@ -191,22 +174,4 @@ public class InsuranceList : EntityBase
|
|||||||
SumOfDailyWagePlusBaseYears = sumOfDailyWage + sumOfBaseYears;
|
SumOfDailyWagePlusBaseYears = sumOfDailyWage + sumOfBaseYears;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
public void SetDebt(InsuranceListDebt debt)
|
|
||||||
{
|
|
||||||
Debt = debt;
|
|
||||||
}
|
|
||||||
public void SetInspection(InsuranceListInspection inspection)
|
|
||||||
{
|
|
||||||
Inspection = inspection;
|
|
||||||
}
|
|
||||||
public void SetEmployerApproval(InsuranceListEmployerApproval employerApproval)
|
|
||||||
{
|
|
||||||
EmployerApproval = employerApproval;
|
|
||||||
}
|
|
||||||
public void SetConfirmSentlist(bool confirmSentlist)
|
|
||||||
{
|
|
||||||
ConfirmSentlist = confirmSentlist;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
using System;
|
|
||||||
using CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
namespace Company.Domain.InsuranceListAgg.ValueObjects;
|
|
||||||
|
|
||||||
public class InsuranceListDebt
|
|
||||||
{
|
|
||||||
public InsuranceListDebt(InsuranceListDebtType type, DateTime debtDate, double amount, long mediaId)
|
|
||||||
{
|
|
||||||
Type = type;
|
|
||||||
if (type == InsuranceListDebtType.None)
|
|
||||||
{
|
|
||||||
DebtDate = DateTime.MinValue;
|
|
||||||
Amount = 0;
|
|
||||||
MediaId = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DebtDate = debtDate;
|
|
||||||
Amount = amount;
|
|
||||||
MediaId = mediaId;
|
|
||||||
IsDone = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public InsuranceListDebtType Type { get; set; }
|
|
||||||
public DateTime DebtDate { get; set; }
|
|
||||||
public double Amount { get; set; }
|
|
||||||
public long MediaId { get; set; }
|
|
||||||
public bool IsDone { get; set; }
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
using System.Security.Cryptography;
|
|
||||||
using CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
namespace Company.Domain.InsuranceListAgg.ValueObjects;
|
|
||||||
|
|
||||||
public class InsuranceListEmployerApproval
|
|
||||||
{
|
|
||||||
public InsuranceListEmployerApproval(InsuranceListEmployerApprovalStatus status, string description)
|
|
||||||
{
|
|
||||||
Status = status;
|
|
||||||
if (status == InsuranceListEmployerApprovalStatus.None)
|
|
||||||
{
|
|
||||||
Description = string.Empty;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
Description = description;
|
|
||||||
IsDone = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public InsuranceListEmployerApprovalStatus Status { get; set; }
|
|
||||||
public string Description { get; set; }
|
|
||||||
public bool IsDone { get; set; }
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
using System;
|
|
||||||
using CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
namespace Company.Domain.InsuranceListAgg.ValueObjects;
|
|
||||||
|
|
||||||
public class InsuranceListInspection
|
|
||||||
{
|
|
||||||
public InsuranceListInspection(InsuranceListInspectionType type, DateTime lastInspectionDateTime, long mediaId)
|
|
||||||
{
|
|
||||||
Type = type;
|
|
||||||
if (type == InsuranceListInspectionType.None)
|
|
||||||
{
|
|
||||||
LastInspectionDateTime = DateTime.MinValue;
|
|
||||||
MediaId = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
LastInspectionDateTime = lastInspectionDateTime;
|
|
||||||
MediaId = mediaId;
|
|
||||||
IsDone = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public InsuranceListInspectionType Type { get; set; }
|
|
||||||
public DateTime LastInspectionDateTime { get; set; }
|
|
||||||
public long MediaId { get; set; }
|
|
||||||
public bool IsDone { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -45,5 +45,4 @@ public interface ILeftWorkRepository : IRepository<long, LeftWork>
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
Task<LeftWork> GetLastLeftWork(long employeeId, long workshopId);
|
Task<LeftWork> GetLastLeftWork(long employeeId, long workshopId);
|
||||||
List<LeftWorkViewModel> SearchCreateContract(LeftWorkSearchModel searchModel);
|
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@ using System.Collections.Generic;
|
|||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using CompanyManagment.App.Contracts.InsuranceList;
|
using CompanyManagment.App.Contracts.InsuranceList;
|
||||||
using CompanyManagment.App.Contracts.LeftWork;
|
|
||||||
using CompanyManagment.App.Contracts.LeftWorkInsurance;
|
using CompanyManagment.App.Contracts.LeftWorkInsurance;
|
||||||
using CompanyManagment.App.Contracts.PersonnleCode;
|
using CompanyManagment.App.Contracts.PersonnleCode;
|
||||||
|
|
||||||
@@ -41,19 +40,5 @@ public interface ILeftWorkInsuranceRepository : IRepository<long, LeftWorkInsura
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
List<EmployeeDetailsForInsuranceListViewModel> GetEmployeeInsuranceLeftWorksAndInformation(long workshopId, DateTime startDate, DateTime endDate);
|
List<EmployeeDetailsForInsuranceListViewModel> GetEmployeeInsuranceLeftWorksAndInformation(long workshopId, DateTime startDate, DateTime endDate);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Mahan
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// پرسنل هایی که در قرارداد ترک کار دارند ولی در بیمه ترک کاری برایشان نخورده
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="workshopId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
List<LeftWorkViewModel> GetEmployeesWithContractExitOnly(long workshopId);
|
|
||||||
|
|
||||||
LeftWorkInsurance GetLastLeftWorkByEmployeeIdAndWorkshopId(long workshopId, long employeeId);
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -6,9 +6,7 @@ using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities;
|
|||||||
using CompanyManagment.App.Contracts.Contract;
|
using CompanyManagment.App.Contracts.Contract;
|
||||||
using CompanyManagment.App.Contracts.CustomizeCheckout;
|
using CompanyManagment.App.Contracts.CustomizeCheckout;
|
||||||
using CompanyManagment.App.Contracts.Leave;
|
using CompanyManagment.App.Contracts.Leave;
|
||||||
using CompanyManagment.App.Contracts.Loan;
|
|
||||||
using CompanyManagment.App.Contracts.RollCall;
|
using CompanyManagment.App.Contracts.RollCall;
|
||||||
using CompanyManagment.App.Contracts.SalaryAid;
|
|
||||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||||
|
|
||||||
namespace Company.Domain.RollCallAgg;
|
namespace Company.Domain.RollCallAgg;
|
||||||
@@ -16,19 +14,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);
|
||||||
|
TimeSpan AfterSubtract(CreateWorkingHoursTemp command, TimeSpan sumOneDaySpan, DateTime creationDate);
|
||||||
/// <summary>
|
|
||||||
/// محاسبه ساعات کارکرد پرسنل در صورت داشتن حضور غیاب
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="employeeId"></param>
|
|
||||||
/// <param name="workshopId"></param>
|
|
||||||
/// <param name="contractStart"></param>
|
|
||||||
/// <param name="contractEnd"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
(bool hasRollCall, TimeSpan sumOfSpan) GetRollCallWorkingSpan(long employeeId, long workshopId,
|
|
||||||
DateTime contractStart, DateTime contractEnd);
|
|
||||||
|
|
||||||
TimeSpan AfterSubtract(CreateWorkingHoursTemp command, TimeSpan sumOneDaySpan, DateTime creationDate);
|
|
||||||
|
|
||||||
List<RotatingShiftViewModel> RotatingShiftCheck(List<GroupedRollCalls> rollCallList);
|
List<RotatingShiftViewModel> RotatingShiftCheck(List<GroupedRollCalls> rollCallList);
|
||||||
|
|
||||||
@@ -47,12 +33,6 @@ public interface IRollCallMandatoryRepository : IRepository<long, RollCall>
|
|||||||
/// <param name="contractEnd"></param>
|
/// <param name="contractEnd"></param>
|
||||||
/// <param name="shiftwork"></param>
|
/// <param name="shiftwork"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
List<LoanInstallmentViewModel> LoanInstallmentForCheckout(long employeeId, long workshopId, DateTime contractStart,
|
|
||||||
DateTime contractEnd);
|
|
||||||
|
|
||||||
List<SalaryAidViewModel> SalaryAidsForCheckout(long employeeId, long workshopId, DateTime checkoutStart,
|
|
||||||
DateTime checkoutEnd);
|
|
||||||
|
|
||||||
Task<ComputingViewModel> RotatingShiftReport(long workshopId, long employeeId, DateTime contractStart,
|
Task<ComputingViewModel> RotatingShiftReport(long workshopId, long employeeId, DateTime contractStart,
|
||||||
DateTime contractEnd, string shiftwork, bool hasRollCall, CreateWorkingHoursTemp command,bool holidayWorking);
|
DateTime contractEnd, string shiftwork, bool hasRollCall, CreateWorkingHoursTemp command,bool holidayWorking);
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using CompanyManagment.App.Contracts.RollCallEmployee;
|
using CompanyManagment.App.Contracts.RollCallEmployee;
|
||||||
|
|
||||||
@@ -7,7 +6,6 @@ namespace Company.Domain.RollCallEmployeeAgg;
|
|||||||
|
|
||||||
public interface IRollCallEmployeeRepository : IRepository<long, RollCallEmployee>
|
public interface IRollCallEmployeeRepository : IRepository<long, RollCallEmployee>
|
||||||
{
|
{
|
||||||
bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd);
|
|
||||||
List<RollCallEmployeeViewModel> GetByWorkshopId(long workshopId);
|
List<RollCallEmployeeViewModel> GetByWorkshopId(long workshopId);
|
||||||
EditRollCallEmployee GetDetails(long id);
|
EditRollCallEmployee GetDetails(long id);
|
||||||
RollCallEmployeeViewModel GetByEmployeeIdAndWorkshopId(long employeeId, long workshopId);
|
RollCallEmployeeViewModel GetByEmployeeIdAndWorkshopId(long employeeId, long workshopId);
|
||||||
|
|||||||
@@ -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; }
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,6 @@ public interface IWorkshopRepository : IRepository<long, Workshop>
|
|||||||
Task<int> GetWorkshopsForEmployeeStartWorkCount(long accountId);
|
Task<int> GetWorkshopsForEmployeeStartWorkCount(long accountId);
|
||||||
Task<List<WorkshopWithLeftWorkTempEmployeesDto>> GetWorkshopsForLeftWorkTemp(long accountId);
|
Task<List<WorkshopWithLeftWorkTempEmployeesDto>> GetWorkshopsForLeftWorkTemp(long accountId);
|
||||||
Task<int> GetWorkshopsForLeftWorkTempCount(long accountId);
|
Task<int> GetWorkshopsForLeftWorkTempCount(long accountId);
|
||||||
Task<List<WorkshopSelectListViewModel>> GetSelectList(string search);
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Security.AccessControl;
|
using System.Security.AccessControl;
|
||||||
using _0_Framework.Application;
|
|
||||||
using _0_Framework.Domain;
|
using _0_Framework.Domain;
|
||||||
using Company.Domain.CheckoutAgg;
|
using Company.Domain.CheckoutAgg;
|
||||||
using Company.Domain.ClientEmployeeWorkshopAgg;
|
using Company.Domain.ClientEmployeeWorkshopAgg;
|
||||||
@@ -93,7 +92,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, 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)
|
||||||
{
|
{
|
||||||
WorkshopName = workshopName;
|
WorkshopName = workshopName;
|
||||||
WorkshopSureName = workshopSureName;
|
WorkshopSureName = workshopSureName;
|
||||||
@@ -137,12 +136,7 @@ public class Workshop : EntityBase
|
|||||||
WorkshopHolidayWorking = workshopHolidayWorking;
|
WorkshopHolidayWorking = workshopHolidayWorking;
|
||||||
InsuranceCheckoutOvertime = insuranceCheckoutOvertime;
|
InsuranceCheckoutOvertime = insuranceCheckoutOvertime;
|
||||||
InsuranceCheckoutFamilyAllowance = insuranceCheckoutFamilyAllowance;
|
InsuranceCheckoutFamilyAllowance = insuranceCheckoutFamilyAllowance;
|
||||||
CreateContract = createContract;
|
}
|
||||||
SignContract = signContract;
|
|
||||||
CreateCheckout = createCheckout;
|
|
||||||
SignCheckout = signCheckout;
|
|
||||||
CutContractEndOfYear = cutContractEndOfYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public string WorkshopName { get; private set; }
|
public string WorkshopName { get; private set; }
|
||||||
@@ -216,19 +210,6 @@ public class Workshop : EntityBase
|
|||||||
/// محاسبه حق اولاد در لیست بیمه
|
/// محاسبه حق اولاد در لیست بیمه
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool InsuranceCheckoutFamilyAllowance { get; private set; }
|
public bool InsuranceCheckoutFamilyAllowance { get; private set; }
|
||||||
|
|
||||||
public bool CreateContract { get; private set; }
|
|
||||||
public bool SignContract { get; private set; }
|
|
||||||
public bool CreateCheckout { get; private set; }
|
|
||||||
public bool SignCheckout { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// اگر قرارداد بیش از یک ماه باشد و گزینه انتخاب شده منتهی به پایان سال باشد
|
|
||||||
/// این آیتم
|
|
||||||
/// True
|
|
||||||
/// است
|
|
||||||
/// </summary>
|
|
||||||
public IsActive CutContractEndOfYear { get; private set; }
|
|
||||||
//public Employer Employer { get; private set; }
|
//public Employer Employer { get; private set; }
|
||||||
|
|
||||||
public Workshop()
|
public Workshop()
|
||||||
@@ -262,7 +243,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)
|
||||||
{
|
{
|
||||||
WorkshopName = workshopName;
|
WorkshopName = workshopName;
|
||||||
WorkshopSureName = workshopSureName;
|
WorkshopSureName = workshopSureName;
|
||||||
@@ -303,12 +284,7 @@ public class Workshop : EntityBase
|
|||||||
WorkshopHolidayWorking = workshopHolidayWorking;
|
WorkshopHolidayWorking = workshopHolidayWorking;
|
||||||
InsuranceCheckoutOvertime = insuranceCheckoutOvertime;
|
InsuranceCheckoutOvertime = insuranceCheckoutOvertime;
|
||||||
InsuranceCheckoutFamilyAllowance = insuranceCheckoutFamilyAllowance;
|
InsuranceCheckoutFamilyAllowance = insuranceCheckoutFamilyAllowance;
|
||||||
CreateContract = createContract;
|
}
|
||||||
SignContract = signContract;
|
|
||||||
CreateCheckout = createCheckout;
|
|
||||||
SignCheckout = signCheckout;
|
|
||||||
CutContractEndOfYear = cutContractEndOfYear;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void Active(string archiveCode)
|
public void Active(string archiveCode)
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
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.Checkout;
|
using CompanyManagment.App.Contracts.Checkout;
|
||||||
@@ -34,9 +33,6 @@ public interface IEmployerRepository : IRepository<long, Employer>
|
|||||||
|
|
||||||
List<EmployerViewModel> GetEmployersHasWorkshop();
|
List<EmployerViewModel> GetEmployersHasWorkshop();
|
||||||
|
|
||||||
Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region NewByHeydari
|
#region NewByHeydari
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
namespace CompanyManagment.App.Contracts.AdminMonthlyOverview;
|
|
||||||
|
|
||||||
public enum AdminMonthlyOverviewStatus
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// تنظیم مستندات - فیش و قرارداد
|
|
||||||
/// </summary>
|
|
||||||
CreateDocuments = 0,
|
|
||||||
/// <summary> در انتظار مراجعه </summary>
|
|
||||||
VisitPending = 1,
|
|
||||||
/// <summary> در حال مراجعه </summary>
|
|
||||||
VisitInProgress = 2,
|
|
||||||
/// <summary> اتمام مراجعه </summary>
|
|
||||||
VisitCompleted = 3,
|
|
||||||
/// <summary> بایگانی شد </summary>
|
|
||||||
Archived = 4
|
|
||||||
}
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.Security.Cryptography;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using _0_Framework.Application;
|
|
||||||
using Microsoft.EntityFrameworkCore.Metadata;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.AdminMonthlyOverview;
|
|
||||||
|
|
||||||
public interface IAdminMonthlyOverviewApplication
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// نمایش لیست ماهانه کارگاه ها - درصورت وجود نداشتن اطلاعات در این ماه، یک رکورد جدید ایجاد میکند
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<List<AdminMonthlyOverviewListViewModel>> GetWorkshopListByStatus(AdminMonthlyOverviewSearchModel searchModel);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// شمارش تعداد هر تب
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="year"></param>
|
|
||||||
/// <param name="month"></param>
|
|
||||||
/// <param name="accountId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<AdminMonthlyOverViewCounterVm> GetCounter(int year, int month, long accountId);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// رفتن به مرحله بعدی
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="id"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<OperationResult> Next(long id);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// برگشت به مرحله قبل
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="id"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<OperationResult> Back(long id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public class AdminMonthlyOverViewCounterVm
|
|
||||||
{
|
|
||||||
public int CreateDocument { get; set; }
|
|
||||||
public int VisitPending { get; set; }
|
|
||||||
public int VisitInProgress { get; set; }
|
|
||||||
public int VisitCompleted { get; set; }
|
|
||||||
public int Archived { get; set; }
|
|
||||||
public int All { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class AdminMonthlyOverviewSearchModel
|
|
||||||
{
|
|
||||||
public int Year { get; set; }
|
|
||||||
public int Month { get; set; }
|
|
||||||
public long WorkshopId { get; set; }
|
|
||||||
public long EmployerId { get; set; }
|
|
||||||
public long AdminAccountId { get; set; }
|
|
||||||
public IsActive ActivationStatus { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class AdminMonthlyOverviewListViewModel
|
|
||||||
{
|
|
||||||
public long Id { get; set; }
|
|
||||||
public long WorkshopId { get; set; }
|
|
||||||
public string WorkshopName { get; set; }
|
|
||||||
public string WorkshopArchiveCode { get; set; }
|
|
||||||
public int WorkshopArchiveCodeInt { get; set; }
|
|
||||||
public string Province { get; set; }
|
|
||||||
public string City { get; set; }
|
|
||||||
public string Address { get; set; }
|
|
||||||
public string AgentPhoneNumber { get; set; }
|
|
||||||
public string AdminFullName { get; set; }
|
|
||||||
public string EmployerName { get; set; }
|
|
||||||
public string EmployerPhoneNumber { get; set; }
|
|
||||||
public int ContractEmployeeCount { get; set; }
|
|
||||||
public int CheckoutEmployeeCount { get; set; }
|
|
||||||
public AdminMonthlyOverviewStatus Status { get; set; }
|
|
||||||
public bool IsBlock { get; set; }
|
|
||||||
}
|
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using CompanyManagment.App.Contracts.Employer;
|
using CompanyManagment.App.Contracts.Employer;
|
||||||
using CompanyManagment.App.Contracts.Loan;
|
|
||||||
using CompanyManagment.App.Contracts.RollCall;
|
using CompanyManagment.App.Contracts.RollCall;
|
||||||
using CompanyManagment.App.Contracts.SalaryAid;
|
|
||||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.Checkout;
|
namespace CompanyManagment.App.Contracts.Checkout;
|
||||||
@@ -122,19 +120,5 @@ public class CheckoutViewModel
|
|||||||
/// تعداد روزهای محاسبه شده برای عیدی و پاداش
|
/// تعداد روزهای محاسبه شده برای عیدی و پاداش
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TotalDayOfBunosesCompute { get; set; }
|
public string TotalDayOfBunosesCompute { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// مدت مرخصی استعلاجی
|
|
||||||
/// </summary>
|
|
||||||
public string TotalSickLeave { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// مدت مرخصی استحقاقی
|
|
||||||
/// </summary>
|
|
||||||
public string TotalPaidLeave { 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<SalaryAidViewModel> SalaryAidViewModels { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.Checkout;
|
|
||||||
|
|
||||||
public class CreateCheckoutListViewModel
|
|
||||||
{
|
|
||||||
public long Id { get; set; }
|
|
||||||
|
|
||||||
public long PersonnelCode { get; set; }
|
|
||||||
|
|
||||||
public long EmployeeId { get; set; }
|
|
||||||
|
|
||||||
public string ContractNo { get; set; }
|
|
||||||
|
|
||||||
public string EmployerName { get; set; }
|
|
||||||
|
|
||||||
public string WorkshopName { get; set; }
|
|
||||||
public string EmployeeName { get; set; }
|
|
||||||
|
|
||||||
public string ContractStart { get; set; }
|
|
||||||
|
|
||||||
public string ContractEnd { get; set; }
|
|
||||||
|
|
||||||
public string LeftWorkDate { get; set; }
|
|
||||||
|
|
||||||
//public string NextMonthStart { get; set; }
|
|
||||||
|
|
||||||
//public bool RedColor { get; set; }
|
|
||||||
|
|
||||||
public bool LaterThanEnd { get; set; }
|
|
||||||
|
|
||||||
public bool Extension { get; set; }
|
|
||||||
|
|
||||||
public bool HasCheckout { get; set; }
|
|
||||||
|
|
||||||
//public bool MoreThanOneMonth { get; set; }
|
|
||||||
|
|
||||||
//public bool Waiting { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public string Description { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
public List<CreateCheckoutListViewModel> CreateCheckoutList { get; set; }
|
|
||||||
}
|
|
||||||
@@ -13,20 +13,7 @@ public interface ICheckoutApplication
|
|||||||
OperationResult Edit(EditCheckout command);
|
OperationResult Edit(EditCheckout command);
|
||||||
EditCheckout GetDetails(long id);
|
EditCheckout GetDetails(long id);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// لود لیست اولیه جهت ایجاد فیش حقوقی
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="workshopId"></param>
|
|
||||||
/// <param name="employeeId"></param>
|
|
||||||
/// <param name="year"></param>
|
|
||||||
/// <param name="month"></param>
|
|
||||||
/// <param name="contractStart"></param>
|
|
||||||
/// <param name="contractEnd"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
/// <exception cref="NotImplementedException"></exception>
|
|
||||||
Task<CreateCheckoutListViewModel> GetContractResultToCreateCheckout(long workshopId, long employeeId, string year,
|
|
||||||
string month,
|
|
||||||
string contractStart, string contractEnd);
|
|
||||||
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);
|
||||||
|
|||||||
@@ -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,7 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using CompanyManagment.App.Contracts.Loan;
|
|
||||||
using CompanyManagment.App.Contracts.SalaryAid;
|
|
||||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.Contract;
|
namespace CompanyManagment.App.Contracts.Contract;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public interface ICustomizeWorkshopSettingsApplication
|
|||||||
//Remove the Employee From the Group Settings
|
//Remove the Employee From the Group Settings
|
||||||
OperationResult RemoveEmployeeFromRollCallWorkshopGroup(long employeeId, long groupId, long workshopId);
|
OperationResult RemoveEmployeeFromRollCallWorkshopGroup(long employeeId, long groupId, long workshopId);
|
||||||
|
|
||||||
OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command, List<ReCalculateRollCallValues> reCalculateCommand);
|
OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command);
|
||||||
|
|
||||||
#region Vafa
|
#region Vafa
|
||||||
OperationResult EditSimpleRollCallEmployeeSetting(EditCustomizeEmployeeSettings command,
|
OperationResult EditSimpleRollCallEmployeeSetting(EditCustomizeEmployeeSettings command,
|
||||||
@@ -90,13 +90,7 @@ public interface ICustomizeWorkshopSettingsApplication
|
|||||||
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByWorkshopId(long workshopId);
|
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByWorkshopId(long workshopId);
|
||||||
CustomizeWorkshopGroupSettingsViewModel GetEmployeesGroupSettingsByEmployeeId(long employeeId, long workshopId);
|
CustomizeWorkshopGroupSettingsViewModel GetEmployeesGroupSettingsByEmployeeId(long employeeId, long workshopId);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// این متد برای قبل از ویرایش گروهی و محاسبه مجدد گروهی استفاده میشود برای اینکه پرسنل هایی که دارای فیش هستند رو فرانت نمایش بده
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="command"></param>
|
|
||||||
/// <param name="workshopId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
OperationResult<List<long>> ValidateReCalculateValueForGroupEdit(List<ReCalculateRollCallValues> command, long workshopId);
|
|
||||||
bool HasAnyEmployeeWithoutGroup(long workshopId);
|
bool HasAnyEmployeeWithoutGroup(long workshopId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
namespace CompanyManagment.App.Contracts.DateSalary;
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.DateSalary;
|
|
||||||
|
|
||||||
public class DateSalaryViewModel
|
public class DateSalaryViewModel
|
||||||
{
|
{
|
||||||
@@ -9,6 +7,4 @@ public class DateSalaryViewModel
|
|||||||
public string Month { get; set; }
|
public string Month { get; set; }
|
||||||
public string StartDateFa { get; set; }
|
public string StartDateFa { get; set; }
|
||||||
public string EndDateFa { get; set; }
|
public string EndDateFa { get; set; }
|
||||||
public DateTime StartDateGr { get; set; }
|
|
||||||
public DateTime EndDateGr { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -17,22 +17,5 @@ namespace CompanyManagment.App.Contracts.EmployeeComputeOptions
|
|||||||
public string BonusesOptions { get; set; }
|
public string BonusesOptions { get; set; }
|
||||||
//نحوه محاسبه سنوات
|
//نحوه محاسبه سنوات
|
||||||
public string YearsOptions { get; set; }
|
public string YearsOptions { get; set; }
|
||||||
|
}
|
||||||
/// <summary>
|
|
||||||
/// ایجاد قرارداد
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateContract { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// امضای قرارداد
|
|
||||||
/// </summary>
|
|
||||||
public bool SignContract { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// ایجاد تصفیه
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateCheckout { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// امضای تصفیه
|
|
||||||
/// </summary>
|
|
||||||
public bool SignCheckout { get; set; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,20 +12,4 @@ public class EmployeeComputeOptionsViewModel
|
|||||||
public string BonusesOptions { get; set; }
|
public string BonusesOptions { get; set; }
|
||||||
//نحوه محاسبه سنوات
|
//نحوه محاسبه سنوات
|
||||||
public string YearsOptions { get; set; }
|
public string YearsOptions { get; set; }
|
||||||
/// <summary>
|
|
||||||
/// ایجاد قرارداد
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateContract { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// امضای قرارداد
|
|
||||||
/// </summary>
|
|
||||||
public bool SignContract { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// ایجاد تصفیه
|
|
||||||
/// </summary>
|
|
||||||
public bool CreateCheckout { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// امضای تصفیه
|
|
||||||
/// </summary>
|
|
||||||
public bool SignCheckout { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
namespace CompanyManagment.App.Contracts.Employer;
|
|
||||||
|
|
||||||
public class EmployerSelectListViewModel
|
|
||||||
{
|
|
||||||
public long Id { get; set; }
|
|
||||||
public string Name { get; set; }
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using CompanyManagment.App.Contracts.Checkout;
|
using CompanyManagment.App.Contracts.Checkout;
|
||||||
|
|
||||||
@@ -36,8 +35,6 @@ public interface IEmployerApplication
|
|||||||
#region Mahan
|
#region Mahan
|
||||||
|
|
||||||
List<EmployerViewModel> GetEmployersHasWorkshop();
|
List<EmployerViewModel> GetEmployersHasWorkshop();
|
||||||
Task<List<EmployerSelectListViewModel>> GetSelectList(string search);
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
#region NewByHeydari
|
#region NewByHeydari
|
||||||
OperationResult DeleteEmployer(long id);
|
OperationResult DeleteEmployer(long id);
|
||||||
|
|||||||
@@ -69,5 +69,4 @@ public class InstitutionContractViewModel
|
|||||||
public double ValueAddedTax { get; set; }
|
public double ValueAddedTax { get; set; }
|
||||||
public int LeftWorkEmployeeCount { get; set; }
|
public int LeftWorkEmployeeCount { get; set; }
|
||||||
public int InsuranceLeftWorkEmployeeCount { get; set; }
|
public int InsuranceLeftWorkEmployeeCount { get; set; }
|
||||||
public string IsExpier { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using CompanyManagment.App.Contracts.InsuranceJobItem;
|
|
||||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceJob;
|
|
||||||
|
|
||||||
public class CopyFromLastYearViewModel
|
|
||||||
{
|
|
||||||
public string StartDate { get; set; }
|
|
||||||
public string EndDate { get; set; }
|
|
||||||
|
|
||||||
public long InsuranceJobItemId { get; set; }
|
|
||||||
|
|
||||||
public SelectList InsuranceJobItemViewModels { get; set; }
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,6 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using CompanyManagment.App.Contracts.InsuranceJobItem;
|
using CompanyManagment.App.Contracts.InsuranceJobItem;
|
||||||
using CompanyManagment.App.Contracts.Job;
|
using CompanyManagment.App.Contracts.Job;
|
||||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceJob;
|
namespace CompanyManagment.App.Contracts.InsuranceJob;
|
||||||
|
|
||||||
@@ -15,20 +14,7 @@ public class CreateInsuranceJob
|
|||||||
public long YearlySalaryId { get; set; }
|
public long YearlySalaryId { get; set; }
|
||||||
public string EconomicCode { get; set; }
|
public string EconomicCode { get; set; }
|
||||||
public string Year { get; set; }
|
public string Year { get; set; }
|
||||||
public string Month { get; set; }
|
|
||||||
public long JobId { get; set; }
|
public long JobId { get; set; }
|
||||||
|
|
||||||
public string StartDateFa { get; set; }
|
|
||||||
public string EndDateFa { get; set; }
|
|
||||||
public List<JobViewModel> Jobs { get; set; }
|
public List<JobViewModel> Jobs { get; set; }
|
||||||
public List<InsuranceJobItemViewModel> InsuranceJobItems { get; set; }
|
public List<InsuranceJobItemViewModel> InsuranceJobItems { get; set; }
|
||||||
|
|
||||||
public List<string> WorkshopList { get; set; }
|
|
||||||
public bool HasAnyWorkshop { get; set; }
|
|
||||||
|
|
||||||
public long InsuranceJobItemId { get; set; }
|
|
||||||
|
|
||||||
public SelectList InsuranceJobItemViewModels { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -10,12 +10,9 @@ namespace CompanyManagment.App.Contracts.InsuranceJob;
|
|||||||
|
|
||||||
public interface IInsuranceJobApplication
|
public interface IInsuranceJobApplication
|
||||||
{
|
{
|
||||||
List<(long id, string date)> GetOldYersInsuranceItemIds();
|
|
||||||
OperationResult CopyFromLastYear(CopyFromLastYearViewModel command);
|
|
||||||
OperationResult RecoveryOldData1403();
|
|
||||||
OperationResult Create(CreateInsuranceJob command);
|
OperationResult Create(CreateInsuranceJob command);
|
||||||
OperationResult Edit(EditInsuranceJob command);
|
OperationResult Edit(EditInsuranceJob command);
|
||||||
EditInsuranceJob GetDetails(long id,string year, string month);
|
EditInsuranceJob GetDetails(long id);
|
||||||
List<InsuranceJobViewModel> GetInsurancJob();
|
List<InsuranceJobViewModel> GetInsurancJob();
|
||||||
|
|
||||||
List<InsuranceJobViewModel> Search(InsuranceJobSearchModel searchModel);
|
List<InsuranceJobViewModel> Search(InsuranceJobSearchModel searchModel);
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ 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 CompanyManagment.App.Contracts.InsuranceJobItem;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceJob;
|
namespace CompanyManagment.App.Contracts.InsuranceJob;
|
||||||
|
|
||||||
@@ -14,7 +13,4 @@ public class InsuranceJobViewModel
|
|||||||
//public long YearlySalaryId { get; set; }
|
//public long YearlySalaryId { get; set; }
|
||||||
public string EconomicCode { get; set; }
|
public string EconomicCode { get; set; }
|
||||||
public string Year { get; set; }
|
public string Year { get; set; }
|
||||||
public string Month { get; set; }
|
|
||||||
public List<InsuranceJobItemViewModel> InsuranceJobItemViewModels { get; set; }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -11,32 +11,14 @@ namespace CompanyManagment.App.Contracts.InsuranceJobItem;
|
|||||||
public class InsuranceJobItemViewModel
|
public class InsuranceJobItemViewModel
|
||||||
{
|
{
|
||||||
public long Id { get; set; }
|
public long Id { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// آیای این درصد در لیست مبالغ مبلغ پر شده دارد
|
|
||||||
/// </summary>
|
|
||||||
public bool IsPercentageLessThanUse { get; set; }
|
|
||||||
public double PercentageLessThan { get; set; }
|
public double PercentageLessThan { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// آیای این درصد در لیست مبالغ مبلغ پر شده دارد
|
|
||||||
/// </summary>
|
|
||||||
public bool IsPercentageMoreThanUse { get; set; }
|
|
||||||
public double PercentageMoreThan { get; set; }
|
public double PercentageMoreThan { get; set; }
|
||||||
|
|
||||||
public double SalaeyLessThan { get; set; }
|
public double SalaeyLessThan { get; set; }
|
||||||
public double SalaryMoreThan { get; set; }
|
public double SalaryMoreThan { get; set; }
|
||||||
public string SalaeyLessThanString { get; set; }
|
public string SalaeyLessThanString { get; set; }
|
||||||
public string SalaryMoreThanString { get; set; }
|
public string SalaryMoreThanString { get; set; }
|
||||||
public long InsuranceJobId { get; set; }
|
public long InsuranceJobId { get; set; }
|
||||||
|
|
||||||
public DateTime? StartDate { get; set; }
|
|
||||||
public DateTime? EndDate { get; set; }
|
|
||||||
|
|
||||||
public List<long> JobIds { get; set; }
|
public List<long> JobIds { get; set; }
|
||||||
public List<JobViewModel> JobList { get; set; }
|
public List<JobViewModel> JobList { get; set; }
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@ 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 CompanyManagment.App.Contracts.LeftWork;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceList;
|
namespace CompanyManagment.App.Contracts.InsuranceList;
|
||||||
|
|
||||||
@@ -14,6 +13,5 @@ public class EditInsuranceList:CreateInsuranceList
|
|||||||
public bool FixedSalary { get; set; }
|
public bool FixedSalary { get; set; }
|
||||||
public string Population { get; set; }
|
public string Population { get; set; }
|
||||||
public long? InsuranceJobId { get; set; }
|
public long? InsuranceJobId { get; set; }
|
||||||
public List<LeftWorkViewModel> LeftWorkEmployees { get; set; }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -298,6 +298,4 @@ public class EmployeeDetailsForInsuranceListViewModel
|
|||||||
///// DSK_SPOUSE
|
///// DSK_SPOUSE
|
||||||
///// </summary>
|
///// </summary>
|
||||||
//public double SumOfMarriedAllowance { get; set; }
|
//public double SumOfMarriedAllowance { get; set; }
|
||||||
public string Month { get; set; }
|
|
||||||
public string Year { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
namespace CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
public enum InsuranceListDebtType
|
|
||||||
{
|
|
||||||
None,
|
|
||||||
Old,
|
|
||||||
New
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
namespace CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
public enum InsuranceListEmployerApprovalStatus
|
|
||||||
{
|
|
||||||
None,
|
|
||||||
/// <summary>
|
|
||||||
/// تاییدیه شفاهی (اذنی)
|
|
||||||
/// </summary>
|
|
||||||
VerbalApproval,
|
|
||||||
/// <summary>
|
|
||||||
/// تاییدیه کاغذی
|
|
||||||
/// </summary>
|
|
||||||
WrittenApproval
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
namespace CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
public enum InsuranceListInspectionType
|
|
||||||
{
|
|
||||||
None,
|
|
||||||
Old,
|
|
||||||
New
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,6 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using CompanyManagment.App.Contracts.InsuranceList;
|
using CompanyManagment.App.Contracts.InsuranceList;
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceList;
|
namespace CompanyManagment.App.Contracts.InsuranceList;
|
||||||
|
|
||||||
@@ -18,9 +17,9 @@ public interface IInsuranceListApplication
|
|||||||
MainEmployeeDetailsViewModel SearchEmployeeForCreateInsuranceList(EmployeeForCreateInsuranceListSearchModel searchModel);
|
MainEmployeeDetailsViewModel SearchEmployeeForCreateInsuranceList(EmployeeForCreateInsuranceListSearchModel searchModel);
|
||||||
|
|
||||||
double MarriedAllowance(string maritalStatus, long jobId, bool includedStatus,
|
double MarriedAllowance(string maritalStatus, long jobId, bool includedStatus,
|
||||||
int countWorkingDays, double marriedAlowance, int endMonthCurrentDay);
|
int countWorkingDays, double marriedAlowance, int endMonthCurrentDay);
|
||||||
|
|
||||||
OperationResult CreateEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command);
|
OperationResult CreateEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command);
|
||||||
OperationResult EditEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command);
|
OperationResult EditEmployeeDetailsInfo(EmployeeDetailsForInsuranceListViewModel command);
|
||||||
OperationResult Remove(long id);
|
OperationResult Remove(long id);
|
||||||
EditInsuranceList GetDetailsForEdit(long id);
|
EditInsuranceList GetDetailsForEdit(long id);
|
||||||
@@ -35,16 +34,4 @@ public interface IInsuranceListApplication
|
|||||||
//farokhiChanges
|
//farokhiChanges
|
||||||
(double basic, int totalYear) BasicYear(long employeeId, long worshopId, DateTime startDate);
|
(double basic, int totalYear) BasicYear(long employeeId, long worshopId, DateTime startDate);
|
||||||
double GetMonthlyBaseYear(double dayliBase, int countWorkingDays);
|
double GetMonthlyBaseYear(double dayliBase, int countWorkingDays);
|
||||||
|
|
||||||
#region Mahan
|
|
||||||
/// <summary>
|
|
||||||
/// مراحل اجرایی برای تکمیل و ارسال لیست بیمه
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task<OperationResult> ConfirmInsuranceOperation(InsuranceListConfirmOperation command);
|
|
||||||
Task<InsuranceListConfirmOperation> GetInsuranceOperationDetails(long id);
|
|
||||||
|
|
||||||
Task<InsuranceListTabsCountViewModel> GetTabCounts(InsuranceListSearchModel searchModel);
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
using CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceList;
|
|
||||||
|
|
||||||
public class InsuranceListConfirmOperation
|
|
||||||
{
|
|
||||||
public long InsuranceListId { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// بازرسی
|
|
||||||
/// </summary>
|
|
||||||
public CreateInsuranceListInspection Inspection { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// بدهی
|
|
||||||
/// </summary>
|
|
||||||
public CreateInsuranceListDebt Debt { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// تاییدیه کارفرما
|
|
||||||
/// </summary>
|
|
||||||
public CreateInsuranceListApproval Approval { get; set; }
|
|
||||||
public bool ConfirmSentList { get; set; }
|
|
||||||
}
|
|
||||||
public class CreateInsuranceListApproval
|
|
||||||
{
|
|
||||||
public InsuranceListEmployerApprovalStatus ApprovalStatus { get; set; }
|
|
||||||
public string Description { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class CreateInsuranceListDebt
|
|
||||||
{
|
|
||||||
public InsuranceListDebtType Type { get; set; }
|
|
||||||
public string DebtDate { get; set; }
|
|
||||||
public string Amount { get; set; }
|
|
||||||
public IFormFile DebtFile { get; set; }
|
|
||||||
public long DebtFileMediaId { get; set; }
|
|
||||||
public string FilePath { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public class CreateInsuranceListInspection
|
|
||||||
{
|
|
||||||
public InsuranceListInspectionType Type { get; set; }
|
|
||||||
public string LastInspectionDate { get; set; }
|
|
||||||
public IFormFile InspectionFile { get; set; }
|
|
||||||
public long InspectionFileMediaId { get; set; }
|
|
||||||
public string FilePath { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -25,29 +25,4 @@ public class InsuranceListSearchModel
|
|||||||
public int PageIndex { get; set; }
|
public int PageIndex { get; set; }
|
||||||
|
|
||||||
public bool SearchAll { get; set; }
|
public bool SearchAll { get; set; }
|
||||||
|
|
||||||
public InsuranceListSearchStatus Status { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum InsuranceListSearchStatus
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// انجام نشده
|
|
||||||
/// </summary>
|
|
||||||
NotStarted = 0,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// در حال انجام امور
|
|
||||||
/// </summary>
|
|
||||||
InProgress = 1,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// آماده ارسال لیست
|
|
||||||
/// </summary>
|
|
||||||
ReadyToSendList = 2,
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// انجام بیمه
|
|
||||||
/// </summary>
|
|
||||||
Done = 3
|
|
||||||
}
|
}
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
namespace CompanyManagment.App.Contracts.InsuranceList;
|
|
||||||
|
|
||||||
public class InsuranceListTabsCountViewModel
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// انجام نشده
|
|
||||||
/// </summary>
|
|
||||||
public int NotStarted { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// در حال انجام امور
|
|
||||||
/// </summary>
|
|
||||||
public int InProgress { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// آماده ارسال لیست
|
|
||||||
/// </summary>
|
|
||||||
public int ReadyToSendList { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// انجام بیمه
|
|
||||||
/// </summary>
|
|
||||||
public int Done { get; set; }
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,6 @@ 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 CompanyManagment.App.Contracts.InsuranceList.Enums;
|
|
||||||
|
|
||||||
namespace CompanyManagment.App.Contracts.InsuranceList;
|
namespace CompanyManagment.App.Contracts.InsuranceList;
|
||||||
|
|
||||||
@@ -28,16 +27,4 @@ public class InsuranceListViewModel
|
|||||||
public long WorkShopId { get; set; }
|
public long WorkShopId { get; set; }
|
||||||
public string IsBlockCantracingParty { get; set; }
|
public string IsBlockCantracingParty { get; set; }
|
||||||
public long EmployerId { get; set; }
|
public long EmployerId { get; set; }
|
||||||
|
|
||||||
/// <summary>وضعیت بازرسی</summary>
|
|
||||||
public bool InspectionDone { get; set; }
|
|
||||||
/// <summary>وضعیت بدهی</summary>
|
|
||||||
public bool DebtDone { get; set; }
|
|
||||||
/// <summary>تاییدیه کارفرما</summary>
|
|
||||||
public bool EmployerApproved { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// نوع تاییدیه کارفرما
|
|
||||||
/// </summary>
|
|
||||||
public InsuranceListEmployerApprovalStatus EmployerApprovalStatus { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -16,9 +16,6 @@ public interface ILeftWorkApplication
|
|||||||
EditLeftWork GetDetails(long id);
|
EditLeftWork GetDetails(long id);
|
||||||
LeftWorkViewModel CheckoutleftWorkCheck(DateTime contractStart, long workshopId, long employeeId);
|
LeftWorkViewModel CheckoutleftWorkCheck(DateTime contractStart, long workshopId, long employeeId);
|
||||||
List<LeftWorkViewModel> search(LeftWorkSearchModel searchModel);
|
List<LeftWorkViewModel> search(LeftWorkSearchModel searchModel);
|
||||||
|
|
||||||
|
|
||||||
List<LeftWorkViewModel> SearchCreateContract(LeftWorkSearchModel searchModel);
|
|
||||||
Task<List<LeftWorkViewModel>> searchAsync(LeftWorkSearchModel searchModel);
|
Task<List<LeftWorkViewModel>> searchAsync(LeftWorkSearchModel searchModel);
|
||||||
string StartWork(long employeeId, long workshopId, string leftWork);
|
string StartWork(long employeeId, long workshopId, string leftWork);
|
||||||
OperationResult RemoveLeftWork(long id);
|
OperationResult RemoveLeftWork(long id);
|
||||||
|
|||||||
@@ -65,6 +65,4 @@ public class RollCallViewModel
|
|||||||
/// مدت زمان استراحت
|
/// مدت زمان استراحت
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TimeSpan BreakTimeSpan { get; set; }
|
public TimeSpan BreakTimeSpan { get; set; }
|
||||||
|
|
||||||
public DateTime? ShiftEndWithoutRest { get; set; }
|
|
||||||
}
|
}
|
||||||
@@ -38,5 +38,4 @@ public interface IRollCallEmployeeApplication
|
|||||||
(int activeEmployees, int deActiveEmployees) GetActiveAndDeActiveRollCallEmployees(long workshopId);
|
(int activeEmployees, int deActiveEmployees) GetActiveAndDeActiveRollCallEmployees(long workshopId);
|
||||||
bool HasEmployees(long workshopId);
|
bool HasEmployees(long workshopId);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -17,7 +17,5 @@ namespace CompanyManagment.App.Contracts.RollCallEmployeeStatus
|
|||||||
List<RollCallEmployeeStatusViewModel> GetActiveByWorkshopIdInDate(long workshopId, DateTime startDateGr, DateTime endDateGr);
|
List<RollCallEmployeeStatusViewModel> GetActiveByWorkshopIdInDate(long workshopId, DateTime startDateGr, DateTime endDateGr);
|
||||||
|
|
||||||
bool IsActiveInPeriod(long employeeId, long workshopId, DateTime startDate, DateTime endDate);
|
bool IsActiveInPeriod(long employeeId, long workshopId, DateTime startDate, DateTime endDate);
|
||||||
void SyncRollCallEmployeeWithLeftWork(long rollCallEmployeeId);
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ public class CreateSalaryAidViewModel
|
|||||||
public long WorkshopId { get; set; }
|
public long WorkshopId { get; set; }
|
||||||
public string Amount { get; set; }
|
public string Amount { get; set; }
|
||||||
public string SalaryDateTime { get; set; }
|
public string SalaryDateTime { get; set; }
|
||||||
public string CalculationDateTime { get; set; }
|
|
||||||
public string NationalCode { get; set; }
|
public string NationalCode { get; set; }
|
||||||
public int CalculationMonth { get; set; }
|
public int CalculationMonth { get; set; }
|
||||||
public int CalculationYear { get; set; }
|
public int CalculationYear { get; set; }
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ public class SalaryAidGroupedByDateViewModel
|
|||||||
{
|
{
|
||||||
public string MonthFa { get; set; }
|
public string MonthFa { get; set; }
|
||||||
public string YearFa { get; set; }
|
public string YearFa { get; set; }
|
||||||
public int Month { get; set; }
|
|
||||||
public int Year { get; set; }
|
|
||||||
public List<SalaryAidGroupedByDateViewModelItems> SalaryAidViewModels { get; set; }
|
public List<SalaryAidGroupedByDateViewModelItems> SalaryAidViewModels { get; set; }
|
||||||
public string TotalAmount { get; set; }
|
public string TotalAmount { 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