diff --git a/0_Framework/Application/Version.cs b/0_Framework/Application/Version.cs index c2331097..d26ce9b4 100644 --- a/0_Framework/Application/Version.cs +++ b/0_Framework/Application/Version.cs @@ -10,8 +10,8 @@ public static class Version { static Version() { - StyleVersion = "2.12.03"; - AdminVersion = "2.5.23"; + StyleVersion = "2.12.04"; + AdminVersion = "2.5.24"; CameraVersion = "1.0.3"; } diff --git a/AccountManagement.Application.Contracts/Position/IPositionApplication.cs b/AccountManagement.Application.Contracts/Position/IPositionApplication.cs index 8195e27f..03340563 100644 --- a/AccountManagement.Application.Contracts/Position/IPositionApplication.cs +++ b/AccountManagement.Application.Contracts/Position/IPositionApplication.cs @@ -9,7 +9,9 @@ public interface IPositionApplication OperationResult Create(CreatePosition command); OperationResult SaveAccountPosition(List accountIds, long positionId); List GetNoPositionAccounts(); - List GetUnUsedPositionValues(); + List GetAllPositionAccounts(); + + List GetUnUsedPositionValues(); OperationResult Remove(long id); OperationResult Edit(EditPosition command); List GetPositions(); diff --git a/AccountManagement.Application.Contracts/Task/CreateTask.cs b/AccountManagement.Application.Contracts/Task/CreateTask.cs index 47f37d30..954aa43e 100644 --- a/AccountManagement.Application.Contracts/Task/CreateTask.cs +++ b/AccountManagement.Application.Contracts/Task/CreateTask.cs @@ -23,6 +23,7 @@ public class CreateTask public bool HasSchedule { get; set; } public string ScheduleUnitType { get; set; } public string ScheduleUnitNumber { get; set; } + public long TaskScheduleId { get; set; } #endregion diff --git a/AccountManagement.Application.Contracts/Ticket/ITicketApplication.cs b/AccountManagement.Application.Contracts/Ticket/ITicketApplication.cs index 64878bee..4251e7eb 100644 --- a/AccountManagement.Application.Contracts/Ticket/ITicketApplication.cs +++ b/AccountManagement.Application.Contracts/Ticket/ITicketApplication.cs @@ -27,7 +27,7 @@ public interface ITicketApplication OperationResult DeletePendingAdminResponse(int adminResId); OperationResult EditPendingAdminResponse(long adminResId, string newMessage); OperationResult CloseTicket(long ticketId); - - + TypesCountOfTicketViewModel GetTypesCountOfTicketForAdmin(); + TypesCountOfTicketViewModel GetTypesCountOfTicketForClient(long workshopId); } \ No newline at end of file diff --git a/AccountManagement.Application.Contracts/Ticket/TypesCountOfTicketViewModel.cs b/AccountManagement.Application.Contracts/Ticket/TypesCountOfTicketViewModel.cs new file mode 100644 index 00000000..11abf374 --- /dev/null +++ b/AccountManagement.Application.Contracts/Ticket/TypesCountOfTicketViewModel.cs @@ -0,0 +1,10 @@ +namespace AccountManagement.Application.Contracts.Ticket; + +public class TypesCountOfTicketViewModel +{ + public int Open { get; set; } + public int Closed { get; set; } + public int Answered { get; set; } + public int Pending { get; set; } + public int All { get; set; } +} \ No newline at end of file diff --git a/AccountManagement.Application/PositionApplication.cs b/AccountManagement.Application/PositionApplication.cs index 8f7e969a..b53570fd 100644 --- a/AccountManagement.Application/PositionApplication.cs +++ b/AccountManagement.Application/PositionApplication.cs @@ -81,6 +81,11 @@ public class PositionApplication : IPositionApplication return _positionRepository.GetNoPositionAccounts(); } + public List GetAllPositionAccounts() + { + return _positionRepository.GetAllPositionAccounts(); + } + public List GetUnUsedPositionValues() { return _positionRepository.GetUnUsedPositionValues(); diff --git a/AccountManagement.Application/TaskApplication.cs b/AccountManagement.Application/TaskApplication.cs index 701716c5..f1b4ad8d 100644 --- a/AccountManagement.Application/TaskApplication.cs +++ b/AccountManagement.Application/TaskApplication.cs @@ -372,6 +372,10 @@ public class TaskApplication : ITaskApplication } var task = new Tasks(command.Title, command.Description, command.SenderId, command.ContractingPartyName); _taskRepository.Create(task); + if (command.TaskScheduleId>0) + { + task.SetTaskSchedule(command.TaskScheduleId); + } _assignRepository.SaveChanges(); foreach (var receiver in receivers) { diff --git a/AccountManagement.Application/TaskScheduleApplication.cs b/AccountManagement.Application/TaskScheduleApplication.cs index 158e6165..5537874f 100644 --- a/AccountManagement.Application/TaskScheduleApplication.cs +++ b/AccountManagement.Application/TaskScheduleApplication.cs @@ -10,214 +10,216 @@ namespace AccountManagement.Application; public class TaskScheduleApplication : ITaskScheduleApplication { - private readonly ITaskApplication _taskApplication; - private readonly ITaskScheduleRepository _taskScheduleRepository; - private readonly IHolidayItemRepository _holidayItemRepository; + private readonly ITaskApplication _taskApplication; + private readonly ITaskScheduleRepository _taskScheduleRepository; + private readonly IHolidayItemRepository _holidayItemRepository; - public TaskScheduleApplication(ITaskApplication taskApplication, ITaskScheduleRepository taskScheduleRepository, IHolidayItemRepository holidayItemRepository) - { - _taskApplication = taskApplication; - _taskScheduleRepository = taskScheduleRepository; - _holidayItemRepository = holidayItemRepository; - } + public TaskScheduleApplication(ITaskApplication taskApplication, ITaskScheduleRepository taskScheduleRepository, IHolidayItemRepository holidayItemRepository) + { + _taskApplication = taskApplication; + _taskScheduleRepository = taskScheduleRepository; + _holidayItemRepository = holidayItemRepository; + } - public OperationResult Create(CreateTask command) - { - OperationResult operation = new OperationResult(); + public OperationResult Create(CreateTask command) + { + OperationResult operation = new OperationResult(); - if (command.HasSchedule) - { - switch (command.ScheduleType) - { - case "limited": - if (Convert.ToInt32(command.ScheduleCount) > 60) - { - return operation.Failed("تعداد وارد شده بیشتر از حد مجاز است"); - } - return CreateLimitedTasks(command); - break; + if (command.HasSchedule) + { + switch (command.ScheduleType) + { + case "limited": + if (Convert.ToInt32(command.ScheduleCount) > 60) + { + return operation.Failed("تعداد وارد شده بیشتر از حد مجاز است"); + } + return CreateLimitedTasks(command); + break; - case "unlimited": - return CreateUnlimitedTasks(command); - break; + case "unlimited": + return CreateUnlimitedTasks(command); + break; - default: - return operation.Failed("خطای سیستمی!"); + default: + return operation.Failed("خطای سیستمی!"); - } - } - else - { - return operation.Failed("این تسک بصورت زمان بندی شده نمیباشد"); - } - } + } + } + else + { + return operation.Failed("این تسک بصورت زمان بندی شده نمیباشد"); + } + } - public OperationResult CreateLimitedTasks(CreateTask command) - { - OperationResult operation = new OperationResult(); - if (Convert.ToInt32(command.ScheduleCount) < 1 || string.IsNullOrWhiteSpace(command.ScheduleCount)) - { - return operation.Failed("تعداد وارد شده باید بیشتر از 2 باشد"); - } + public OperationResult CreateLimitedTasks(CreateTask command) + { + OperationResult operation = new OperationResult(); + if (Convert.ToInt32(command.ScheduleCount) < 1 || string.IsNullOrWhiteSpace(command.ScheduleCount)) + { + return operation.Failed("تعداد وارد شده باید بیشتر از 2 باشد"); + } - switch (command.ScheduleUnitType) - { - case "year": - if (Convert.ToInt32(command.ScheduleCount) != 1) - { - return operation.Failed("دوره نمیتواند بیشتر از 1 سال باشد"); - } - break; - case "month": - if (Convert.ToInt32(command.ScheduleCount) > 12) - { - return operation.Failed("بازه وارد شده نا معتبر است"); - } - break; - case "week": - if (command.ScheduleUnitNumber != "first" && command.ScheduleUnitNumber != "last") - { - return operation.Failed("بازه وارد شده نا معتبر است"); - } - break; - case "day": - if (Convert.ToInt32(command.ScheduleUnitNumber) > 29) - { - return operation.Failed("بازه وارد شده نا معتبر است"); - } - break; - default: - return operation.Failed("نوع بازه مشخص نمیباشد"); - break; + switch (command.ScheduleUnitType) + { + case "year": + if (Convert.ToInt32(command.ScheduleCount) != 1) + { + return operation.Failed("دوره نمیتواند بیشتر از 1 سال باشد"); + } + break; + case "month": + if (Convert.ToInt32(command.ScheduleCount) > 12) + { + return operation.Failed("بازه وارد شده نا معتبر است"); + } + break; + case "week": + if (command.ScheduleUnitNumber != "first" && command.ScheduleUnitNumber != "last") + { + return operation.Failed("بازه وارد شده نا معتبر است"); + } + break; + case "day": + if (Convert.ToInt32(command.ScheduleUnitNumber) > 29) + { + return operation.Failed("بازه وارد شده نا معتبر است"); + } + break; + default: + return operation.Failed("نوع بازه مشخص نمیباشد"); + break; - } - try - { - DateTime previousDateRaw = command.EndTaskDate.ToGeorgianDateTime2(); - DateTime previousDateEdited = command.EndTaskDate.ToGeorgianDateTime2(); + } + try + { + DateTime previousDateRaw = command.EndTaskDate.ToGeorgianDateTime2(); + DateTime previousDateEdited = command.EndTaskDate.ToGeorgianDateTime2(); - int count = Convert.ToInt32(command.ScheduleCount); - bool isInt = int.TryParse(command.ScheduleUnitNumber, out int unitNumber); - string kindOfWeekUnit = isInt ? "" : command.ScheduleUnitNumber; + int count = Convert.ToInt32(command.ScheduleCount); + bool isInt = int.TryParse(command.ScheduleUnitNumber, out int unitNumber); + string kindOfWeekUnit = isInt ? "" : command.ScheduleUnitNumber; + var taskSchedule = new TaskSchedule(command.ScheduleCount, command.ScheduleType, command.ScheduleUnitType, + command.ScheduleUnitNumber, previousDateEdited); + _taskScheduleRepository.Create(taskSchedule); + _taskScheduleRepository.SaveChanges(); + command.TaskScheduleId = taskSchedule.id; - switch (command.ScheduleUnitType) - { - case "year": - for (int i = 1; i <= count; i++) - { - command.EndTaskDate = previousDateEdited.ToFarsi(); - operation = _taskApplication.CreateTask(command); + switch (command.ScheduleUnitType) + { + case "year": + for (int i = 1; i <= count; i++) + { + command.EndTaskDate = previousDateEdited.ToFarsi(); + operation = _taskApplication.CreateTask(command); + taskSchedule.SetLastEndTaskDate(previousDateEdited); - bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); - while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) - { - previousDateEdited = previousDateRaw.AddDays(1); - isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); + bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); + while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) + { + previousDateEdited = previousDateRaw.AddDays(1); + isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); - } - previousDateRaw = previousDateRaw.AddYears(unitNumber); - previousDateEdited = previousDateRaw; + } + previousDateRaw = previousDateRaw.AddYears(unitNumber); + previousDateEdited = previousDateRaw; - } - break; + } + break; - case "month": - for (int i = 1; i <= count; i++) - { - command.EndTaskDate = previousDateEdited.ToFarsi(); - operation = _taskApplication.CreateTask(command); - bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); - while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) - { - previousDateEdited = previousDateRaw.AddDays(1); - isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); + case "month": + for (int i = 1; i <= count; i++) + { + command.EndTaskDate = previousDateEdited.ToFarsi(); + operation = _taskApplication.CreateTask(command); + taskSchedule.SetLastEndTaskDate(previousDateEdited); + bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); + while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) + { + previousDateEdited = previousDateRaw.AddDays(1); + isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); - } - previousDateRaw = previousDateRaw.AddMonths(unitNumber); - previousDateEdited = previousDateRaw; + } + previousDateRaw = previousDateRaw.AddMonths(unitNumber); + previousDateEdited = previousDateRaw; - } - break; + } + break; - case "week": - for (int i = 1; i <= count; i++) - { - if (string.IsNullOrWhiteSpace(kindOfWeekUnit)) - { - throw new InvalidDataException(); - } + case "week": + for (int i = 1; i <= count; i++) + { + if (string.IsNullOrWhiteSpace(kindOfWeekUnit)) + { + throw new InvalidDataException(); + } - command.EndTaskDate = kindOfWeekUnit switch - { - "first" => previousDateRaw.GetNextDayOfWeek(DayOfWeek.Saturday).ToFarsi(), - "last" => previousDateRaw.GetNextDayOfWeek(DayOfWeek.Thursday).ToFarsi(), - _ => throw new InvalidDataException() - }; - operation = _taskApplication.CreateTask(command); - bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); - while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) - { - previousDateEdited = previousDateRaw.AddDays(1); - isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); + command.EndTaskDate = kindOfWeekUnit switch + { + "first" => previousDateRaw.GetNextDayOfWeek(DayOfWeek.Saturday).ToFarsi(), + "last" => previousDateRaw.GetNextDayOfWeek(DayOfWeek.Thursday).ToFarsi(), + _ => throw new InvalidDataException() + }; + operation = _taskApplication.CreateTask(command); + taskSchedule.SetLastEndTaskDate(previousDateEdited); + bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); + while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) + { + previousDateEdited = previousDateRaw.AddDays(1); + isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); - } - previousDateRaw = command.EndTaskDate.ToGeorgianDateTime(); - previousDateEdited = previousDateRaw; + } + previousDateRaw = command.EndTaskDate.ToGeorgianDateTime(); + previousDateEdited = previousDateRaw; - } - break; + } + break; - case "day": + case "day": - for (int i = 1; i <= count; i++) - { - command.EndTaskDate = previousDateEdited.ToFarsi(); - operation = _taskApplication.CreateTask(command); - previousDateRaw = previousDateRaw.AddDays(unitNumber); - bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); - while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) - { - previousDateEdited = previousDateRaw.AddDays(1); - isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); + for (int i = 1; i <= count; i++) + { + command.EndTaskDate = previousDateEdited.ToFarsi(); + operation = _taskApplication.CreateTask(command); + taskSchedule.SetLastEndTaskDate(previousDateEdited); + previousDateRaw = previousDateRaw.AddDays(unitNumber); + bool isHoliday = _holidayItemRepository.GetHoliday(previousDateRaw); + while (isHoliday || previousDateEdited.DayOfWeek == DayOfWeek.Friday) + { + previousDateEdited = previousDateRaw.AddDays(1); + isHoliday = _holidayItemRepository.GetHoliday(previousDateEdited); - } + } - previousDateEdited = previousDateRaw; - } - break; + previousDateEdited = previousDateRaw; + } + break; - default: - return operation.Failed("نوع بازه درست نمیباشد"); - } + } + _taskScheduleRepository.SaveChanges(); + operation = operation.Succcedded(); + return operation; + } + catch (Exception e) + { + return operation.Failed(e.ToString()); + } + } - var lastDate = command.EndTaskDate.ToGeorgianDateTime(); - var taskSchedule = new TaskSchedule(command.ScheduleCount, command.ScheduleType, command.ScheduleUnitType, - command.ScheduleUnitNumber, lastDate); - _taskScheduleRepository.Create(taskSchedule); - _taskScheduleRepository.SaveChanges(); - operation = operation.Succcedded(); - return operation; - } - catch (Exception e) - { - return operation.Failed(e.ToString()); - } - } + public OperationResult CreateUnlimitedTasks(CreateTask command) + { + var operation = _taskApplication.CreateTask(command); + if (!operation.IsSuccedded) + return operation; + var lastDate = command.EndTaskDate.ToGeorgianDateTime(); + var taskSchedule = new TaskSchedule(command.ScheduleCount, command.ScheduleType, command.ScheduleUnitType, + command.ScheduleUnitNumber, lastDate); + _taskScheduleRepository.Create(taskSchedule); + _taskScheduleRepository.SaveChanges(); + return operation.Succcedded(); - public OperationResult CreateUnlimitedTasks(CreateTask command) - { - var operation = _taskApplication.CreateTask(command); - if (!operation.IsSuccedded) - return operation; - var lastDate = command.EndTaskDate.ToGeorgianDateTime(); - var taskSchedule = new TaskSchedule(command.ScheduleCount, command.ScheduleType, command.ScheduleUnitType, - command.ScheduleUnitNumber, lastDate); - _taskScheduleRepository.Create(taskSchedule); - _taskScheduleRepository.SaveChanges(); - return operation.Succcedded(); - - } + } } \ No newline at end of file diff --git a/AccountManagement.Application/TicketApplication.cs b/AccountManagement.Application/TicketApplication.cs index e0c5ecbe..87bbbf4e 100644 --- a/AccountManagement.Application/TicketApplication.cs +++ b/AccountManagement.Application/TicketApplication.cs @@ -606,4 +606,14 @@ public class TicketApplication : ITicketApplication _ticketRepository.SaveChanges(); return operation.Succcedded(); } + + public TypesCountOfTicketViewModel GetTypesCountOfTicketForAdmin() + { + return _ticketRepository.GetTypesCountOfTicketForAdmin(); + } + + public TypesCountOfTicketViewModel GetTypesCountOfTicketForClient(long workshopId) + { + return _ticketRepository.GetTypesCountOfTicketForClient(workshopId); + } } \ No newline at end of file diff --git a/AccountManagement.Domain/PositionAgg/IPositionRepository.cs b/AccountManagement.Domain/PositionAgg/IPositionRepository.cs index 8e93c3c2..348aab22 100644 --- a/AccountManagement.Domain/PositionAgg/IPositionRepository.cs +++ b/AccountManagement.Domain/PositionAgg/IPositionRepository.cs @@ -14,7 +14,9 @@ public interface IPositionRepository : IRepository List GetUnUsedPositionValues(); List GetNoPositionAccounts(); - List GetAccountsByPositionIds(List ids); + List GetAllPositionAccounts(); + + List GetAccountsByPositionIds(List ids); void Remove(long id); diff --git a/AccountManagement.Domain/TicketAgg/ITicketRepository.cs b/AccountManagement.Domain/TicketAgg/ITicketRepository.cs index c782d472..6e4caf7c 100644 --- a/AccountManagement.Domain/TicketAgg/ITicketRepository.cs +++ b/AccountManagement.Domain/TicketAgg/ITicketRepository.cs @@ -19,6 +19,8 @@ public interface ITicketRepository:IRepository AdminResponse GetAdminResponse(long adminResId); ClientResponse GetClientResponse(long adminResId); void RemoveAdminResponse(long adminResId); + TypesCountOfTicketViewModel GetTypesCountOfTicketForAdmin(); + TypesCountOfTicketViewModel GetTypesCountOfTicketForClient(long workshopId); diff --git a/AccountMangement.Infrastructure.EFCore/Repository/PositionRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/PositionRepository.cs index f5df51aa..207a27f4 100644 --- a/AccountMangement.Infrastructure.EFCore/Repository/PositionRepository.cs +++ b/AccountMangement.Infrastructure.EFCore/Repository/PositionRepository.cs @@ -72,6 +72,16 @@ public class PositionRepository : RepositoryBase, IPositionRepos }).ToList(); } + public List GetAllPositionAccounts() + { + return _accountContext.Accounts.Where(x => x.PositionId != null && x.PositionIsActive == "true").Select(x => + new AccountViewModel() + { + Id = x.id, + Fullname = x.Fullname + }).ToList(); + } + public List GetAccountsByPositionIds(List ids) { var res = _accountContext.Accounts.Include(x => x.Position).Where(x => x.PositionId != null); diff --git a/AccountMangement.Infrastructure.EFCore/Repository/TicketRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/TicketRepository.cs index ec45e19e..df4cf20a 100644 --- a/AccountMangement.Infrastructure.EFCore/Repository/TicketRepository.cs +++ b/AccountMangement.Infrastructure.EFCore/Repository/TicketRepository.cs @@ -18,386 +18,415 @@ namespace AccountMangement.Infrastructure.EFCore.Repository; public class TicketRepository : RepositoryBase, ITicketRepository { - private readonly AccountContext _accountContext; - private readonly IAuthHelper _authHelper; - private readonly IPasswordHasher _passwordHasher; - private readonly IWorkshopRepository _workshopRepository; - public TicketRepository(AccountContext accountContext, IAuthHelper authHelper, IPasswordHasher passwordHasher, IWorkshopRepository workshopRepository) : base(accountContext) - { - _accountContext = accountContext; - _authHelper = authHelper; - _passwordHasher = passwordHasher; - _workshopRepository = workshopRepository; - } + private readonly AccountContext _accountContext; + private readonly IAuthHelper _authHelper; + private readonly IPasswordHasher _passwordHasher; + private readonly IWorkshopRepository _workshopRepository; + public TicketRepository(AccountContext accountContext, IAuthHelper authHelper, IPasswordHasher passwordHasher, IWorkshopRepository workshopRepository) : base(accountContext) + { + _accountContext = accountContext; + _authHelper = authHelper; + _passwordHasher = passwordHasher; + _workshopRepository = workshopRepository; + } - public List GetAll(TicketSearchModel searchModel) - { - var query = _accountContext.Tickets.OrderByDescending(x => x.CreationDate).Select(x => new TicketViewModel() - { - Description = x.Description, - SenderId = x.SenderId, - ContractingPartyName = x.ContractingPartyName, - Id = x.id, - Title = x.Title, - TicketType = x.TicketType, - Status = x.Status, - CreationDateTimeGr = x.CreationDate, - CreationDateTime = x.CreationDate.ToFarsiFull(), - TicketNumber = $"TKC_{x.TicketNumber}", - WorkshopName = _workshopRepository.Get(x.WorkshopId).WorkshopFullName, - HasTask = _accountContext.Tasks.Include(t => t.Assigns).Any(t => t.TicketId == x.id && t.Assigns.Any(a => !a.IsDone)), - WorkshopId = x.WorkshopId, - RawTicketNumber = x.TicketNumber - }); + public List GetAll(TicketSearchModel searchModel) + { + var query = _accountContext.Tickets.OrderByDescending(x => x.CreationDate).Select(x => new TicketViewModel() + { + Description = x.Description, + SenderId = x.SenderId, + ContractingPartyName = x.ContractingPartyName, + Id = x.id, + Title = x.Title, + TicketType = x.TicketType, + Status = x.Status, + CreationDateTimeGr = x.CreationDate, + CreationDateTime = x.CreationDate.ToFarsiFull(), + TicketNumber = $"TKC_{x.TicketNumber}", + WorkshopName = _workshopRepository.Get(x.WorkshopId).WorkshopFullName, + HasTask = _accountContext.Tasks.Include(t => t.Assigns).Any(t => t.TicketId == x.id && t.Assigns.Any(a => !a.IsDone)), + WorkshopId = x.WorkshopId, + RawTicketNumber = x.TicketNumber + }); - #region Search - - - if (!string.IsNullOrWhiteSpace(searchModel.Status)) - { - query = query.Where(x => x.Status == searchModel.Status); - } - - if (!(string.IsNullOrWhiteSpace(searchModel.StartDate) && string.IsNullOrWhiteSpace(searchModel.EndDate))) - { - if (string.IsNullOrWhiteSpace(searchModel.OneDay)) - { - var startDate = searchModel.StartDate.ToGeorgianDateTime(); - var endDate = searchModel.EndDate.ToGeorgianDateTime(); - query = query.Where(x => startDate < x.CreationDateTimeGr && endDate > x.CreationDateTimeGr); - } - } - - if (!string.IsNullOrWhiteSpace(searchModel.OneDay)) - { - var oneDay = searchModel.OneDay.ToGeorgianDateTime(); - query = query.Where(x =>x.CreationDateTimeGr.Date == oneDay.Date); - } - - if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) - { - - query = query.Where(x => x.Title.Contains(searchModel.GeneralSearch) ||x.ContractingPartyName.Contains(searchModel.GeneralSearch)||x.WorkshopName.Contains(searchModel.GeneralSearch)); - } - - if (!string.IsNullOrWhiteSpace(searchModel.OneDay)) - { - var day = searchModel.OneDay.ToGeorgianDateTime(); - query = query.Where(x => x.CreationDateTimeGr.Date == day.Date); - } - - if (!string.IsNullOrWhiteSpace(searchModel.ContractingPartyName)) - { - query = query.Where(x => x.ContractingPartyName == searchModel.ContractingPartyName.Trim()); - } - - if (searchModel.WorkshopId>0) - { - query = query.Where(x => x.WorkshopId == searchModel.WorkshopId); - } - - if (!string.IsNullOrWhiteSpace(searchModel.TicketNumber)) - { - query = query.Where(x => x.RawTicketNumber == searchModel.TicketNumber); - } - - if (!string.IsNullOrWhiteSpace(searchModel.Status)) - { - query = query.Where(x => x.Status == searchModel.Status.Trim()); - } - #endregion + #region Search - return query.Skip(searchModel.PageIndex).Take(30).ToList(); - } + if (!string.IsNullOrWhiteSpace(searchModel.Status)) + { + query = query.Where(x => x.Status == searchModel.Status); + } - public List GetTicketsForClients(TicketSearchModel searchModel) - { + if (!(string.IsNullOrWhiteSpace(searchModel.StartDate) && string.IsNullOrWhiteSpace(searchModel.EndDate))) + { + if (string.IsNullOrWhiteSpace(searchModel.OneDay)) + { + var startDate = searchModel.StartDate.ToGeorgianDateTime(); + var endDate = searchModel.EndDate.ToGeorgianDateTime(); + query = query.Where(x => startDate < x.CreationDateTimeGr && endDate > x.CreationDateTimeGr); + } + } - var accountId = _authHelper.CurrentAccountId(); + if (!string.IsNullOrWhiteSpace(searchModel.OneDay)) + { + var oneDay = searchModel.OneDay.ToGeorgianDateTime(); + query = query.Where(x => x.CreationDateTimeGr.Date == oneDay.Date); + } - var workshopSlug = _authHelper.GetWorkshopSlug(); - var workshopId = _passwordHasher.SlugDecrypt(workshopSlug); - IQueryable query; - if (workshopId > 0) - { - query = _accountContext.Tickets.Where(x => x.SenderId == accountId && x.WorkshopId == workshopId); - } - else - { - query = _accountContext.Tickets.Where(x => x.SenderId == accountId); - } - if (!string.IsNullOrWhiteSpace(searchModel.ContractingPartyName)) - { - query = query.Where(x => x.ContractingPartyName.Contains(searchModel.ContractingPartyName)); - } + if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) + { - if (!string.IsNullOrWhiteSpace(searchModel.Status)) - { - query = query.Where(x => x.Status == searchModel.Status); - } + query = query.Where(x => x.Title.Contains(searchModel.GeneralSearch) || x.ContractingPartyName.Contains(searchModel.GeneralSearch) || x.WorkshopName.Contains(searchModel.GeneralSearch)); + } - if (!(string.IsNullOrWhiteSpace(searchModel.StartDate) && string.IsNullOrWhiteSpace(searchModel.EndDate))) - { - if (string.IsNullOrWhiteSpace(searchModel.OneDay)) - { - var startDate = searchModel.StartDate.ToGeorgianDateTime(); - var endDate = searchModel.EndDate.ToGeorgianDateTime(); - query = query.Where(x => startDate < x.CreationDate && endDate > x.CreationDate); - } + if (!string.IsNullOrWhiteSpace(searchModel.OneDay)) + { + var day = searchModel.OneDay.ToGeorgianDateTime(); + query = query.Where(x => x.CreationDateTimeGr.Date == day.Date); + } - } + if (!string.IsNullOrWhiteSpace(searchModel.ContractingPartyName)) + { + query = query.Where(x => x.ContractingPartyName == searchModel.ContractingPartyName.Trim()); + } - if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) - { - query = query.Where(x => x.Title.Contains(searchModel.GeneralSearch)); - } + if (searchModel.WorkshopId > 0) + { + query = query.Where(x => x.WorkshopId == searchModel.WorkshopId); + } - if (!string.IsNullOrWhiteSpace(searchModel.Status)) - { - query = query.Where(x => x.Status == searchModel.Status); - } + if (!string.IsNullOrWhiteSpace(searchModel.TicketNumber)) + { + query = query.Where(x => x.RawTicketNumber == searchModel.TicketNumber); + } - if (!string.IsNullOrWhiteSpace(searchModel.OneDay)) - { - var day = searchModel.OneDay.ToGeorgianDateTime(); - query = query.Where(x => x.CreationDate.Date == day.Date); - } + if (!string.IsNullOrWhiteSpace(searchModel.Status)) + { + query = query.Where(x => x.Status == searchModel.Status.Trim()); + } + #endregion - var res = query.OrderBy(x=>x.Status.Trim()=="بسته شده").ThenByDescending(x => x.CreationDate).Select(x => new TicketViewModel() - { - Description = x.Description, - SenderId = x.SenderId, - ContractingPartyName = x.ContractingPartyName, - Id = x.id, - Title = x.Title, - TicketType = x.TicketType, - Status = x.Status, - CreationDateTimeGr = x.CreationDate, - CreationDateTime = x.CreationDate.ToFarsi(), - TicketNumber = $"TKC_{x.TicketNumber}", - WorkshopName = _workshopRepository.Get(x.WorkshopId).WorkshopFullName + return query.Skip(searchModel.PageIndex).Take(30).ToList(); + } - }); + public List GetTicketsForClients(TicketSearchModel searchModel) + { + + var accountId = _authHelper.CurrentAccountId(); + + var workshopSlug = _authHelper.GetWorkshopSlug(); + var workshopId = _passwordHasher.SlugDecrypt(workshopSlug); + IQueryable query; + if (workshopId > 0) + { + query = _accountContext.Tickets.Where(x => x.SenderId == accountId && x.WorkshopId == workshopId); + } + else + { + query = _accountContext.Tickets.Where(x => x.SenderId == accountId); + } + if (!string.IsNullOrWhiteSpace(searchModel.ContractingPartyName)) + { + query = query.Where(x => x.ContractingPartyName.Contains(searchModel.ContractingPartyName)); + } + + if (!string.IsNullOrWhiteSpace(searchModel.Status)) + { + query = query.Where(x => x.Status == searchModel.Status); + } + + if (!(string.IsNullOrWhiteSpace(searchModel.StartDate) && string.IsNullOrWhiteSpace(searchModel.EndDate))) + { + if (string.IsNullOrWhiteSpace(searchModel.OneDay)) + { + var startDate = searchModel.StartDate.ToGeorgianDateTime(); + var endDate = searchModel.EndDate.ToGeorgianDateTime(); + query = query.Where(x => startDate < x.CreationDate && endDate > x.CreationDate); + } + + } + + if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) + { + query = query.Where(x => x.Title.Contains(searchModel.GeneralSearch)); + } + + if (!string.IsNullOrWhiteSpace(searchModel.Status)) + { + query = query.Where(x => x.Status == searchModel.Status); + } + + if (!string.IsNullOrWhiteSpace(searchModel.OneDay)) + { + var day = searchModel.OneDay.ToGeorgianDateTime(); + query = query.Where(x => x.CreationDate.Date == day.Date); + } - return res.Skip(searchModel.PageIndex).Take(30).ToList(); - } + var res = query.OrderBy(x => x.Status.Trim() == "بسته شده").ThenByDescending(x => x.CreationDate).Select(x => new TicketViewModel() + { + Description = x.Description, + SenderId = x.SenderId, + ContractingPartyName = x.ContractingPartyName, + Id = x.id, + Title = x.Title, + TicketType = x.TicketType, + Status = x.Status, + CreationDateTimeGr = x.CreationDate, + CreationDateTime = x.CreationDate.ToFarsi(), + TicketNumber = $"TKC_{x.TicketNumber}", + WorkshopName = _workshopRepository.Get(x.WorkshopId).WorkshopFullName + + }); - public void CreateAdminResponse(AdminResponse command) - { - _accountContext.Add(command); - } + return res.Skip(searchModel.PageIndex).Take(30).ToList(); + } - public void CreateClientResponse(ClientResponse command) - { - _accountContext.Add(command); - } - public EditTicket GetDetails(long id) - { - var query = _accountContext.Tickets.Select(x => new EditTicket() - { - ContractingPartyName = x.ContractingPartyName, - Description = x.Description, - Id = x.id, - SenderId = x.SenderId, - TicketType = x.TicketType, - Title = x.Title, - CreationDateStr = x.CreationDate.ToFarsi(), - WorkshopId = x.WorkshopId, - TicketNumber = $"TKC_{x.TicketNumber}", - Status = x.Status + public void CreateAdminResponse(AdminResponse command) + { + _accountContext.Add(command); + } - }).FirstOrDefault(x => x.Id == id); + public void CreateClientResponse(ClientResponse command) + { + _accountContext.Add(command); + } - query.AdminResponseViewModels = _accountContext.AdminResponses.Where(c => c.TicketId == query.Id) - .Select(m => new AdminResponseViewModel() - { - Response = m.Response, - FullName = _accountContext.Accounts.FirstOrDefault(ac => ac.id == m.AdminAccountId).Fullname, - TicketId = m.TicketId, - AdminAccountId = m.AdminAccountId, - MediaViewModels = _accountContext.AdminResponseMedias.Include(a => a.Media) - .Where(a => a.AdminResponseId == m.id).Select(cm => new MediaViewModel() - { - Category = cm.Media.Category, - Path = cm.Media.Path, - Id = cm.Media.id, - Type = cm.Media.Type, - }).ToList(), - CreationDate = m.CreationDate, - Id = m.id, - IsActive = m.IsActiveString, + public EditTicket GetDetails(long id) + { + var query = _accountContext.Tickets.Select(x => new EditTicket() + { + ContractingPartyName = x.ContractingPartyName, + Description = x.Description, + Id = x.id, + SenderId = x.SenderId, + TicketType = x.TicketType, + Title = x.Title, + CreationDateStr = x.CreationDate.ToFarsi(), + WorkshopId = x.WorkshopId, + TicketNumber = $"TKC_{x.TicketNumber}", + Status = x.Status - }).ToList(); - query.ClientResponseViewModels = _accountContext.ClientResponses.Where(c => c.TicketId == query.Id) - .Select(m => new ClientResponseViewModel() - { - Response = m.Response, - TicketId = m.TicketId, - MediaViewModels = _accountContext.ClientResponseMedias.Include(a => a.Media) - .Where(a => a.ClientResponseId == m.id).Select(cm => new MediaViewModel() - { - Category = cm.Media.Category, - Path = cm.Media.Path, - Id = cm.Media.id, - Type = cm.Media.Type, - }).ToList(), - CreationDate = m.CreationDate, - Id = m.id, - }).ToList(); - query.MediaViewModels = _accountContext.TicketMedias.Include(z => z.Media).Where(a => a.TicketId == query.Id) - .Select(m => new MediaViewModel() - { - Id = m.Media.id, - Path = m.Media.Path, - Type = m.Media.Type, - Category = m.Media.Category, - }).ToList(); - query.Sender = _accountContext.Accounts.Select(account => new AccountViewModel() - { - Id = account.id, - Fullname = account.Fullname, - }).FirstOrDefault(a => a.Id == query.SenderId); + }).FirstOrDefault(x => x.Id == id); + + query.AdminResponseViewModels = _accountContext.AdminResponses.Where(c => c.TicketId == query.Id) + .Select(m => new AdminResponseViewModel() + { + Response = m.Response, + FullName = _accountContext.Accounts.FirstOrDefault(ac => ac.id == m.AdminAccountId).Fullname, + TicketId = m.TicketId, + AdminAccountId = m.AdminAccountId, + MediaViewModels = _accountContext.AdminResponseMedias.Include(a => a.Media) + .Where(a => a.AdminResponseId == m.id).Select(cm => new MediaViewModel() + { + Category = cm.Media.Category, + Path = cm.Media.Path, + Id = cm.Media.id, + Type = cm.Media.Type, + }).ToList(), + CreationDate = m.CreationDate, + Id = m.id, + IsActive = m.IsActiveString, + + }).ToList(); + query.ClientResponseViewModels = _accountContext.ClientResponses.Where(c => c.TicketId == query.Id) + .Select(m => new ClientResponseViewModel() + { + Response = m.Response, + TicketId = m.TicketId, + MediaViewModels = _accountContext.ClientResponseMedias.Include(a => a.Media) + .Where(a => a.ClientResponseId == m.id).Select(cm => new MediaViewModel() + { + Category = cm.Media.Category, + Path = cm.Media.Path, + Id = cm.Media.id, + Type = cm.Media.Type, + }).ToList(), + CreationDate = m.CreationDate, + Id = m.id, + }).ToList(); + query.MediaViewModels = _accountContext.TicketMedias.Include(z => z.Media).Where(a => a.TicketId == query.Id) + .Select(m => new MediaViewModel() + { + Id = m.Media.id, + Path = m.Media.Path, + Type = m.Media.Type, + Category = m.Media.Category, + }).ToList(); + query.Sender = _accountContext.Accounts.Select(account => new AccountViewModel() + { + Id = account.id, + Fullname = account.Fullname, + }).FirstOrDefault(a => a.Id == query.SenderId); query.ResponseViewModels = MergeResponses(query.ClientResponseViewModels, query.AdminResponseViewModels); - - return query; - } - public EditTicket GetDetailsForClient(long id) - { - var query = _accountContext.Tickets.Select(x => new EditTicket() - { - ContractingPartyName = x.ContractingPartyName, - Description = x.Description, - Id = x.id, - SenderId = x.SenderId, - Sender = _accountContext.Accounts.Select(account => new AccountViewModel() - { - Id = account.id, - Fullname = account.Fullname, - }).Where(a => a.Id == x.SenderId).FirstOrDefault(), - TicketType = x.TicketType, - Title = x.Title, - CreationDateStr = $"{x.CreationDate.ToFarsi()} {x.CreationDate.DayOfWeek.DayOfWeeKToPersian()}", - MediaViewModels = _accountContext.TicketMedias.Include(z => z.Media).Where(a => a.TicketId == x.id) - .Select(m => new MediaViewModel() - { - Id = m.Media.id, - Path = m.Media.Path, - Type = m.Media.Type, - Category = m.Media.Category, - }).ToList(), - ClientResponseViewModels = _accountContext.ClientResponses.Where(c => c.TicketId == x.id) - .Select(m => new ClientResponseViewModel() - { - Response = m.Response, - TicketId = m.TicketId, - MediaViewModels = _accountContext.ClientResponseMedias.Include(a => a.Media) - .Where(a => a.ClientResponseId == m.id).Select(cm => new MediaViewModel() - { - Category = cm.Media.Category, - Path = cm.Media.Path, - Id = cm.Media.id, - Type = cm.Media.Type, - }).ToList(), - CreationDate = m.CreationDate, - Id = m.id, - }).ToList(), - AdminResponseViewModels = _accountContext.AdminResponses.Where(c => c.TicketId == x.id && c.IsActiveString == "true") - .Select(m => new AdminResponseViewModel() - { - Response = m.Response, - TicketId = m.TicketId, - MediaViewModels = _accountContext.AdminResponseMedias.Include(a => a.Media) - .Where(a => a.AdminResponseId == m.id).Select(cm => new MediaViewModel() - { - Category = cm.Media.Category, - Path = cm.Media.Path, - Id = cm.Media.id, - Type = cm.Media.Type, - }).ToList(), - CreationDate = m.CreationDate, - Id = m.id, - IsActive = m.IsActiveString - }).ToList(), - WorkshopId = x.WorkshopId, - TicketNumber = $"TKC_{x.TicketNumber}", - Status = x.Status + return query; + } - }).FirstOrDefault(x => x.Id == id); + public EditTicket GetDetailsForClient(long id) + { + var query = _accountContext.Tickets.Select(x => new EditTicket() + { + ContractingPartyName = x.ContractingPartyName, + Description = x.Description, + Id = x.id, + SenderId = x.SenderId, + Sender = _accountContext.Accounts.Select(account => new AccountViewModel() + { + Id = account.id, + Fullname = account.Fullname, + }).Where(a => a.Id == x.SenderId).FirstOrDefault(), + TicketType = x.TicketType, + Title = x.Title, + CreationDateStr = $"{x.CreationDate.ToFarsi()} {x.CreationDate.DayOfWeek.DayOfWeeKToPersian()}", + MediaViewModels = _accountContext.TicketMedias.Include(z => z.Media).Where(a => a.TicketId == x.id) + .Select(m => new MediaViewModel() + { + Id = m.Media.id, + Path = m.Media.Path, + Type = m.Media.Type, + Category = m.Media.Category, + }).ToList(), + ClientResponseViewModels = _accountContext.ClientResponses.Where(c => c.TicketId == x.id) + .Select(m => new ClientResponseViewModel() + { + Response = m.Response, + TicketId = m.TicketId, + MediaViewModels = _accountContext.ClientResponseMedias.Include(a => a.Media) + .Where(a => a.ClientResponseId == m.id).Select(cm => new MediaViewModel() + { + Category = cm.Media.Category, + Path = cm.Media.Path, + Id = cm.Media.id, + Type = cm.Media.Type, + }).ToList(), + CreationDate = m.CreationDate, + Id = m.id, + }).ToList(), + AdminResponseViewModels = _accountContext.AdminResponses.Where(c => c.TicketId == x.id && c.IsActiveString == "true") + .Select(m => new AdminResponseViewModel() + { + Response = m.Response, + TicketId = m.TicketId, + MediaViewModels = _accountContext.AdminResponseMedias.Include(a => a.Media) + .Where(a => a.AdminResponseId == m.id).Select(cm => new MediaViewModel() + { + Category = cm.Media.Category, + Path = cm.Media.Path, + Id = cm.Media.id, + Type = cm.Media.Type, + }).ToList(), + CreationDate = m.CreationDate, + Id = m.id, + IsActive = m.IsActiveString + }).ToList(), + WorkshopId = x.WorkshopId, + TicketNumber = $"TKC_{x.TicketNumber}", + Status = x.Status - query.ResponseViewModels = MergeResponses(query.ClientResponseViewModels, query.AdminResponseViewModels); + }).FirstOrDefault(x => x.Id == id); - return query; - } + query.ResponseViewModels = MergeResponses(query.ClientResponseViewModels, query.AdminResponseViewModels); - public int GetLastTicketNumber() - { - var res = _accountContext.Tickets.Any(x => x.TicketNumber != null) ? _accountContext.Tickets.Max(x => Convert.ToInt32(x.TicketNumber)) : 0; - return res; - } + return query; + } - public AdminResponse GetAdminResponse(long adminResId) - { - return _accountContext.AdminResponses.FirstOrDefault(x => x.id == adminResId); - } + public int GetLastTicketNumber() + { + var res = _accountContext.Tickets.Any(x => x.TicketNumber != null) ? _accountContext.Tickets.Max(x => Convert.ToInt32(x.TicketNumber)) : 0; + return res; + } - public ClientResponse GetClientResponse(long clientResId) - { - return _accountContext.ClientResponses.FirstOrDefault(x => x.id == clientResId); - } + public AdminResponse GetAdminResponse(long adminResId) + { + return _accountContext.AdminResponses.FirstOrDefault(x => x.id == adminResId); + } - public void RemoveAdminResponse(long adminResId) - { + public ClientResponse GetClientResponse(long clientResId) + { + return _accountContext.ClientResponses.FirstOrDefault(x => x.id == clientResId); + } - var adminRes =_accountContext.AdminResponses.Include(x=>x.AdminResponseMedias).ThenInclude(x=>x.Media).FirstOrDefault(x => x.id == adminResId); - if (adminRes != null) - { - _accountContext.RemoveRange(adminRes.AdminResponseMedias); - _accountContext.Remove(adminRes); - } - - } + public void RemoveAdminResponse(long adminResId) + { - public List MergeResponses(List clientResponseList, List adminResponseList) - { - var list = new List(); - var adminList = adminResponseList.Select(x => new Response() - { - TicketId = x.TicketId, - ResponseMessage = x.Response, - IsClient = false, - IsAdmin = true, + var adminRes = _accountContext.AdminResponses.Include(x => x.AdminResponseMedias).ThenInclude(x => x.Media).FirstOrDefault(x => x.id == adminResId); + if (adminRes != null) + { + _accountContext.RemoveRange(adminRes.AdminResponseMedias); + _accountContext.Remove(adminRes); + } + + } + + public TypesCountOfTicketViewModel GetTypesCountOfTicketForAdmin() + { + var tickets = _accountContext.Tickets.AsQueryable(); + return new TypesCountOfTicketViewModel() + { + All = tickets.Count(), + Answered = tickets.Count(x => x.Status == "پاسخ داده شده"), + Closed = tickets.Count(x => x.Status == "بسته شده"), + Open = tickets.Count(x => x.Status == "باز"), + Pending = tickets.Count(x => x.Status == "درحال بررسی") + + }; + } + + public TypesCountOfTicketViewModel GetTypesCountOfTicketForClient(long workshopId) + { + var tickets = _accountContext.Tickets.Where(x => x.WorkshopId == workshopId); + return new TypesCountOfTicketViewModel() + { + All = tickets.Count(), + Answered = tickets.Count(x => x.Status == "پاسخ داده شده"), + Closed = tickets.Count(x => x.Status == "بسته شده"), + Open = tickets.Count(x => x.Status == "باز"), + Pending = tickets.Count(x => x.Status == "درحال بررسی") + + }; + } + + + public List MergeResponses(List clientResponseList, List adminResponseList) + { + var list = new List(); + var adminList = adminResponseList.Select(x => new Response() + { + TicketId = x.TicketId, + ResponseMessage = x.Response, + IsClient = false, + IsAdmin = true, IsActive = x.IsActive, - FullName = x.FullName, + FullName = x.FullName, CreationDate = x.CreationDate, - CreationDateStr =$"{x.CreationDate.ToFarsi()} {x.CreationDate.DayOfWeek.DayOfWeeKToPersian()} {x.CreationDate.Hour}:{x.CreationDate.Minute}" , - MediaViewModels = x.MediaViewModels, - AdminResponseId = x.Id, - AdminAccountId = x.AdminAccountId + CreationDateStr = $"{x.CreationDate.ToFarsi()} {x.CreationDate.DayOfWeek.DayOfWeeKToPersian()} {x.CreationDate.Hour}:{x.CreationDate.Minute}", + MediaViewModels = x.MediaViewModels, + AdminResponseId = x.Id, + AdminAccountId = x.AdminAccountId + }).ToList(); + var clientList = clientResponseList.Select(x => new Response() + { + TicketId = x.TicketId, + ResponseMessage = x.Response, + IsClient = true, + IsAdmin = false, + CreationDateStr = $"{x.CreationDate.ToFarsi()} {x.CreationDate.DayOfWeek.DayOfWeeKToPersian()} {x.CreationDate.Hour}:{x.CreationDate.Minute}", + CreationDate = x.CreationDate, + MediaViewModels = x.MediaViewModels, + ClientResponseId = x.Id }).ToList(); - var clientList = clientResponseList.Select(x => new Response() - { - TicketId = x.TicketId, - ResponseMessage = x.Response, - IsClient = true, - IsAdmin = false, - CreationDateStr = $"{x.CreationDate.ToFarsi()} {x.CreationDate.DayOfWeek.DayOfWeeKToPersian()} {x.CreationDate.Hour}:{x.CreationDate.Minute}", - CreationDate = x.CreationDate, - MediaViewModels = x.MediaViewModels, - ClientResponseId = x.Id - }).ToList(); - list.Capacity = (adminList.Count + clientList.Count); - list.AddRange(adminList); - list.AddRange(clientList); - return list.OrderBy(x => x.CreationDate).ToList(); - } + list.Capacity = (adminList.Count + clientList.Count); + list.AddRange(adminList); + list.AddRange(clientList); + return list.OrderBy(x => x.CreationDate).ToList(); + } } \ No newline at end of file diff --git a/Company.Domain/CheckoutAgg/Checkout.cs b/Company.Domain/CheckoutAgg/Checkout.cs index 6fb82cc7..84a2c84d 100644 --- a/Company.Domain/CheckoutAgg/Checkout.cs +++ b/Company.Domain/CheckoutAgg/Checkout.cs @@ -16,7 +16,7 @@ public class Checkout : EntityBase double insuranceDeduction, double taxDeducation, double installmentDeduction, double salaryAidDeduction, double absenceDeduction, string sumOfWorkingDays , string archiveCode, string personnelCode, - string totalClaims, string totalDeductions, double totalPayment, string signature, double marriedAllowance, bool leaveCheckout, double creditLeaves, double absencePeriod, double averageHoursPerDay) + string totalClaims, string totalDeductions, double totalPayment, string signature, double marriedAllowance, bool leaveCheckout, double creditLeaves, double absencePeriod, double averageHoursPerDay, bool hasRollCall) { EmployeeFullName = employeeFullName; FathersName = fathersName; @@ -64,6 +64,7 @@ public class Checkout : EntityBase CreditLeaves = creditLeaves; AbsencePeriod = absencePeriod; AverageHoursPerDay = averageHoursPerDay; + HasRollCall = hasRollCall; } public string EmployeeFullName { get; private set; } @@ -128,6 +129,7 @@ public class Checkout : EntityBase public double AbsencePeriod { get; private set; } //میانگین ساعت کار در یک روز public double AverageHoursPerDay { get; private set; } + public bool HasRollCall { get; private set; } public Workshop Workshop { get; set; } //public WorkingHours WorkingHours { get; set; } diff --git a/Company.Domain/RollCallAgg/IRollCallRepository.cs b/Company.Domain/RollCallAgg/IRollCallRepository.cs index bd105942..68a8551e 100644 --- a/Company.Domain/RollCallAgg/IRollCallRepository.cs +++ b/Company.Domain/RollCallAgg/IRollCallRepository.cs @@ -17,7 +17,7 @@ namespace Company.Domain.RollCallAgg RollCallsByDateViewModel GetWorkshopRollCallHistory(RollCallSearchModel searchModel); List Search(RollCallSearchModel searchModel); CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId); - List GetEmployeeRollCallsForDuration(long employeeId, long workshopId, DateTime startDate, DateTime endDate); + List GetEmployeeRollCallsForMonth(long employeeId, long workshopId, DateTime startDate, DateTime endDate); long Flag(long employeeId, long workshopId); diff --git a/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs b/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs index 83950829..a10e8d8b 100644 --- a/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs +++ b/CompanyManagment.App.Contracts/Checkout/CheckoutViewModel.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using CompanyManagment.App.Contracts.Employer; +using CompanyManagment.App.Contracts.RollCall; using CompanyManagment.App.Contracts.WorkingHoursTemp; namespace CompanyManagment.App.Contracts.Checkout; @@ -75,4 +76,6 @@ public class CheckoutViewModel public bool TotalPaymentHide { get; set; } public string IsBlockCantracingParty { get; set; } + public bool HasRollCall { get; set; } + public List MonthlyRollCall { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/Checkout/CreateCheckout.cs b/CompanyManagment.App.Contracts/Checkout/CreateCheckout.cs index c4b88075..ca07d5a5 100644 --- a/CompanyManagment.App.Contracts/Checkout/CreateCheckout.cs +++ b/CompanyManagment.App.Contracts/Checkout/CreateCheckout.cs @@ -92,4 +92,6 @@ public class CreateCheckout public List EmployeeList { get; set; } public long UserId { get; set; } + + public bool HasRollCall { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/RollCall/CheckoutDailyRollCallViewModel.cs b/CompanyManagment.App.Contracts/RollCall/CheckoutDailyRollCallViewModel.cs index 04195ebd..1d50c1a2 100644 --- a/CompanyManagment.App.Contracts/RollCall/CheckoutDailyRollCallViewModel.cs +++ b/CompanyManagment.App.Contracts/RollCall/CheckoutDailyRollCallViewModel.cs @@ -13,7 +13,7 @@ namespace CompanyManagment.App.Contracts.RollCall public DateTime DateTimeGr { get; set; } //منقطع بودن شیفت کاری public bool IsSliced { get; set; } - + public TimeSpan TotalhourseSpan{ get; set; } public string TotalWorkingHours { get; set; } public string DayOfWeek { get; set; } diff --git a/CompanyManagment.App.Contracts/RollCall/IRollCallApplication.cs b/CompanyManagment.App.Contracts/RollCall/IRollCallApplication.cs index b704d152..f428ab47 100644 --- a/CompanyManagment.App.Contracts/RollCall/IRollCallApplication.cs +++ b/CompanyManagment.App.Contracts/RollCall/IRollCallApplication.cs @@ -13,7 +13,7 @@ namespace CompanyManagment.App.Contracts.RollCall OperationResult Edit(long id); EditRollCall GetByEmployeeIdAndWorkshopId(long employeeId, long workshopId); - List GetActiveEmployeeRollCallsForDuration(long employeeId, long workshopId, + List GetEmployeeRollCallsForMonth(long employeeId, long workshopId, DateTime startDate, DateTime endDate); EditRollCall GetById(long id); diff --git a/CompanyManagment.App.Contracts/RollCallEmployeeStatus/IRollCallEmployeeStatusApplication.cs b/CompanyManagment.App.Contracts/RollCallEmployeeStatus/IRollCallEmployeeStatusApplication.cs index 6dfb87f7..480968e1 100644 --- a/CompanyManagment.App.Contracts/RollCallEmployeeStatus/IRollCallEmployeeStatusApplication.cs +++ b/CompanyManagment.App.Contracts/RollCallEmployeeStatus/IRollCallEmployeeStatusApplication.cs @@ -1,4 +1,5 @@ using _0_Framework.Application; +using System; namespace CompanyManagment.App.Contracts.RollCallEmployeeStatus { @@ -7,5 +8,7 @@ namespace CompanyManagment.App.Contracts.RollCallEmployeeStatus OperationResult Create(CreateRollCallEmployeeStatus cmd); OperationResult Deactivate(long id); OperationResult Edit(EditRollCallEmployeeStatus cmd); - } + bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd); + + } } diff --git a/CompanyManagment.Application/CheckoutApplication.cs b/CompanyManagment.Application/CheckoutApplication.cs index 6ab62566..581e45c1 100644 --- a/CompanyManagment.Application/CheckoutApplication.cs +++ b/CompanyManagment.Application/CheckoutApplication.cs @@ -137,7 +137,7 @@ public class CheckoutApplication : ICheckoutApplication , command.DateOfBirth, command.EmployeeId, command.WorkshopName, command.WorkshopId, command.ContractNo, command.ContractStartGr, command.ContractEndGr, month, year, command.ContractId, command.WorkingHoursId, monthlyWage, bacicYears, consumableItem, housingAllowance , command.OvertimePay, command.NightworkPay, command.FridayPay, 0, command.ShiftPay, familyAllowance, bunos, years, command.LeavePay, insuranceDeduction, 0, 0, 0, command.AbsenceDeduction, sumOfWorkingDays, - command.ArchiveCode, command.PersonnelCode, totalClaims, totalDeductions, totalPayment, command.Signature,marriedAllowance,command.LeaveCheckout,command.CreditLeaves,command.AbsencePeriod,command.AverageHoursPerDay); + command.ArchiveCode, command.PersonnelCode, totalClaims, totalDeductions, totalPayment, command.Signature,marriedAllowance,command.LeaveCheckout,command.CreditLeaves,command.AbsencePeriod,command.AverageHoursPerDay,command.HasRollCall); _checkoutRepository.CreateCkeckout(checkout); //_checkoutRepository.SaveChanges(); diff --git a/CompanyManagment.Application/RollCallApplication.cs b/CompanyManagment.Application/RollCallApplication.cs index 12439354..a780edbc 100644 --- a/CompanyManagment.Application/RollCallApplication.cs +++ b/CompanyManagment.Application/RollCallApplication.cs @@ -53,13 +53,13 @@ public class RollCallApplication : IRollCallApplication return _rollCallRepository.GetByEmployeeIdAndWorkshopId(employeeId, workshopId); } - public List GetActiveEmployeeRollCallsForDuration(long employeeId, long workshopId, DateTime startDate, DateTime endDate) + public List GetEmployeeRollCallsForMonth(long employeeId, long workshopId, DateTime startDate, DateTime endDate) { if (startDate >= endDate) return new(); - return _rollCallRepository.GetEmployeeRollCallsForDuration(employeeId, workshopId, startDate, endDate); + return _rollCallRepository.GetEmployeeRollCallsForMonth(employeeId, workshopId, startDate, endDate); } public EditRollCall GetById(long id) diff --git a/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs b/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs index a581dcc7..fb3ec617 100644 --- a/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs +++ b/CompanyManagment.Application/RollCallEmployeeStatusApplication.cs @@ -40,8 +40,19 @@ namespace CompanyManagment.Application return op.Succcedded(); } + public bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd) + { + var rollCallEmployee = + _rollCallEmployeeRepository.GetByEmployeeIdAndWorkshopId(employeeId,workshopId); - public OperationResult Deactivate(long id) + if (rollCallEmployee == null) + return false; + + return _employeeRollCallStatusRepository.Exists(x => x.RollCallEmployeeId == rollCallEmployee.Id && + x.StartDate.Date < contractStart.Date && + x.EndDate.Date > contractEnd.Date); + } + public OperationResult Deactivate(long id) { OperationResult op = new(); RollCallEmployeeStatus entity = _employeeRollCallStatusRepository.Get(id); diff --git a/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs b/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs index 61a6c9d2..9442b767 100644 --- a/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs +++ b/CompanyManagment.EFCore/Mapping/CheckoutMapping.cs @@ -37,7 +37,7 @@ class CheckoutMapping : IEntityTypeConfiguration builder.Property(x => x.CreditLeaves); builder.Property(x => x.AbsencePeriod); builder.Property(x => x.AverageHoursPerDay); - + builder.Property(x => x.HasRollCall); builder.HasOne(x => x.Workshop) .WithMany(x => x.Checkouts) diff --git a/CompanyManagment.EFCore/Migrations/20240831145823_hasRollCallAdetToCheckout.Designer.cs b/CompanyManagment.EFCore/Migrations/20240831145823_hasRollCallAdetToCheckout.Designer.cs new file mode 100644 index 00000000..6cd67963 --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20240831145823_hasRollCallAdetToCheckout.Designer.cs @@ -0,0 +1,5631 @@ +// +using System; +using CompanyManagment.EFCore; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + [DbContext(typeof(CompanyContext))] + [Migration("20240831145823_hasRollCallAdetToCheckout")] + partial class hasRollCallAdetToCheckout + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.4") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Company.Domain.BillAgg.EntityBill", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Appointed") + .HasColumnType("nvarchar(max)"); + + b.Property("Contact") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("ProcessingStage") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectBill") + .IsRequired() + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Bill", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardChairman") + .HasColumnType("nvarchar(max)"); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("Branch") + .HasColumnType("nvarchar(max)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DisputeResolutionPetitionDate") + .HasColumnType("datetime2"); + + b.Property("ExpertReport") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Boards", (string)null); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("BoardTypes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("Subtitle_Id"); + + b.ToTable("TextManager_Chapter", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AbsenceDeduction") + .HasColumnType("float"); + + b.Property("AbsencePeriod") + .HasColumnType("float"); + + b.Property("ArchiveCode") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("AverageHoursPerDay") + .HasColumnType("float"); + + b.Property("BaseYearsPay") + .HasColumnType("float"); + + b.Property("BonusesPay") + .HasColumnType("float"); + + b.Property("ConsumableItems") + .HasColumnType("float"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractStart") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CreditLeaves") + .HasColumnType("float"); + + b.Property("DateOfBirth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EmployeeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .HasColumnType("float"); + + b.Property("FathersName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FridayPay") + .HasColumnType("float"); + + b.Property("HasRollCall") + .HasColumnType("bit"); + + b.Property("HousingAllowance") + .HasColumnType("float"); + + b.Property("InstallmentDeduction") + .HasColumnType("float"); + + b.Property("InsuranceDeduction") + .HasColumnType("float"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LeaveCheckout") + .HasColumnType("bit"); + + b.Property("LeavePay") + .HasColumnType("float"); + + b.Property("MarriedAllowance") + .HasColumnType("float"); + + b.Property("MissionPay") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NightworkPay") + .HasColumnType("float"); + + b.Property("OvertimePay") + .HasColumnType("float"); + + b.Property("PersonnelCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RewardPay") + .HasColumnType("float"); + + b.Property("SalaryAidDeduction") + .HasColumnType("float"); + + b.Property("ShiftPay") + .HasColumnType("float"); + + b.Property("Signature") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("SumOfWorkingDays") + .HasMaxLength(6) + .HasColumnType("nvarchar(6)"); + + b.Property("TaxDeducation") + .HasColumnType("float"); + + b.Property("TotalClaims") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalDeductions") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("TotalPayment") + .HasColumnType("float"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(70) + .HasColumnType("nvarchar(70)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearsPay") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("Checkouts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClassifiedSalaryAgg.ClassifiedSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("ClassifiedSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployeeId"); + + b.HasIndex("EmployeeId"); + + b.ToTable("ClientWorkshopEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Contact2Agg.EntityContact", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameContact") + .HasColumnType("nvarchar(max)"); + + b.Property("Signature") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Contact", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .HasColumnType("int"); + + b.Property("BlockTimes") + .HasColumnType("int"); + + b.Property("City") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsBlock") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .IsRequired() + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("State") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SureName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Zone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("PersonalContractingParties", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AgreementSalary") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ArchiveCode") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ConsumableItems") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContarctStart") + .HasColumnType("datetime2"); + + b.Property("ContractEnd") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ContractPeriod") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ContractType") + .IsRequired() + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayliWage") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("FamilyAllowance") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("GetWorkDate") + .HasColumnType("datetime2"); + + b.Property("HousingAllowance") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IsActiveString") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("JobType") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobTypeId") + .HasColumnType("bigint"); + + b.Property("MandatoryHoursid") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("SetContractDate") + .HasColumnType("datetime2"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("WorkingHoursWeekly") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopAddress1") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopIds") + .HasColumnType("bigint"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("EmployerId"); + + b.HasIndex("JobTypeId"); + + b.HasIndex("MandatoryHoursid"); + + b.HasIndex("WorkshopIds"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("Contracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.Property("PersonalContractingPartyId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("PersonalContractingPartyId", "AccountId"); + + b.ToTable("ContractingPartyAccount", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobGuildId") + .HasColumnType("bigint"); + + b.Property("EquivalentRialOver") + .HasColumnType("bigint"); + + b.Property("EquivalentRialUnder") + .HasColumnType("bigint"); + + b.Property("SalaryRatioOver") + .HasColumnType("float"); + + b.Property("SalaryRatioUnder") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("CrossJobGuildId"); + + b.ToTable("CrossJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("CrossJobGuilds", (string)null); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CrossJobId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("CrossJobId"); + + b.HasIndex("JobId"); + + b.ToTable("CrossJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("EndDateGr") + .HasColumnType("datetime2"); + + b.Property("StartDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("StartDateGr") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("DateSalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateSalaryId") + .HasColumnType("bigint"); + + b.Property("Percent") + .HasColumnType("float"); + + b.Property("PercentageId") + .HasColumnType("bigint"); + + b.Property("Salary") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("DateSalaryId"); + + b.HasIndex("PercentageId"); + + b.ToTable("DateSalaryItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployeeId", "AccountId"); + + b.ToTable("EmployeeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("BankBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BankCardNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FieldOfStudy") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByMonth") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("InsuranceHistoryByYear") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("LevelOfEducation") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MilitaryService") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NumberOfChildren") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("Employees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ParentNationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.ToTable("EmployeeChildren", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeComputeOptionsAgg.EmployeeComputeOptions", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("EmployeeComputeOptions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsurancListDataAgg.EmployeeInsurancListData", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BenefitsIncludedContinuous") + .HasColumnType("float"); + + b.Property("BenefitsIncludedNonContinuous") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyWage") + .HasColumnType("float"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("InsuranceListId") + .HasColumnType("bigint"); + + b.Property("InsuranceShare") + .HasColumnType("float"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("MonthlyBenefits") + .HasColumnType("float"); + + b.Property("MonthlyBenefitsIncluded") + .HasColumnType("float"); + + b.Property("MonthlySalary") + .HasColumnType("float"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkingDays") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("EmployeeInsurancListData", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfEnd") + .HasColumnType("datetime2"); + + b.Property("DateOfStart") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkShopId"); + + b.ToTable("EmployeeInsuranceRecord", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.HasKey("EmployerId", "AccountId"); + + b.ToTable("EmployerAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Evidences", (string)null); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("Evidence_Id") + .HasColumnType("bigint"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("Evidence_Id"); + + b.ToTable("EvidenceDetails", (string)null); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ArchiveNo") + .HasColumnType("bigint"); + + b.Property("Client") + .HasColumnType("int"); + + b.Property("ClientVisitDate") + .HasColumnType("datetime2"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FileClass") + .HasColumnType("nvarchar(max)"); + + b.Property("HasMandate") + .HasColumnType("int"); + + b.Property("ProceederReference") + .HasColumnType("nvarchar(max)"); + + b.Property("Reqester") + .HasColumnType("bigint"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Summoned") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("Files", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AdditionalDeadline") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileState_Id") + .HasColumnType("bigint"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("FileState_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("File_Alerts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.Property("FileId") + .HasColumnType("bigint"); + + b.Property("FileEmployerId") + .HasColumnType("bigint"); + + b.HasKey("FileId", "FileEmployerId"); + + b.HasIndex("FileEmployerId"); + + b.ToTable("FileAndFileEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FatherName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployee", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("FieldOfStudy") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceWorkshopCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("LevelOfEducation") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("MaritalStatus") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("NationalId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OfficePhone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("Phone") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("RegisterId") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("RepresentativeFullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("RepresentativeId"); + + b.ToTable("FileEmployer", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FileTiming_Id") + .HasColumnType("bigint"); + + b.Property("State") + .HasColumnType("int"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("FileTiming_Id"); + + b.ToTable("File_States", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Deadline") + .HasColumnType("int"); + + b.Property("Tips") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Timings", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FileTitle.FileTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("Type") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("File_Titles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.ToTable("FinancialStatments", (string)null); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Balance") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Creditor") + .HasColumnType("float"); + + b.Property("Deptor") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(600) + .HasColumnType("nvarchar(600)"); + + b.Property("DescriptionOption") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("FinancialStatementId") + .HasColumnType("bigint"); + + b.Property("MessageText") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("SentSms") + .HasColumnType("bit"); + + b.Property("SentSmsDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TdateGr") + .HasColumnType("datetime2"); + + b.Property("TypeOfTransaction") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("FinancialStatementId"); + + b.ToTable("FinancialTransactions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AnnualSalary") + .HasColumnType("float"); + + b.Property("BaseSalary") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("JobSalary") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("GroupPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("GroupNo") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("GroupPlanId") + .HasColumnType("bigint"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("JobName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("GroupPlanId"); + + b.ToTable("GroupPlanJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("Holidays", (string)null); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("HolidayId") + .HasColumnType("bigint"); + + b.Property("HolidayYear") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("Holidaydate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("HolidayId"); + + b.ToTable("Holidayitems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(250) + .HasColumnType("nvarchar(250)"); + + b.Property("City") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ContractAmount") + .HasColumnType("float"); + + b.Property("ContractDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractDateGr") + .HasColumnType("datetime2"); + + b.Property("ContractEndFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractEndGr") + .HasColumnType("datetime2"); + + b.Property("ContractNo") + .HasMaxLength(40) + .HasColumnType("nvarchar(40)"); + + b.Property("ContractStartFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ContractStartGr") + .HasColumnType("datetime2"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("ContractingPartyName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DailyCompenseation") + .HasColumnType("float"); + + b.Property("Description") + .HasMaxLength(10000) + .HasColumnType("nvarchar(max)"); + + b.Property("EmployeeManualCount") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExtensionNo") + .HasColumnType("int"); + + b.Property("HasValueAddedTax") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Obligation") + .HasColumnType("float"); + + b.Property("OfficialCompany") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("RepresentativeId") + .HasColumnType("bigint"); + + b.Property("RepresentativeName") + .HasMaxLength(80) + .HasColumnType("nvarchar(80)"); + + b.Property("Signature") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("State") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("TotalAmount") + .HasColumnType("float"); + + b.Property("TypeOfContract") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("ValueAddedTax") + .HasColumnType("float"); + + b.Property("WorkshopManualCount") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("id"); + + b.ToTable("InstitutionContracts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FnameLname") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("PhoneNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("PhoneType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Position") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SendSms") + .HasColumnType("bit"); + + b.HasKey("id"); + + b.HasIndex("InstitutionContractId"); + + b.ToTable("InstitutinContractContactInfo", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InstitutionPlanAgg.InstitutionPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseContractAmont") + .HasColumnType("float"); + + b.Property("CountPerson") + .HasColumnType("int"); + + b.Property("FinalContractAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("InstitutionPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EconomicCode") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("InsuranceJobTitle") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("InsuranceJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgreementNumber") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ListNumber") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId") + .IsUnique(); + + b.ToTable("InsuranceWorkshopInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployerStr") + .HasColumnType("nvarchar(max)"); + + b.Property("ListNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("int"); + + b.Property("WorkShopId") + .HasColumnType("bigint"); + + b.Property("WorkShopStr") + .HasColumnType("nvarchar(max)"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("WorkShopId"); + + b.ToTable("Insurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("FName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FatherName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Gender") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IdNumber") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("InsuranceCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalCode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId") + .IsUnique(); + + b.ToTable("InsuranceEmployeeInformation", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("InsuranceJobItemId") + .HasColumnType("bigint"); + + b.HasKey("JobId", "InsuranceJobItemId"); + + b.HasIndex("InsuranceJobItemId"); + + b.ToTable("InsuranceJobAndJobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("PercentageLessThan") + .HasColumnType("float"); + + b.Property("PercentageMoreThan") + .HasColumnType("float"); + + b.Property("SalaeyLessThan") + .HasColumnType("float"); + + b.Property("SalaryMoreThan") + .HasColumnType("float"); + + b.HasKey("id"); + + b.HasIndex("InsuranceJobId"); + + b.ToTable("InsuranceJobItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConfirmSentlist") + .HasColumnType("bit"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DifficultJobsInsuranc") + .HasColumnType("float"); + + b.Property("EmployerShare") + .HasColumnType("float"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Included") + .HasColumnType("float"); + + b.Property("IncludedAndNotIncluded") + .HasColumnType("float"); + + b.Property("InsuredShare") + .HasColumnType("float"); + + b.Property("Month") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("SumOfBenefitsIncluded") + .HasColumnType("float"); + + b.Property("SumOfDailyWage") + .HasColumnType("float"); + + b.Property("SumOfEmployees") + .HasColumnType("int"); + + b.Property("SumOfSalaries") + .HasColumnType("float"); + + b.Property("SumOfWorkingDays") + .HasColumnType("int"); + + b.Property("UnEmploymentInsurance") + .HasColumnType("float"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("InsuranceLists", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.Property("InsurancListId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("InsurancListId", "WorkshopId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("InsuranceListWorkshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.InsuranceYearlySalaryAgg.InsuranceYearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Group1") + .HasColumnType("float"); + + b.Property("Group10") + .HasColumnType("float"); + + b.Property("Group11") + .HasColumnType("float"); + + b.Property("Group12") + .HasColumnType("float"); + + b.Property("Group13") + .HasColumnType("float"); + + b.Property("Group14") + .HasColumnType("float"); + + b.Property("Group15") + .HasColumnType("float"); + + b.Property("Group16") + .HasColumnType("float"); + + b.Property("Group17") + .HasColumnType("float"); + + b.Property("Group18") + .HasColumnType("float"); + + b.Property("Group19") + .HasColumnType("float"); + + b.Property("Group2") + .HasColumnType("float"); + + b.Property("Group20") + .HasColumnType("float"); + + b.Property("Group21") + .HasColumnType("float"); + + b.Property("Group22") + .HasColumnType("float"); + + b.Property("Group23") + .HasColumnType("float"); + + b.Property("Group24") + .HasColumnType("float"); + + b.Property("Group25") + .HasColumnType("float"); + + b.Property("Group26") + .HasColumnType("float"); + + b.Property("Group27") + .HasColumnType("float"); + + b.Property("Group28") + .HasColumnType("float"); + + b.Property("Group29") + .HasColumnType("float"); + + b.Property("Group3") + .HasColumnType("float"); + + b.Property("Group30") + .HasColumnType("float"); + + b.Property("Group4") + .HasColumnType("float"); + + b.Property("Group5") + .HasColumnType("float"); + + b.Property("Group6") + .HasColumnType("float"); + + b.Property("Group7") + .HasColumnType("float"); + + b.Property("Group8") + .HasColumnType("float"); + + b.Property("Group9") + .HasColumnType("float"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("InsuranceYearlySalaries", (string)null); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("JobCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("Jobs", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeaveAgg.Leave", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Decription") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndLeave") + .HasColumnType("datetime2"); + + b.Property("IsAccepted") + .HasColumnType("bit"); + + b.Property("LeaveHourses") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("PaidLeaveType") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("StartLeave") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("Leave", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWork", (string)null); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("IncludeStatus") + .HasColumnType("bit"); + + b.Property("JobId") + .HasColumnType("bigint"); + + b.Property("LeftWorkDate") + .HasColumnType("datetime2(7)"); + + b.Property("StartWorkDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("LeftWorkInsurances", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Aban") + .HasColumnType("float"); + + b.Property("AbanFridays") + .HasColumnType("int"); + + b.Property("AbanHolidays") + .HasColumnType("int"); + + b.Property("AbanMonadatoryDays") + .HasColumnType("int"); + + b.Property("Azar") + .HasColumnType("float"); + + b.Property("AzarFridays") + .HasColumnType("int"); + + b.Property("AzarHolidays") + .HasColumnType("int"); + + b.Property("AzarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Bahman") + .HasColumnType("float"); + + b.Property("BahmanFridays") + .HasColumnType("int"); + + b.Property("BahmanHolidays") + .HasColumnType("int"); + + b.Property("BahmanMonadatoryDays") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Dey") + .HasColumnType("float"); + + b.Property("DeyFridays") + .HasColumnType("int"); + + b.Property("DeyHolidays") + .HasColumnType("int"); + + b.Property("DeyMonadatoryDays") + .HasColumnType("int"); + + b.Property("Esfand") + .HasColumnType("float"); + + b.Property("EsfandFridays") + .HasColumnType("int"); + + b.Property("EsfandHolidays") + .HasColumnType("int"); + + b.Property("EsfandMonadatoryDays") + .HasColumnType("int"); + + b.Property("Farvardin") + .HasColumnType("float"); + + b.Property("FarvardinFridays") + .HasColumnType("int"); + + b.Property("FarvardinHolidays") + .HasColumnType("int"); + + b.Property("FarvardinMonadatoryDays") + .HasColumnType("int"); + + b.Property("Khordad") + .HasColumnType("float"); + + b.Property("KhordadFridays") + .HasColumnType("int"); + + b.Property("KhordadHolidays") + .HasColumnType("int"); + + b.Property("KhordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mehr") + .HasColumnType("float"); + + b.Property("MehrFridays") + .HasColumnType("int"); + + b.Property("MehrHolidays") + .HasColumnType("int"); + + b.Property("MehrMonadatoryDays") + .HasColumnType("int"); + + b.Property("Mordad") + .HasColumnType("float"); + + b.Property("MordadFridays") + .HasColumnType("int"); + + b.Property("MordadHolidays") + .HasColumnType("int"); + + b.Property("MordadMonadatoryDays") + .HasColumnType("int"); + + b.Property("Ordibehesht") + .HasColumnType("float"); + + b.Property("OrdibeheshtFridays") + .HasColumnType("int"); + + b.Property("OrdibeheshtHolidays") + .HasColumnType("int"); + + b.Property("OrdibeheshtMonadatoryDays") + .HasColumnType("int"); + + b.Property("Shahrivar") + .HasColumnType("float"); + + b.Property("ShahrivarFridays") + .HasColumnType("int"); + + b.Property("ShahrivarHolidays") + .HasColumnType("int"); + + b.Property("ShahrivarMonadatoryDays") + .HasColumnType("int"); + + b.Property("Tir") + .HasColumnType("float"); + + b.Property("TirFridays") + .HasColumnType("int"); + + b.Property("TirHolidays") + .HasColumnType("int"); + + b.Property("TirMonadatoryDays") + .HasColumnType("int"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("MandatoryHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("MasterName") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Master_Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("MasterPetition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("MasterPetition_Id"); + + b.ToTable("Master_WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NameSubModule") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.ToTable("TextManager_Module", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.Property("TextManagerId") + .HasColumnType("bigint"); + + b.Property("ModuleId") + .HasColumnType("bigint"); + + b.HasKey("TextManagerId", "ModuleId"); + + b.HasIndex("ModuleId"); + + b.ToTable("TextManager_ModuleTextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.ToTable("TextManager_OriginalTitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("Month") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasMaxLength(4) + .HasColumnType("nvarchar(4)"); + + b.HasKey("id"); + + b.ToTable("PaymentToEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BankCheckNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CashDescription") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DestinationBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("DestinationBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PayDate") + .HasColumnType("datetime2"); + + b.Property("Payment") + .HasColumnType("float"); + + b.Property("PaymentMetod") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("PaymentTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentToEmployeeId") + .HasColumnType("bigint"); + + b.Property("SourceBankAccountNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("SourceBankName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeDestinationBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("TypeSourceBankNumber") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("PaymentToEmployeeId"); + + b.ToTable("PaymentToEmployeeItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Day") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2(7)"); + + b.Property("PaidAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("RemainingAmount") + .HasColumnType("nvarchar(max)"); + + b.Property("Title") + .HasColumnType("nvarchar(max)"); + + b.Property("ToDate") + .HasColumnType("datetime2(7)"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("PenaltyTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Percent") + .HasColumnType("float"); + + b.HasKey("id"); + + b.ToTable("Percentages", (string)null); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("PersonnelCode") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("EmployeeId"); + + b.HasIndex("WorkshopId"); + + b.ToTable("PersonnelCodes", (string)null); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BoardType_Id") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("File_Id") + .HasColumnType("bigint"); + + b.Property("NotificationPetitionDate") + .HasColumnType("datetime2"); + + b.Property("PetitionIssuanceDate") + .HasColumnType("datetime2"); + + b.Property("PetitionNo") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenalty") + .HasColumnType("nvarchar(max)"); + + b.Property("TotalPenaltyTitles") + .HasColumnType("nvarchar(max)"); + + b.Property("WorkHistoryDescreption") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("BoardType_Id"); + + b.HasIndex("File_Id"); + + b.ToTable("Petitions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Board_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("Status") + .HasColumnType("int"); + + b.Property("Time") + .HasColumnType("nvarchar(max)"); + + b.HasKey("id"); + + b.HasIndex("Board_Id"); + + b.ToTable("ProceedingSessions", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgentPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("FullName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsLegal") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("LName") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("LegalName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("NationalId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Phone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("RegisterId") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.HasKey("id"); + + b.ToTable("Representative", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallAgg.RollCall", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("Month") + .HasColumnType("int"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCall", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("HasUploadedImage") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("RollCallEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("RollCallEmployeeId") + .HasColumnType("bigint"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.HasKey("id"); + + b.HasIndex("RollCallEmployeeId"); + + b.ToTable("RollCallEmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.RollCallPlanAgg.RollCallPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BaseAmont") + .HasColumnType("float"); + + b.Property("FinalAmont") + .HasColumnType("float"); + + b.Property("IncreasePercentage") + .HasColumnType("float"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.HasKey("id"); + + b.ToTable("RollCallPlans", (string)null); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("Amount") + .HasColumnType("float"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Duration") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("EndService") + .HasColumnType("datetime2"); + + b.Property("IsActiveString") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("MaxPersonValid") + .HasColumnType("int"); + + b.Property("ServiceType") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("StartService") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("AccountId"); + + b.ToTable("RollCallServices", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SmsResultAgg.SmsResult", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractingPartyName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPatyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("InstitutionContractId") + .HasColumnType("bigint"); + + b.Property("MessageId") + .HasColumnType("int"); + + b.Property("Mobile") + .HasMaxLength(12) + .HasColumnType("nvarchar(12)"); + + b.Property("Status") + .HasMaxLength(30) + .HasColumnType("nvarchar(30)"); + + b.Property("TypeOfSms") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("SmsResults", (string)null); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EntitySubtitleid") + .HasColumnType("bigint"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Subtitle") + .IsRequired() + .HasMaxLength(60) + .HasColumnType("nvarchar(60)"); + + b.HasKey("id"); + + b.HasIndex("EntitySubtitleid"); + + b.HasIndex("OriginalTitle_Id"); + + b.ToTable("TextManager_Subtitle", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxJobCategoryAgg.TaxJobCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("JobCategoryCode") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("JobCategoryName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.ToTable("TaxJobCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("BudgetLawExceptions") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("Country") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("CurrencyType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("EmployeeName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("EmploymentLocationStatus") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("ExchangeRate") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("InsuranceBranch") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("JobCategoryCode") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("JobCategoryId") + .HasColumnType("bigint"); + + b.Property("JobTitle") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.Property("PaymentType") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("RetirementDate") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("TaxExempt") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfEmployment") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("TypeOfInsurance") + .HasMaxLength(3) + .HasColumnType("nvarchar(3)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopName") + .HasMaxLength(150) + .HasColumnType("nvarchar(150)"); + + b.HasKey("id"); + + b.HasIndex("WorkshopId"); + + b.ToTable("TaxLeftWorkCategory", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("LeftWork") + .HasColumnType("datetime2"); + + b.Property("StartWork") + .HasColumnType("datetime2"); + + b.Property("TaxLeftWorkCategoryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("TaxLeftWorkCategoryId"); + + b.ToTable("TaxLeftWorkItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Chapter_Id") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("IsActiveString") + .HasColumnType("nvarchar(max)"); + + b.Property("NoteNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("NumberTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("OriginalTitle_Id") + .HasColumnType("bigint"); + + b.Property("Paragraph") + .HasColumnType("nvarchar(max)"); + + b.Property("SubjectTextManager") + .HasColumnType("nvarchar(max)"); + + b.Property("Subtitle_Id") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("TextManager_TextManager", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("FromDate") + .HasColumnType("datetime2"); + + b.Property("Petition_Id") + .HasColumnType("bigint"); + + b.Property("ToDate") + .HasColumnType("datetime2"); + + b.Property("WorkingHoursPerDay") + .HasColumnType("int"); + + b.Property("WorkingHoursPerWeek") + .HasColumnType("int"); + + b.HasKey("id"); + + b.HasIndex("Petition_Id"); + + b.ToTable("WorkHistories", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ContractId") + .HasColumnType("bigint"); + + b.Property("ContractNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("NumberOfFriday") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("NumberOfWorkingDays") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverNightWorkH") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("OverNightWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("OverTimeWorkH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("OverTimeWorkM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("TotalHoursesH") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("TotalHoursesM") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WeeklyWorkingTime") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.HasIndex("ContractId"); + + b.ToTable("WorkingHours", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start3") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursId"); + + b.ToTable("WorkingHoursItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("ShiftWork") + .HasMaxLength(2) + .HasColumnType("nvarchar(2)"); + + b.Property("WorkShopAddress2") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkingHoursTemp", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ComplexEnd") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("ComplexStart") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DayOfWork") + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("End1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("End2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("RestTime") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start1") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Start2") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("WeekNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("WorkingHoursTempId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkingHoursTempId"); + + b.ToTable("WorkingHoursTempItem", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("AccountId") + .HasColumnType("bigint"); + + b.Property("ContractAndCheckout") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Insurance") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("IsActiveSting") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.Property("Tax") + .HasMaxLength(5) + .HasColumnType("nvarchar(5)"); + + b.HasKey("WorkshopId", "AccountId"); + + b.ToTable("WorkshopeAccounts", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("AddBonusesPay") + .HasColumnType("bit"); + + b.Property("AddLeavePay") + .HasColumnType("bit"); + + b.Property("AddYearsPay") + .HasColumnType("bit"); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AgreementNumber") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ArchiveCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("BonusesOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("City") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ComputeOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractTerm") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("FixedSalary") + .HasColumnType("bit"); + + b.Property("InsuranceCode") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("InsuranceJobId") + .HasColumnType("bigint"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsActiveString") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IsClassified") + .HasColumnType("bit"); + + b.Property("IsOldContract") + .HasColumnType("bit"); + + b.Property("Population") + .HasMaxLength(25) + .HasColumnType("nvarchar(25)"); + + b.Property("State") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TotalPaymentHide") + .HasColumnType("bit"); + + b.Property("TypeOfContract") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfInsuranceSend") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeOfOwnership") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("WorkshopFullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("WorkshopSureName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("YearsOptions") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Workshops", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("EmployerId") + .HasColumnType("bigint"); + + b.HasKey("WorkshopId", "EmployerId"); + + b.HasIndex("EmployerId"); + + b.ToTable("WorkshopeEmployers", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Designer") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DesignerPhone") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("ExecutionDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("ExecutionDateGr") + .HasColumnType("datetime2"); + + b.Property("IncludingDateFa") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IncludingDateGr") + .HasColumnType("datetime2"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.ToTable("WorkshopPlan", (string)null); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EmployeeFullName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EmployeeId") + .HasColumnType("bigint"); + + b.Property("WorkshopId") + .HasColumnType("bigint"); + + b.Property("WorkshopPlanId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("WorkshopPlanId"); + + b.ToTable("WorkshopPlanEmployees", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("ConnectionId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("EndDate") + .HasColumnType("datetime2"); + + b.Property("StartDate") + .HasColumnType("datetime2"); + + b.Property("Year") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.HasKey("id"); + + b.ToTable("YearlySalariess", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ItemName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("ItemValue") + .HasColumnType("float"); + + b.Property("ParentConnectionId") + .HasColumnType("int"); + + b.Property("ValueType") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("YearlySalaryId") + .HasColumnType("bigint"); + + b.HasKey("id"); + + b.HasIndex("YearlySalaryId"); + + b.ToTable("YearlyItems", (string)null); + }); + + modelBuilder.Entity("Company.Domain.YearlysSalaryTitleAgg.YearlySalaryTitle", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("Title1") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title10") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title2") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title3") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title4") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title5") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title6") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title7") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title8") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Title9") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.HasKey("id"); + + b.ToTable("YearlySalaryTitles", (string)null); + }); + + modelBuilder.Entity("Company.Domain.ZoneAgg.Zone", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("CityId") + .HasColumnType("int"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ZoneName") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("id"); + + b.ToTable("Zones", (string)null); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Property("id") + .ValueGeneratedOnAdd() + .HasColumnType("bigint"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("id")); + + b.Property("Address") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("AgentPhone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ContractingPartyId") + .HasColumnType("bigint"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("datetime2"); + + b.Property("DateOfIssue") + .HasColumnType("datetime2"); + + b.Property("EmployerLName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("EmployerNo") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EservicePassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("EserviceUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("FName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FatherName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("FullName") + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("Gender") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("IdNumber") + .HasMaxLength(20) + .HasColumnType("nvarchar(20)"); + + b.Property("IsActive") + .HasColumnType("bit"); + + b.Property("IsLegal") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("LName") + .IsRequired() + .HasMaxLength(255) + .HasColumnType("nvarchar(255)"); + + b.Property("MclsPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("MclsUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("NationalId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("Nationalcode") + .HasMaxLength(10) + .HasColumnType("nvarchar(10)"); + + b.Property("Nationality") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Phone") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("PlaceOfIssue") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("RegisterId") + .HasMaxLength(15) + .HasColumnType("nvarchar(15)"); + + b.Property("SanaPassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("SanaUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficeUserName") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TaxOfficepassword") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.HasKey("id"); + + b.HasIndex("ContractingPartyId"); + + b.ToTable("Employers", (string)null); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.Property("EmployersListid") + .HasColumnType("bigint"); + + b.Property("WorkshopsListid") + .HasColumnType("bigint"); + + b.HasKey("EmployersListid", "WorkshopsListid"); + + b.HasIndex("WorkshopsListid"); + + b.ToTable("EmployerWorkshop"); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("BoardsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("BoardsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ChapterAgg.EntityChapter", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", "EntitySubtitle") + .WithMany("Chapters") + .HasForeignKey("Subtitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntitySubtitle"); + }); + + modelBuilder.Entity("Company.Domain.CheckoutAgg.Checkout", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Checkouts") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ClientEmployeeWorkshopAgg.ClientEmployeeWorkshop", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("ClientEmployeeWorkshopList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("ContractingParties") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("Contracts") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("Contracts") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("ContractsList") + .HasForeignKey("JobTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.MandatoryHoursAgg.MandatoryHours", null) + .WithMany("Contracts") + .HasForeignKey("MandatoryHoursid"); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Contracts2") + .HasForeignKey("WorkshopIds") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("Contracts") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Employer"); + + b.Navigation("Job"); + + b.Navigation("Workshop"); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "PersonalContractingParty") + .WithMany() + .HasForeignKey("PersonalContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PersonalContractingParty"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.HasOne("Company.Domain.CrossJobGuildAgg.CrossJobGuild", "CrossJobGuild") + .WithMany("CrossJobList") + .HasForeignKey("CrossJobGuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJobGuild"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobItemsAgg.CrossJobItems", b => + { + b.HasOne("Company.Domain.CrossJobAgg.CrossJob", "CrossJob") + .WithMany("CrossJobItemsList") + .HasForeignKey("CrossJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Job") + .WithMany("CrossJobItemsList") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CrossJob"); + + b.Navigation("Job"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryItemAgg.DateSalaryItem", b => + { + b.HasOne("Company.Domain.DateSalaryAgg.DateSalary", "DateSalary") + .WithMany("DateSalaryItemList") + .HasForeignKey("DateSalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.PercentageAgg.Percentage", "Percentage") + .WithMany("DateSalaryItemList") + .HasForeignKey("PercentageId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DateSalary"); + + b.Navigation("Percentage"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAccountAgg.EmployeeAccount", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany() + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeChildrenAgg.EmployeeChildren", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeChildrenList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeInsuranceRecordAgg.EmployeeInsuranceRecord", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("EmployeeInsuranceRecords") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.EmployerAccountAgg.EmployerAccount", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany() + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("EvidencesList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("EvidencesList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.EvidenceDetail.EvidenceDetail", b => + { + b.HasOne("Company.Domain.Evidence.Evidence", "Evidence") + .WithMany("EvidenceDetailsList") + .HasForeignKey("Evidence_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Evidence"); + }); + + modelBuilder.Entity("Company.Domain.FileAlert.FileAlert", b => + { + b.HasOne("Company.Domain.FileState.FileState", "FileState") + .WithMany("FileAlertsList") + .HasForeignKey("FileState_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File") + .WithMany("FileAlertsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File"); + + b.Navigation("FileState"); + }); + + modelBuilder.Entity("Company.Domain.FileAndFileEmployerAgg.FileAndFileEmployer", b => + { + b.HasOne("Company.Domain.FileEmployerAgg.FileEmployer", "FileEmployer") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileEmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("FileAndFileEmployers") + .HasForeignKey("FileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("File1"); + + b.Navigation("FileEmployer"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployeeAgg.FileEmployee", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployeeList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.HasOne("Company.Domain.RepresentativeAgg.Representative", "Representative") + .WithMany("FileEmployerList") + .HasForeignKey("RepresentativeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Representative"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.HasOne("Company.Domain.FileTiming.FileTiming", "FileTiming") + .WithMany("FileStates") + .HasForeignKey("FileTiming_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FileTiming"); + }); + + modelBuilder.Entity("Company.Domain.FinancialTransactionAgg.FinancialTransaction", b => + { + b.HasOne("Company.Domain.FinancialStatmentAgg.FinancialStatment", "FinancialStatment") + .WithMany("FinancialTransactionList") + .HasForeignKey("FinancialStatementId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FinancialStatment"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("GroupPlans") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanJobItemAgg.GroupPlanJobItem", b => + { + b.HasOne("Company.Domain.GroupPlanAgg.GroupPlan", "GroupPlan") + .WithMany("GroupPlanJobItems") + .HasForeignKey("GroupPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GroupPlan"); + }); + + modelBuilder.Entity("Company.Domain.HolidayItemAgg.HolidayItem", b => + { + b.HasOne("Company.Domain.HolidayAgg.Holiday", "Holidayss") + .WithMany("HolidayItems") + .HasForeignKey("HolidayId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Holidayss"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractContactInfoAgg.InstitutionContractContactInfo", b => + { + b.HasOne("Company.Domain.InstitutionContractAgg.InstitutionContract", "InstitutionContracts") + .WithMany("ContactInfoList") + .HasForeignKey("InstitutionContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InstitutionContracts"); + }); + + modelBuilder.Entity("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithOne("InsuranceWorkshopInfo") + .HasForeignKey("Company.Domain.InsurancWorkshopInfoAgg.InsuranceWorkshopInfo", "WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceAgg.Insurance", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("Insurances") + .HasForeignKey("WorkShopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithOne("InsuranceEmployeeInfo") + .HasForeignKey("Company.Domain.InsuranceEmployeeInfoAgg.InsuranceEmployeeInfo", "EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobAndJobsAgg.InsuranceJobAndJobs", b => + { + b.HasOne("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", "InsuranceJobItem") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("InsuranceJobItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.JobAgg.Job", "Jobs") + .WithMany("InsuranceJobAndJobs") + .HasForeignKey("JobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJobItem"); + + b.Navigation("Jobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.HasOne("Company.Domain.InsurancJobAgg.InsuranceJob", "InsuranceJob") + .WithMany("InsuranceJobItemList") + .HasForeignKey("InsuranceJobId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceJob"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceWorkshopAgg.InsuranceListWorkshop", b => + { + b.HasOne("Company.Domain.InsuranceListAgg.InsuranceList", "InsuranceList") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("InsurancListId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("InsuranceListWorkshops") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("InsuranceList"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkAgg.LeftWork", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorks") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorks") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.LeftWorkInsuranceAgg.LeftWorkInsurance", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("LeftWorkInsurances") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("LeftWorkInsurances") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.MasterPenaltyTitle.MasterPenaltyTitle", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterPenaltyTitlesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("MasterPetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("MasterPetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.MasterWorkHistory.MasterWorkHistory", b => + { + b.HasOne("Company.Domain.MasterPetition.MasterPetition", "MasterPetition") + .WithMany("MasterWorkHistoriesList") + .HasForeignKey("MasterPetition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterPetition"); + }); + + modelBuilder.Entity("Company.Domain.ModuleTextManagerAgg.EntityModuleTextManager", b => + { + b.HasOne("Company.Domain.ModuleAgg.EntityModule", "Module") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("ModuleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.TextManagerAgg.EntityTextManager", "TextManager") + .WithMany("EntityModuleTextManagers") + .HasForeignKey("TextManagerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Module"); + + b.Navigation("TextManager"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeItemAgg.PaymentToEmployeeItem", b => + { + b.HasOne("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", "PaymentToEmployee") + .WithMany("PaymentToEmployeeItemList") + .HasForeignKey("PaymentToEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("PaymentToEmployee"); + }); + + modelBuilder.Entity("Company.Domain.PenaltyTitle.PenaltyTitle", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("PenaltyTitlesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.PersonnelCodeAgg.PersonnelCodeDomain", b => + { + b.HasOne("Company.Domain.EmployeeAgg.Employee", "Employee") + .WithMany("PersonnelCodeList") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("PersonnelCodeList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employee"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.HasOne("Company.Domain.BoardType.BoardType", "BoardType") + .WithMany("PetitionsList") + .HasForeignKey("BoardType_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.File1.File1", "File1") + .WithMany("PetitionsList") + .HasForeignKey("File_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("BoardType"); + + b.Navigation("File1"); + }); + + modelBuilder.Entity("Company.Domain.ProceedingSession.ProceedingSession", b => + { + b.HasOne("Company.Domain.Board.Board", "Board") + .WithMany("ProceedingSessionsList") + .HasForeignKey("Board_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Board"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeStatusAgg.RollCallEmployeeStatus", b => + { + b.HasOne("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", "RollCallEmployee") + .WithMany("EmployeesStatus") + .HasForeignKey("RollCallEmployeeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("RollCallEmployee"); + }); + + modelBuilder.Entity("Company.Domain.RollCallServiceAgg.RollCallService", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("RollCallServicesList") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.HasOne("Company.Domain.SubtitleAgg.EntitySubtitle", null) + .WithMany("Subtitles") + .HasForeignKey("EntitySubtitleid"); + + b.HasOne("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", "EntityOriginalTitle") + .WithMany("Subtitles") + .HasForeignKey("OriginalTitle_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("EntityOriginalTitle"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("TaxLeftWorkCategoryList") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkItemAgg.TaxLeftWorkItem", b => + { + b.HasOne("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", "TaxLeftWorkCategory") + .WithMany("TaxLeftWorkItemList") + .HasForeignKey("TaxLeftWorkCategoryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("TaxLeftWorkCategory"); + }); + + modelBuilder.Entity("Company.Domain.WorkHistory.WorkHistory", b => + { + b.HasOne("Company.Domain.Petition.Petition", "Petition") + .WithMany("WorkHistoriesList") + .HasForeignKey("Petition_Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Petition"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.HasOne("Company.Domain.ContractAgg.Contract", "Contracts") + .WithMany("WorkingHoursList") + .HasForeignKey("ContractId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursItemsAgg.WorkingHoursItems", b => + { + b.HasOne("Company.Domain.WorkingHoursAgg.WorkingHours", "WorkingHourses") + .WithMany("WorkingHoursItemsList") + .HasForeignKey("WorkingHoursId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHourses"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempItemAgg.WorkingHoursTempItem", b => + { + b.HasOne("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", "WorkingHoursTemp") + .WithMany("WorkingHoursTempItemList") + .HasForeignKey("WorkingHoursTempId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkingHoursTemp"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAccountAgg.WorkshopAccount", b => + { + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany() + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopEmployerAgg.WorkshopEmployer", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", "Employer") + .WithMany("WorkshopEmployers") + .HasForeignKey("EmployerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", "Workshop") + .WithMany("WorkshopEmployers") + .HasForeignKey("WorkshopId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Employer"); + + b.Navigation("Workshop"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanEmployeeAgg.WorkshopPlanEmployee", b => + { + b.HasOne("Company.Domain.WorkshopPlanAgg.WorkshopPlan", "WorkshopPlan") + .WithMany("WorkshopPlanEmployees") + .HasForeignKey("WorkshopPlanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("WorkshopPlan"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryItemsAgg.YearlySalaryItem", b => + { + b.HasOne("Company.Domain.YearlySalaryAgg.YearlySalary", "YearlySalary") + .WithMany("YearlySalaryItemsList") + .HasForeignKey("YearlySalaryId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("YearlySalary"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.HasOne("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", "ContractingParty") + .WithMany("Employers") + .HasForeignKey("ContractingPartyId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ContractingParty"); + }); + + modelBuilder.Entity("EmployerWorkshop", b => + { + b.HasOne("Company.Domain.empolyerAgg.Employer", null) + .WithMany() + .HasForeignKey("EmployersListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Company.Domain.WorkshopAgg.Workshop", null) + .WithMany() + .HasForeignKey("WorkshopsListid") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Company.Domain.Board.Board", b => + { + b.Navigation("ProceedingSessionsList"); + }); + + modelBuilder.Entity("Company.Domain.BoardType.BoardType", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.ContarctingPartyAgg.PersonalContractingParty", b => + { + b.Navigation("Employers"); + }); + + modelBuilder.Entity("Company.Domain.ContractAgg.Contract", b => + { + b.Navigation("WorkingHoursList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobAgg.CrossJob", b => + { + b.Navigation("CrossJobItemsList"); + }); + + modelBuilder.Entity("Company.Domain.CrossJobGuildAgg.CrossJobGuild", b => + { + b.Navigation("CrossJobList"); + }); + + modelBuilder.Entity("Company.Domain.DateSalaryAgg.DateSalary", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.EmployeeAgg.Employee", b => + { + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts"); + + b.Navigation("EmployeeChildrenList"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceEmployeeInfo"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + }); + + modelBuilder.Entity("Company.Domain.Evidence.Evidence", b => + { + b.Navigation("EvidenceDetailsList"); + }); + + modelBuilder.Entity("Company.Domain.File1.File1", b => + { + b.Navigation("BoardsList"); + + b.Navigation("EvidencesList"); + + b.Navigation("FileAlertsList"); + + b.Navigation("FileAndFileEmployers"); + + b.Navigation("MasterPetitionsList"); + + b.Navigation("PetitionsList"); + }); + + modelBuilder.Entity("Company.Domain.FileEmployerAgg.FileEmployer", b => + { + b.Navigation("FileAndFileEmployers"); + }); + + modelBuilder.Entity("Company.Domain.FileState.FileState", b => + { + b.Navigation("FileAlertsList"); + }); + + modelBuilder.Entity("Company.Domain.FileTiming.FileTiming", b => + { + b.Navigation("FileStates"); + }); + + modelBuilder.Entity("Company.Domain.FinancialStatmentAgg.FinancialStatment", b => + { + b.Navigation("FinancialTransactionList"); + }); + + modelBuilder.Entity("Company.Domain.GroupPlanAgg.GroupPlan", b => + { + b.Navigation("GroupPlanJobItems"); + }); + + modelBuilder.Entity("Company.Domain.HolidayAgg.Holiday", b => + { + b.Navigation("HolidayItems"); + }); + + modelBuilder.Entity("Company.Domain.InstitutionContractAgg.InstitutionContract", b => + { + b.Navigation("ContactInfoList"); + }); + + modelBuilder.Entity("Company.Domain.InsurancJobAgg.InsuranceJob", b => + { + b.Navigation("InsuranceJobItemList"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceJobItemAgg.InsuranceJobItem", b => + { + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.InsuranceListAgg.InsuranceList", b => + { + b.Navigation("InsuranceListWorkshops"); + }); + + modelBuilder.Entity("Company.Domain.JobAgg.Job", b => + { + b.Navigation("ContractsList"); + + b.Navigation("CrossJobItemsList"); + + b.Navigation("InsuranceJobAndJobs"); + }); + + modelBuilder.Entity("Company.Domain.MandatoryHoursAgg.MandatoryHours", b => + { + b.Navigation("Contracts"); + }); + + modelBuilder.Entity("Company.Domain.MasterPetition.MasterPetition", b => + { + b.Navigation("MasterPenaltyTitlesList"); + + b.Navigation("MasterWorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.ModuleAgg.EntityModule", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.OriginalTitleAgg.EntityOriginalTitle", b => + { + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.PaymentToEmployeeAgg.PaymentToEmployee", b => + { + b.Navigation("PaymentToEmployeeItemList"); + }); + + modelBuilder.Entity("Company.Domain.PercentageAgg.Percentage", b => + { + b.Navigation("DateSalaryItemList"); + }); + + modelBuilder.Entity("Company.Domain.Petition.Petition", b => + { + b.Navigation("PenaltyTitlesList"); + + b.Navigation("WorkHistoriesList"); + }); + + modelBuilder.Entity("Company.Domain.RepresentativeAgg.Representative", b => + { + b.Navigation("ContractingParties"); + + b.Navigation("FileEmployeeList"); + + b.Navigation("FileEmployerList"); + }); + + modelBuilder.Entity("Company.Domain.RollCallEmployeeAgg.RollCallEmployee", b => + { + b.Navigation("EmployeesStatus"); + }); + + modelBuilder.Entity("Company.Domain.SubtitleAgg.EntitySubtitle", b => + { + b.Navigation("Chapters"); + + b.Navigation("Subtitles"); + }); + + modelBuilder.Entity("Company.Domain.TaxLeftWorkCategoryAgg.TaxLeftWorkCategory", b => + { + b.Navigation("TaxLeftWorkItemList"); + }); + + modelBuilder.Entity("Company.Domain.TextManagerAgg.EntityTextManager", b => + { + b.Navigation("EntityModuleTextManagers"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursAgg.WorkingHours", b => + { + b.Navigation("WorkingHoursItemsList"); + }); + + modelBuilder.Entity("Company.Domain.WorkingHoursTempAgg.WorkingHoursTemp", b => + { + b.Navigation("WorkingHoursTempItemList"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopAgg.Workshop", b => + { + b.Navigation("Checkouts"); + + b.Navigation("ClientEmployeeWorkshopList"); + + b.Navigation("Contracts2"); + + b.Navigation("EmployeeInsuranceRecords"); + + b.Navigation("InsuranceListWorkshops"); + + b.Navigation("InsuranceWorkshopInfo"); + + b.Navigation("Insurances"); + + b.Navigation("LeftWorkInsurances"); + + b.Navigation("LeftWorks"); + + b.Navigation("PersonnelCodeList"); + + b.Navigation("RollCallServicesList"); + + b.Navigation("TaxLeftWorkCategoryList"); + + b.Navigation("WorkshopEmployers"); + }); + + modelBuilder.Entity("Company.Domain.WorkshopPlanAgg.WorkshopPlan", b => + { + b.Navigation("GroupPlans"); + + b.Navigation("WorkshopPlanEmployees"); + }); + + modelBuilder.Entity("Company.Domain.YearlySalaryAgg.YearlySalary", b => + { + b.Navigation("Contracts"); + + b.Navigation("YearlySalaryItemsList"); + }); + + modelBuilder.Entity("Company.Domain.empolyerAgg.Employer", b => + { + b.Navigation("Contracts"); + + b.Navigation("WorkshopEmployers"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/20240831145823_hasRollCallAdetToCheckout.cs b/CompanyManagment.EFCore/Migrations/20240831145823_hasRollCallAdetToCheckout.cs new file mode 100644 index 00000000..346eed2c --- /dev/null +++ b/CompanyManagment.EFCore/Migrations/20240831145823_hasRollCallAdetToCheckout.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace CompanyManagment.EFCore.Migrations +{ + /// + public partial class hasRollCallAdetToCheckout : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "HasRollCall", + table: "Checkouts", + type: "bit", + nullable: false, + defaultValue: false); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "HasRollCall", + table: "Checkouts"); + } + } +} diff --git a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs index 14583ae2..4b6ea95f 100644 --- a/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs +++ b/CompanyManagment.EFCore/Migrations/CompanyContextModelSnapshot.cs @@ -211,6 +211,9 @@ namespace CompanyManagment.EFCore.Migrations b.Property("FridayPay") .HasColumnType("float"); + b.Property("HasRollCall") + .HasColumnType("bit"); + b.Property("HousingAllowance") .HasColumnType("float"); diff --git a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs index 1bd0aa91..f41b6559 100644 --- a/CompanyManagment.EFCore/Repository/CheckoutRepository.cs +++ b/CompanyManagment.EFCore/Repository/CheckoutRepository.cs @@ -7,6 +7,7 @@ using _0_Framework.Application; using _0_Framework.InfraStructure; using Company.Domain.CheckoutAgg; using Company.Domain.LeftWorkAgg; +using Company.Domain.RollCallAgg; using CompanyManagment.App.Contracts.Checkout; using CompanyManagment.App.Contracts.Contract; using CompanyManagment.App.Contracts.Employee; @@ -36,10 +37,11 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos private readonly IAuthHelper _authHelper; private readonly IConfiguration _configuration; private readonly ILeftWorkRepository _leftWorkRepository; + private readonly IRollCallRepository _rollCallRepository; public CheckoutRepository(IEmployeeApplication employeeApplication, IWorkshopApplication workshopApplication, IContractApplication contractApplication, IWorkingHoursApplication workingHoursApplication, - IAuthHelper authHelper, CompanyContext context, IConfiguration configuration, ILeftWorkRepository leftWorkRepository, IWorkingHoursTempApplication workingHoursTempApplication) : base(context) + IAuthHelper authHelper, CompanyContext context, IConfiguration configuration, ILeftWorkRepository leftWorkRepository, IWorkingHoursTempApplication workingHoursTempApplication, IRollCallRepository rollCallRepository) : base(context) { _employeeApplication = employeeApplication; _workshopApplication = workshopApplication; @@ -50,6 +52,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos _configuration = configuration; _leftWorkRepository = leftWorkRepository; _workingHoursTempApplication = workingHoursTempApplication; + _rollCallRepository = rollCallRepository; } public EditCheckout GetDetails(long id) @@ -179,7 +182,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos //var result = await _context.Database.ExecuteSqlInterpolatedAsync($"EXEC InsertQuery_Checkout {id},{employeeFullName},{isActiveString},{signature},{fathersName},{nationalCode},{dateOfBirth},{employeeId},{workshopName},{workshopId},{contractNo},{contractStart},{contractEnd},{month},{year},{contractId},{workingHoursId},{monthlySalary},{baseYearsPay},{consumableItems},{housingAllowance},{overtimePay},{nightworkPay},{fridayPay},{missionPay},{shiftPay},{familyAllowance},{bonusesPay},{yearsPay},{leavePay},{insuranceDeduction},{taxDeducation},{installmentDeduction},{salaryAidDeduction},{absenceDeduction},{creationDate},{archiveCode},{personnelCode},{sumOfWorkingDays},{totalClaims},{taxDeducation},{totalPayment}"); var result = _context.Database.ExecuteSqlInterpolated( - $"EXEC InsertQuery_CreateChekoute {command.EmployeeFullName},{"true"},{command.Signature},{command.FathersName},{command.NationalCode},{command.DateOfBirth},{command.EmployeeId},{command.WorkshopName},{command.WorkshopId},{command.ContractNo},{command.ContractStart},{command.ContractEnd},{command.Month},{command.Year},{command.ContractId},{command.WorkingHoursId},{command.MonthlySalary},{command.BaseYearsPay},{command.ConsumableItems},{command.HousingAllowance},{command.OvertimePay},{command.NightworkPay},{command.FridayPay},{command.MissionPay},{command.ShiftPay},{command.FamilyAllowance},{command.BonusesPay},{command.YearsPay},{command.LeavePay},{command.InsuranceDeduction},{command.TaxDeducation},{command.InstallmentDeduction},{command.SalaryAidDeduction},{command.AbsenceDeduction},{creationDates},{command.ArchiveCode},{command.PersonnelCode},{command.SumOfWorkingDays},{command.TotalClaims},{command.TotalDeductions},{command.TotalPayment},{0},{command.MarriedAllowance},{command.AbsencePeriod},{command.AverageHoursPerDay},{command.CreditLeaves},{command.LeaveCheckout}"); + $"EXEC InsertQuery_CreateChekoute {command.EmployeeFullName},{"true"},{command.Signature},{command.FathersName},{command.NationalCode},{command.DateOfBirth},{command.EmployeeId},{command.WorkshopName},{command.WorkshopId},{command.ContractNo},{command.ContractStart},{command.ContractEnd},{command.Month},{command.Year},{command.ContractId},{command.WorkingHoursId},{command.MonthlySalary},{command.BaseYearsPay},{command.ConsumableItems},{command.HousingAllowance},{command.OvertimePay},{command.NightworkPay},{command.FridayPay},{command.MissionPay},{command.ShiftPay},{command.FamilyAllowance},{command.BonusesPay},{command.YearsPay},{command.LeavePay},{command.InsuranceDeduction},{command.TaxDeducation},{command.InstallmentDeduction},{command.SalaryAidDeduction},{command.AbsenceDeduction},{creationDates},{command.ArchiveCode},{command.PersonnelCode},{command.SumOfWorkingDays},{command.TotalClaims},{command.TotalDeductions},{command.TotalPayment},{0},{command.MarriedAllowance},{command.AbsencePeriod},{command.AverageHoursPerDay},{command.CreditLeaves},{command.LeaveCheckout},{command.HasRollCall}"); } @@ -582,6 +585,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos LeftWorkDate = "", LastDayOfWork = "", MarriedAllowance = x.MarriedAllowance.ToMoney(), + HasRollCall = x.HasRollCall }).SingleOrDefault(x => x.Id == item); var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId); ch.WorkshopName = workshopName.WorkshopName; @@ -674,6 +678,8 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos ch.TotalDeductions = ""; ch.TotalPayment = ""; } + if (ch.HasRollCall) + ch.MonthlyRollCall = _rollCallRepository.GetEmployeeRollCallsForMonth(ch.EmployeeId, ch.WorkshopId, ch.ContractStartGr, ch.ContractEndGr); query.Add(ch); } @@ -834,6 +840,7 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos LeftWorkDate = "", LastDayOfWork = "", MarriedAllowance = x.MarriedAllowance.ToMoney(), + HasRollCall = x.HasRollCall }).SingleOrDefault(x => x.Id == id); @@ -929,6 +936,9 @@ public class CheckoutRepository : RepositoryBase, ICheckoutRepos ch.TotalDeductions = ""; ch.TotalPayment = ""; } + if(ch.HasRollCall) + ch.MonthlyRollCall = _rollCallRepository.GetEmployeeRollCallsForMonth(ch.EmployeeId, ch.WorkshopId, ch.ContractStartGr, ch.ContractEndGr); + return ch; } diff --git a/CompanyManagment.EFCore/Repository/RollCallEmployeeStatusRepository.cs b/CompanyManagment.EFCore/Repository/RollCallEmployeeStatusRepository.cs index e35cc5c1..7d108fc8 100644 --- a/CompanyManagment.EFCore/Repository/RollCallEmployeeStatusRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallEmployeeStatusRepository.cs @@ -2,6 +2,7 @@ using _0_Framework.InfraStructure; using Company.Domain.RollCallEmployeeStatusAgg; using CompanyManagment.App.Contracts.RollCallEmployeeStatus; +using System; using System.Collections.Generic; using System.Linq; @@ -15,7 +16,9 @@ namespace CompanyManagment.EFCore.Repository _context = context; } - public List GetAll() + + + public List GetAll() { return _context.RollCallEmployeesStatus.Select(x => new RollCallEmployeeStatusViewModel() { diff --git a/CompanyManagment.EFCore/Repository/RollCallRepository.cs b/CompanyManagment.EFCore/Repository/RollCallRepository.cs index 18c1a62a..1890c3aa 100644 --- a/CompanyManagment.EFCore/Repository/RollCallRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallRepository.cs @@ -85,7 +85,7 @@ public class RollCallRepository : RepositoryBase, IRollCallRepos } #region Pooya //حضور غیاب فیش حقوقی - public List GetEmployeeRollCallsForDuration(long employeeId, long workshopId, DateTime startMonthDay, DateTime endMonthDay) + public List GetEmployeeRollCallsForMonth(long employeeId, long workshopId, DateTime startMonthDay, DateTime endMonthDay) { @@ -124,7 +124,7 @@ public class RollCallRepository : RepositoryBase, IRollCallRepos EndDate = null, DateTimeGr = x.Date.Date, DayOfWeek = x.Date.DayOfWeek.ToString(), - TotalWorkingHours = Convert.ToString(0), + RollCallDateFa = x.Date.ToFarsi() }); @@ -132,14 +132,24 @@ public class RollCallRepository : RepositoryBase, IRollCallRepos { StartDate = x.Min(y => y.StartDate)!.Value.ToString("HH:mm"), EndDate = x.Max(y => y.EndDate)!.Value.ToString("HH:mm"), - TotalWorkingHours = x.Where(y => y.EndDate != null).Sum(y => (y.EndDate - y.StartDate)!.Value.TotalHours).ToString("F2"), + TotalhourseSpan = new TimeSpan(x.Where(y => y.EndDate != null).Sum(y => (y.EndDate - y.StartDate)!.Value.Ticks)), DayOfWeek = x.Key.DayOfWeek.DayOfWeeKToPersian(), RollCallDateFa = x.Key.Date.ToFarsi(), DateTimeGr = x.Key.Date, IsSliced = x.Count() > 1 }); + presentDays = presentDays.Select(x => new CheckoutDailyRollCallViewModel + { + StartDate = x.StartDate, + EndDate = x.EndDate, + TotalWorkingHours = $"{Convert.ToInt32(x.TotalhourseSpan.TotalHours)}:{x.TotalhourseSpan.Minutes.ToString("00")}", + DayOfWeek = x.DayOfWeek, + RollCallDateFa = x.RollCallDateFa, + DateTimeGr = x.DateTimeGr, + IsSliced = x.IsSliced, + }); return presentDays.Concat(absentRecords).OrderBy(x => x.DateTimeGr).ToList(); diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml index b4a9027f..7d9f1980 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml @@ -345,2136 +345,2758 @@ @foreach (var items in Model.GroupPrintList) { -
-
-
-
-
+ } + else + { +
+
+
+
+
-
-
-
@items.ContractNo
-
-
-

بسمه تعالی

-

فیش حقوقی و رسید پرداخت حقوق

-
-
-
-
-
- - اینجانب   @items.EmployeeFullName - - - نام پدر: - @if (string.IsNullOrWhiteSpace(items.FathersName)) - { - "1111111111" - } - else - { - @items.FathersName - } - - - - به کد ملی:   - @if (string.IsNullOrWhiteSpace(items.NationalCode)) - { - 222333111 - } - else - { - @items.NationalCode - } - - متولد:   - @if (string.IsNullOrWhiteSpace(items.DateOfBirth)) - { - 1401/01/01 - } - else - { - @items.DateOfBirth - } - -
-
-
- - @{ - if (items.EmployerList.FirstOrDefault().IsLegal == "حقیقی") - { - پـرسنل کارگاه  @items.WorkshopName -   - به کارفرمایی   آقای/خانم -   -   - if (items.EmployerList.Count > 1) - { - - @items.EmployerList[0].EmployerFullName ، -  @items.EmployerList[1].EmployerFullName - @if (items.EmployerList.Count > 2) - { - و غیره - } - -
- } - else - { - - @items.EmployerList.FirstOrDefault().EmployerFullName - -
- } - } - else if (items.EmployerList.FirstOrDefault().IsLegal == "حقوقی") - { - پـرسنل شرکت/موسسه  @items.WorkshopName -
- } - - } - - کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن - - و همچنین عیدی و پاداش، سنوات و... - @items.Month ماه - سال @items.Year - برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. - -
- -
- - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
مطالبات کسورات
ردیف شرح مبلغ(ریال) شرح مبلغ(ریال)
1 حقوق و مزد @items.MonthlySalary حق بیمه سهم کارگر @items.InsuranceDeduction
2 پایه سنوات @items.BaseYearsPay مالیات بر حقوق @items.TaxDeducation
3 کمک هزینه اقلام مصرفی خانوار @items.ConsumableItems قسط تسهیلات @items.InstallmentDeduction
4 کمک هزینه مسکن @items.HousingAllowance مساعده @items.SalaryAidDeduction
5 فوق العاده اضافه کاری @items.OvertimePay غیبت @items.AbsenceDeduction
6 فوق العاده شب کاری @items.NightworkPay
7 فوق العاده جمعه کاری @items.FridayPay
8 فوق العاده ماموریت @items.MissionPay
9 فوق العاده نوبت کاری @items.ShiftPay
10 کمک هزینه عائله مندی @items.FamilyAllowance
11 حق تاهل @items.MarriedAllowance
12 پاداش @items.RewardPay
13 عیدی و پاداش @items.BonusesPay
14 سنوات @items.YearsPay
15 مزد مرخصی @items.LeavePay
جمع مطالبات @items.TotalClaims جمع کسورات @items.TotalDeductions
مبلغ قابل پرداخت @items.TotalPayment
-
-
-
- - - - - @if (items.CreateWorkingHoursTemp.ShiftWork == "4") - { -
-
- مقطع اول کار - مدت استراحت - مقطع دوم کار - مقطع اول کار - مدت استراحت - مقطع دوم کار - - -
-
- - -
- هفته اول - -
- - - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- هفته دوم - -
- - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - -
- -
- هفته سوم - -
- - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- هفته چهارم -
- - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
- } - else - { -
-
- -
- - - +
+
@items.ContractNo
+
+
+

بسمه تعالی

+

فیش حقوقی و رسید پرداخت حقوق

+
+
+
+
+
+ + اینجانب   @items.EmployeeFullName + + + نام پدر: + @if (string.IsNullOrWhiteSpace(items.FathersName)) + { + "1111111111" + } + else + { + @items.FathersName + } + + + + به کد ملی:   + @if (string.IsNullOrWhiteSpace(items.NationalCode)) + { + 222333111 + } + else + { + @items.NationalCode + } + + متولد:   + @if (string.IsNullOrWhiteSpace(items.DateOfBirth)) + { + 1401/01/01 + } + else + { + @items.DateOfBirth + } + +
+
+
+ + @{ + if (items.EmployerList.FirstOrDefault().IsLegal == "حقیقی") + { + پـرسنل کارگاه  @items.WorkshopName +   + به کارفرمایی   آقای/خانم +   +   + if (items.EmployerList.Count > 1) + { + + @items.EmployerList[0].EmployerFullName ، +  @items.EmployerList[1].EmployerFullName + @if (items.EmployerList.Count > 2) + { + و غیره + } + +
+ } + else + { + + @items.EmployerList.FirstOrDefault().EmployerFullName + +
+ } + } + else if (items.EmployerList.FirstOrDefault().IsLegal == "حقوقی") + { + پـرسنل شرکت/موسسه  @items.WorkshopName +
+ } + + } + + کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن + + و همچنین عیدی و پاداش، سنوات و... + @items.Month ماه + سال @items.Year + برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. + +
+ +
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
مطالبات کسورات
ردیف شرح مبلغ(ریال) شرح مبلغ(ریال)
1 حقوق و مزد @items.MonthlySalary حق بیمه سهم کارگر @items.InsuranceDeduction
2 پایه سنوات @items.BaseYearsPay مالیات بر حقوق @items.TaxDeducation
3 کمک هزینه اقلام مصرفی خانوار @items.ConsumableItems قسط تسهیلات @items.InstallmentDeduction
4 کمک هزینه مسکن @items.HousingAllowance مساعده @items.SalaryAidDeduction
5 فوق العاده اضافه کاری @items.OvertimePay غیبت @items.AbsenceDeduction
6 فوق العاده شب کاری @items.NightworkPay
7 فوق العاده جمعه کاری @items.FridayPay
8 فوق العاده ماموریت @items.MissionPay
9 فوق العاده نوبت کاری @items.ShiftPay
10 کمک هزینه عائله مندی @items.FamilyAllowance
11 حق تاهل @items.MarriedAllowance
12 پاداش @items.RewardPay
13 عیدی و پاداش @items.BonusesPay
14 سنوات @items.YearsPay
15 مزد مرخصی @items.LeavePay
جمع مطالبات @items.TotalClaims جمع کسورات @items.TotalDeductions
مبلغ قابل پرداخت @items.TotalPayment
+
+
+
+ + + + + @if (items.CreateWorkingHoursTemp.ShiftWork == "4") + { +
+
+ مقطع اول کار + مدت استراحت + مقطع دوم کار + مقطع اول کار + مدت استراحت + مقطع دوم کار + + +
+
+ + +
+ هفته اول + +
+ + + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ هفته دوم + +
+ + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+ هفته سوم + +
+ + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ هفته چهارم +
+ + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ } + else + { +
+
+ +
+ + + - - - - + + - -
+ +
-
+
-
- } +
+ } @@ -2482,66 +3104,69 @@ -
-
-
-
- @{ - if (items.IsLeft) - { - - طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب  - @items.LastDayOfWork  - بوده و قطع همکاری با کارفرما و کارگاه از تاریخ  - @items.LeftWorkDate  - می باشد - - } - } +
+
+
+
+ @{ + if (items.IsLeft) + { + + طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب  + @items.LastDayOfWork  + بوده و قطع همکاری با کارفرما و کارگاه از تاریخ  + @items.LeftWorkDate  + می باشد + + } + } -
-
-
- @*
اینجانب     @Model.EmployeeFullName
-
نام پدر:     @Model.FathersName
-
به کد ملی:  @Model.NationalCode
-
متولد:     @Model.DateOfBirth
*@ -
-
-
- @* پـرسنل شـرکت  @Model.WorkshopName -   - به کارفرمایی   آقای/خانم/شرکت    - @{ - foreach (var item in @Model.EmployerList) - { - @item.EmployerFullName ، - } - } -    - مبلغ ............. ریال را بصورت نقدی از کارفرما دریافت نمودم. *@ +
+
+
+ @*
اینجانب     @Model.EmployeeFullName
+
نام پدر:     @Model.FathersName
+
به کد ملی:  @Model.NationalCode
+
متولد:     @Model.DateOfBirth
*@ +
+
+
+ @* پـرسنل شـرکت  @Model.WorkshopName +   + به کارفرمایی   آقای/خانم/شرکت    + @{ + foreach (var item in @Model.EmployerList) + { + @item.EmployerFullName ، + } + } +    + مبلغ ............. ریال را بصورت نقدی از کارفرما دریافت نمودم. *@ +
+ +
+
+ +
+ امضاء و اثر انگشت +
+
+ +
+
+
+
+
+
+ +
- -
-
- -
- امضاء و اثر انگشت -
-
- -
- -
- -
- - - - + } + + } diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs index 47cd1818..a98a852a 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/CheckoutPrintAll.cshtml.cs @@ -207,6 +207,7 @@ public class CheckoutPrintAllModel : PageModel { CheckoutViewModels = res }; + return Partial("PrintAll", result); } diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs index a9b050c0..8f4bdaca 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/Index.cshtml.cs @@ -12,6 +12,7 @@ using CompanyManagment.App.Contracts.Leave; using CompanyManagment.App.Contracts.LeftWork; using CompanyManagment.App.Contracts.PersonalContractingParty; using CompanyManagment.App.Contracts.RollCall; +using CompanyManagment.App.Contracts.RollCallEmployeeStatus; using CompanyManagment.App.Contracts.WorkingHours; using CompanyManagment.App.Contracts.WorkingHoursItems; using CompanyManagment.App.Contracts.WorkingHoursTemp; @@ -49,6 +50,7 @@ public class IndexModel : PageModel private readonly IWorkshopApplication _workshopApplication; private readonly IYearlySalaryApplication _yearlySalaryApplication; private readonly IYearlySalaryRepository _yearlySalaryRepository; + private readonly IRollCallEmployeeStatusApplication _rollCallEmployeeStatusApp; public List chekoutlist; public List ComputingView; @@ -88,7 +90,7 @@ public class IndexModel : PageModel IPersonalContractingPartyApp personalContractingPartyApp, ILeaveApplication leaveApplication, IHubContext hubContext, IEmployeeComputeOptionsApplication employeeComputeOptionsApplication, - IRollCallMandatoryApplication rollCallMandatoryApplication) + IRollCallMandatoryApplication rollCallMandatoryApplication, IRollCallEmployeeStatusApplication rollCallEmployeeStatusApp) { _contractApplication = contractApplication; _workshopApplication = workshopApplication; @@ -110,7 +112,8 @@ public class IndexModel : PageModel _hubContext = hubContext; _employeeComputeOptionsApplication = employeeComputeOptionsApplication; _rollCallMandatoryApplication = rollCallMandatoryApplication; - } + _rollCallEmployeeStatusApp = rollCallEmployeeStatusApp; + } public string Message { get; set; } public bool falseCheck { get; set; } @@ -428,9 +431,11 @@ public class IndexModel : PageModel workingHours.EmployeeId = contract.EmployeeId; var mandatoryCompute = new ComputingViewModel(); + bool hasRollCall = _rollCallEmployeeStatusApp.HasRollCallRecord(contract.EmployeeId, + contract.WorkshopIds, + separation.ContractStartGr, separation.ContractEndGr); - if (_rollCallMandatoryApplication.HasRollCallRecord(contract.EmployeeId, contract.WorkshopIds, - separation.ContractStartGr)) + if (hasRollCall) { mandatoryCompute = _rollCallMandatoryApplication.MandatoryCompute(contract.EmployeeId, contract.WorkshopIds, @@ -589,7 +594,8 @@ public class IndexModel : PageModel FridayStarttoEnd = fridayStartToEnd, TotalHolidaysAndNotH = mandatoryCompute.TotalHolidayAndNotH, TotalHolidaysAndNotM = mandatoryCompute.TotalHolidayAndNotM, - DailFeeComplete = mandatoryCompute.DayliFeeComplete + DailFeeComplete = mandatoryCompute.DayliFeeComplete, + HasRollCall = hasRollCall, }; _checkoutApplication.Create(command); @@ -1483,10 +1489,13 @@ public class IndexModel : PageModel { var res = _checkoutApplication.PrintOne(id); - //var res = _contractApplication.PrintAll(ids); - - return Partial("Details", res); - } + //var res = _contractApplication.PrintAll(ids); + if (res.HasRollCall) + { + return Partial("PrintDetailsRollCall", res); + } + return Partial("Details", res); + } public IActionResult OnGetPrintLeave(long id) { diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml index 19787455..0927888e 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintAll.cshtml @@ -306,2196 +306,2820 @@ @foreach (var items in Model.CheckoutViewModels) { -
-
-
-
-
+ } + else + { +
+
+
+
+
-
-
-
@items.ContractNo
-
-
-

بسمه تعالی

-

فیش حقوقی و رسید پرداخت حقوق

-
-
-
-
-
- - اینجانب   @items.EmployeeFullName - - - نام پدر: - @if (string.IsNullOrWhiteSpace(items.FathersName)) - { - "1111111111" - } - else - { - @items.FathersName - } - - - - به کد ملی:   - @if (string.IsNullOrWhiteSpace(items.NationalCode)) - { - 222333111 - } - else - { - @items.NationalCode - } - - متولد:   - @if (string.IsNullOrWhiteSpace(items.DateOfBirth)) - { - 1401/01/01 - } - else - { - @items.DateOfBirth - } - -
-
-
- - @{ - if (items.EmployerList.FirstOrDefault().IsLegal == "حقیقی") - { - پـرسنل کارگاه  @items.WorkshopName -   - به کارفرمایی   آقای/خانم -   -   - if (items.EmployerList.Count > 1) - { - - @items.EmployerList[0].EmployerFullName ، -  @items.EmployerList[1].EmployerFullName - @if (items.EmployerList.Count > 2) - { - و غیره - } - -
- } - else - { - - @items.EmployerList.FirstOrDefault().EmployerFullName - -
- } - } - else if (items.EmployerList.FirstOrDefault().IsLegal == "حقوقی") - { - پـرسنل شرکت/موسسه  @items.WorkshopName -
- } - - } - - کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن - - و همچنین عیدی و پاداش، سنوات و... - @items.Month ماه - سال @items.Year - برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. - -
- -
- - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
مطالبات کسورات
ردیف شرح مبلغ(ریال) شرح مبلغ(ریال)
1 حقوق و مزد @items.MonthlySalary حق بیمه سهم کارگر @items.InsuranceDeduction
2 پایه سنوات @items.BaseYearsPay مالیات بر حقوق @items.TaxDeducation
3 کمک هزینه اقلام مصرفی خانوار @items.ConsumableItems قسط تسهیلات @items.InstallmentDeduction
4 کمک هزینه مسکن @items.HousingAllowance مساعده @items.SalaryAidDeduction
5 فوق العاده اضافه کاری @items.OvertimePay غیبت @items.AbsenceDeduction
6 فوق العاده شب کاری @items.NightworkPay
7 فوق العاده جمعه کاری @items.FridayPay
8 فوق العاده ماموریت @items.MissionPay
9 فوق العاده نوبت کاری @items.ShiftPay
10 کمک هزینه عائله مندی @items.FamilyAllowance
11 حق تاهل @items.MarriedAllowance
12 پاداش @items.RewardPay
13 عیدی و پاداش @items.BonusesPay
14 سنوات @items.YearsPay
15 مزد مرخصی @items.LeavePay
جمع مطالبات @items.TotalClaims جمع کسورات @items.TotalDeductions
مبلغ قابل پرداخت @items.TotalPayment
-
-
-
- - - @if (items.CreateWorkingHoursTemp.ShiftWork == "4") - { -
-
- مقطع اول کار - مدت استراحت - مقطع دوم کار - مقطع اول کار - مدت استراحت - مقطع دوم کار - - -
-
- - -
- هفته اول - -
- - - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- هفته دوم - -
- - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - -
- -
- هفته سوم - -
- - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - -
- هفته چهارم -
- - - شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - یکشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - دوشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- - - سه شنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - چهارشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - پنجشنبه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - جمعه - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
- } - else - { -
-
- -
- - - +
+
@items.ContractNo
+
+
+

بسمه تعالی

+

فیش حقوقی و رسید پرداخت حقوق

+
+
+
+
+
+ + اینجانب   @items.EmployeeFullName + + + نام پدر: + @if (string.IsNullOrWhiteSpace(items.FathersName)) + { + "1111111111" + } + else + { + @items.FathersName + } + + + + به کد ملی:   + @if (string.IsNullOrWhiteSpace(items.NationalCode)) + { + 222333111 + } + else + { + @items.NationalCode + } + + متولد:   + @if (string.IsNullOrWhiteSpace(items.DateOfBirth)) + { + 1401/01/01 + } + else + { + @items.DateOfBirth + } + +
+
+
+ + @{ + if (items.EmployerList.FirstOrDefault().IsLegal == "حقیقی") + { + پـرسنل کارگاه  @items.WorkshopName +   + به کارفرمایی   آقای/خانم +   +   + if (items.EmployerList.Count > 1) + { + + @items.EmployerList[0].EmployerFullName ، +  @items.EmployerList[1].EmployerFullName + @if (items.EmployerList.Count > 2) + { + و غیره + } + +
+ } + else + { + + @items.EmployerList.FirstOrDefault().EmployerFullName + +
+ } + } + else if (items.EmployerList.FirstOrDefault().IsLegal == "حقوقی") + { + پـرسنل شرکت/موسسه  @items.WorkshopName +
+ } + + } + + کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن + + و همچنین عیدی و پاداش، سنوات و... + @items.Month ماه + سال @items.Year + برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. + +
+ +
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
مطالبات کسورات
ردیف شرح مبلغ(ریال) شرح مبلغ(ریال)
1 حقوق و مزد @items.MonthlySalary حق بیمه سهم کارگر @items.InsuranceDeduction
2 پایه سنوات @items.BaseYearsPay مالیات بر حقوق @items.TaxDeducation
3 کمک هزینه اقلام مصرفی خانوار @items.ConsumableItems قسط تسهیلات @items.InstallmentDeduction
4 کمک هزینه مسکن @items.HousingAllowance مساعده @items.SalaryAidDeduction
5 فوق العاده اضافه کاری @items.OvertimePay غیبت @items.AbsenceDeduction
6 فوق العاده شب کاری @items.NightworkPay
7 فوق العاده جمعه کاری @items.FridayPay
8 فوق العاده ماموریت @items.MissionPay
9 فوق العاده نوبت کاری @items.ShiftPay
10 کمک هزینه عائله مندی @items.FamilyAllowance
11 حق تاهل @items.MarriedAllowance
12 پاداش @items.RewardPay
13 عیدی و پاداش @items.BonusesPay
14 سنوات @items.YearsPay
15 مزد مرخصی @items.LeavePay
جمع مطالبات @items.TotalClaims جمع کسورات @items.TotalDeductions
مبلغ قابل پرداخت @items.TotalPayment
+
+
+
+ + + @if (items.CreateWorkingHoursTemp.ShiftWork == "4") + { +
+
+ مقطع اول کار + مدت استراحت + مقطع دوم کار + مقطع اول کار + مدت استراحت + مقطع دوم کار + + +
+
+ + +
+ هفته اول + +
+ + + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ هفته دوم + +
+ + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+ هفته سوم + +
+ + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ هفته چهارم +
+ + + شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + یکشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + دوشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + سه شنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + چهارشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + پنجشنبه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + جمعه + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+
+ } + else + { +
+
+ +
+ + + - - - - + + - + -
-
+
+
-
- } +
+ } -
-
-
-
- @{ - if (items.IsLeft) - { - - طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب  - @items.LastDayOfWork  - بوده و قطع همکاری با کارفرما و کارگاه از تاریخ  - @items.LeftWorkDate  - می باشد - - } - } +
+
+
+
+ @{ + if (items.IsLeft) + { + + طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب  + @items.LastDayOfWork  + بوده و قطع همکاری با کارفرما و کارگاه از تاریخ  + @items.LeftWorkDate  + می باشد + + } + } -
-
-
- @*
اینجانب     @Model.EmployeeFullName
-
نام پدر:     @Model.FathersName
-
به کد ملی:  @Model.NationalCode
-
متولد:     @Model.DateOfBirth
*@ -
-
-
- @* پـرسنل شـرکت  @Model.WorkshopName -   - به کارفرمایی   آقای/خانم/شرکت    - @{ - foreach (var item in @Model.EmployerList) - { - @item.EmployerFullName ، - } - } -    - مبلغ ............. ریال را بصورت نقدی از کارفرما دریافت نمودم. *@ +
+
+
+ @*
اینجانب     @Model.EmployeeFullName
+
نام پدر:     @Model.FathersName
+
به کد ملی:  @Model.NationalCode
+
متولد:     @Model.DateOfBirth
*@ +
+
+
+ @* پـرسنل شـرکت  @Model.WorkshopName +   + به کارفرمایی   آقای/خانم/شرکت    + @{ + foreach (var item in @Model.EmployerList) + { + @item.EmployerFullName ، + } + } +    + مبلغ ............. ریال را بصورت نقدی از کارفرما دریافت نمودم. *@ +
+ +
+
+ +
+ امضاء و اثر انگشت +
+
+ +
+
+
+
+
-
- -
- امضاء و اثر انگشت -
-
-
-
-
- -
-
- -
- + } + } diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintDetailsRollCall.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintDetailsRollCall.cshtml new file mode 100644 index 00000000..2fd70151 --- /dev/null +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/PrintDetailsRollCall.cshtml @@ -0,0 +1,482 @@ +@using _0_Framework.Application +@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel +@{ + +} + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailsRollCallRaw.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailsRollCallRaw.cshtml new file mode 100644 index 00000000..455adb6e --- /dev/null +++ b/ServiceHost/Areas/Admin/Pages/Company/Checkouts/_Partials/PrintDetailsRollCallRaw.cshtml @@ -0,0 +1,468 @@ +@using _0_Framework.Application +@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel + + + +
+
+
+
+
+
+
@Model.ContractNo
+
+

بسمه تعالی

+

فیش حقوقی و رسید پرداخت حقوق

+
+
+
+
+
+ اینجانب   @Model.EmployeeFullName + + نام پدر: + @if (string.IsNullOrWhiteSpace(@Model.FathersName)) + { + "1111111111" + } + else + { + @Model.FathersName + + } + + + + به کد ملی:   + @if (string.IsNullOrWhiteSpace(@Model.NationalCode)) + { + 222333111 + } + else + { + @Model.NationalCode + } + + متولد:   + @if (string.IsNullOrWhiteSpace(@Model.DateOfBirth)) + { + 1401/01/01 + } + else + { + @Model.DateOfBirth + } + + + +
+
+
+ + @{ + if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی") + { + پـرسنل کارگاه  @Model.WorkshopName +   + به کارفرمایی   آقای/خانم +   +   + if (@Model.EmployerList.Count > 1) + { + + @Model.EmployerList[0].EmployerFullName ، +  @Model.EmployerList[1].EmployerFullName + @if (@Model.EmployerList.Count > 2) + { + و غیره + } + +
+ } + else + { + + @Model.EmployerList.FirstOrDefault().EmployerFullName + +
+ } + + } + else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی") + { + پـرسنل شرکت/موسسه  @Model.WorkshopName +
+ } + + } + + کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن + + و همچنین عیدی و پاداش، سنوات و... + @Model.Month ماه + سال @Model.Year + برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. + +
+ +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
مطالبات کسورات
ردیف شرح ساعت/روز/تعداد مبلغ(ریال) شرح ساعت/روز/تعداد مبلغ(ریال)
1 حقوق و مزد - @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) حق بیمه سهم کارگر - @(Model.InsuranceDeduction == "0" ? "-" : Model.InsuranceDeduction)
2 پایه سنوات - @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) مالیات بر حقوق - @(Model.TaxDeducation == "0" ? "-" : Model.TaxDeducation)
3 کمک هزینه اقلام مصرفی خانوار - @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) قسط تسهیلات - @(Model.InstallmentDeduction == "0" ? "-" : Model.InstallmentDeduction)
4 کمک هزینه مسکن - @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) مساعده - @(Model.SalaryAidDeduction == "0" ? "-" : Model.SalaryAidDeduction)
5 فوق العاده اضافه کاری - @(Model.OvertimePay == "0" ? "-" : Model.OvertimePay) غیبت - @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction)
6 فوق العاده شب کاری - @(Model.NightworkPay == "0" ? "-" : Model.NightworkPay)
7 فوق العاده جمعه کاری - @(Model.FridayPay == "0" ? "-" : Model.FridayPay)
8 فوق العاده ماموریت - @(Model.MissionPay == "0" ? "-" : Model.MissionPay)
9 فوق العاده نوبت کاری - @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay)
10 کمک هزینه عائله مندی - @(Model.FamilyAllowance == "0" ? "-" : Model.FamilyAllowance)
11 حق تاهل - @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance)
12 پاداش - @(Model.RewardPay == "0" ? "-" : Model.RewardPay)
13 عیدی و پاداش - @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay)
14 سنوات - @(Model.YearsPay == "0" ? "-" : Model.YearsPay)
15 مزد مرخصی - @(Model.LeavePay == "0" ? "-" : Model.LeavePay)
جمع مطالبات - @(Model.TotalClaims == "0" ? "-" : Model.TotalClaims) جمع کسورات - @(Model.TotalDeductions == "0" ? "-" : Model.TotalDeductions)
مبلغ قابل پرداخت @(Model.TotalPayment == "0" ? "-" : Model.TotalPayment)
+
+
+ +
+
+
+ + + + + + + + + + + + @for (int i = 0; i < 15; i++) + { + + + + + + + + } + +
تاریخساعت ورودساعت خروجمنقطعساعت کارکرد
@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()@Model.MonthlyRollCall[i].StartDate@Model.MonthlyRollCall[i].EndDate + @if (@Model.MonthlyRollCall[i].IsSliced) + { + + + + + } + else + { + + + + + + } + @Model.MonthlyRollCall[i].TotalWorkingHours
+
+
+ + + + + + + + + + + + @{ + Model.MonthlyRollCall = Model.MonthlyRollCall.Skip(15).ToList(); + } + @foreach (var day in Model.MonthlyRollCall) + { + + + + + + + + } + +
تاریخساعت ورودساعت خروجمنقطعساعت کارکرد
@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()@day.StartDate@day.EndDate + @if (day.IsSliced) + { + + + + + } + else + { + + + + + + } + @day.TotalWorkingHours
+
+
+
+ +
+
+
+ @{ + if (Model.IsLeft) + { + + طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب  + @Model.LastDayOfWork صدیقه محمدنژاداسطلخ جان  + بوده و قطع همکاری با کارفرما و کارگاه از تاریخ  + @Model.LeftWorkDate 1359/07/01  + می باشد + + } + } + +
+
+
+ @*
اینجانب     @Model.EmployeeFullName
+
نام پدر:     @Model.FathersName
+
به کد ملی:  @Model.NationalCode
+
متولد:     @Model.DateOfBirth
*@ +
+
+
+ @* پـرسنل شـرکت  @Model.WorkshopName +   + به کارفرمایی   آقای/خانم/شرکت    + @{ + foreach (var item in @Model.EmployerList) + { + @item.EmployerFullName ، + } + } +    + مبلغ ............. ریال را بصورت نقدی از کارفرما دریافت نمودم. *@ + + + +
+ +
+ +
+ +
+
+
+ اثر انگشت +
+
+ امضاء +
+
+
+ +
+ +
+
+
+ +
+
+ +
+
+
+ + + + + + + + diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/Task/CreateModal.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/Task/CreateModal.cshtml index 91640267..359c9586 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/Task/CreateModal.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/Task/CreateModal.cshtml @@ -1,9 +1,10 @@ @model AccountManagement.Application.Contracts.Task.CreateTaskModal @* @model ServiceHost.Areas.AdminNew.Pages.Company.Task.CreateModel *@ +@inject _0_Framework.Application.IAuthHelper AuthHelper; @using Version = _0_Framework.Application.Version @{ - ViewData["title"] = " - وظیفه جدید"; + ViewData["title"] = " - وظیفه جدید"; } @@ -14,301 +15,301 @@ + - + - - + + @*