275 lines
8.6 KiB
C#
275 lines
8.6 KiB
C#
using _0_Framework.Application;
|
|
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
|
using CompanyManagment.App.Contracts.Employee;
|
|
using CompanyManagment.App.Contracts.Workshop;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
using System.Security.Claims;
|
|
|
|
namespace ServiceHost.Areas.AdminNew.Pages.Company.RollCall
|
|
{
|
|
public class GroupingModel : PageModel
|
|
{
|
|
private readonly IPasswordHasher _passwordHasher;
|
|
private readonly IWorkshopApplication _workshopApplication;
|
|
private readonly IEmployeeApplication _employeeApplication;
|
|
private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication;
|
|
private readonly IHttpContextAccessor _contextAccessor;
|
|
private readonly IAuthHelper _authHelper;
|
|
|
|
public long WorkshopId;
|
|
public string WorkshopFullName;
|
|
public CustomizeWorkshopSettingsViewModel RollCallWorkshopSettings;
|
|
|
|
public GroupingModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper)
|
|
{
|
|
_passwordHasher = passwordHasher;
|
|
_workshopApplication = workshopApplication;
|
|
_customizeWorkshopSettingsApplication = rollCallWorkshopSettingsApplication;
|
|
_employeeApplication = employeeApplication;
|
|
_contextAccessor = contextAccessor;
|
|
_authHelper = authHelper;
|
|
}
|
|
|
|
public IActionResult OnGet(long workshopId)
|
|
{
|
|
//if (_workshopId != 11)
|
|
// return Redirect("/AdminNew/Company/RollCall");
|
|
|
|
WorkshopId = workshopId;
|
|
var workshop = _workshopApplication.GetWorkshopInfo(workshopId);
|
|
WorkshopFullName = workshop.WorkshopFullName;
|
|
|
|
var account = new AuthViewModel()
|
|
{
|
|
WorkshopList =
|
|
[
|
|
new WorkshopClaim
|
|
{
|
|
Id = workshop.Id,
|
|
Name = workshop.WorkshopFullName,
|
|
PersonnelCount = workshop.PersonnelCount,
|
|
Slug = workshop.Slug }
|
|
]
|
|
};
|
|
|
|
|
|
RollCallWorkshopSettings = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(workshopId, account);
|
|
if (RollCallWorkshopSettings.Id == 0)
|
|
{
|
|
return Redirect("/AdminNew/Company/RollCall");
|
|
}
|
|
|
|
return Page();
|
|
}
|
|
|
|
public IActionResult OnGetWorkshopSettingsDataAjax(long workshopId)
|
|
{
|
|
//var account = _authHelper.CurrentAccountInfo();
|
|
var workshop = _workshopApplication.GetWorkshopInfo(workshopId);
|
|
var account = new AuthViewModel()
|
|
{
|
|
WorkshopList =
|
|
[
|
|
new WorkshopClaim
|
|
{
|
|
Id = workshop.Id,
|
|
Name = workshop.WorkshopFullName,
|
|
PersonnelCount = workshop.PersonnelCount,
|
|
Slug = workshop.Slug }
|
|
]
|
|
};
|
|
|
|
var result = _customizeWorkshopSettingsApplication.GetWorkshopSettingsByWorkshopId(workshopId, account);
|
|
return new JsonResult(new
|
|
{
|
|
isSuccedded = true,
|
|
data = result
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetEmployeesGroupAjax(long groupId)
|
|
{
|
|
var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId);
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = result
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetCreateGroup(long workshopSettingId)
|
|
{
|
|
var command = new CreateCustomizeWorkshopGroupSettings
|
|
{
|
|
CustomizeWorkshopSettingId = workshopSettingId
|
|
};
|
|
return Partial("ModalCreateGroup", command);
|
|
}
|
|
|
|
public IActionResult OnPostCreateGroup(CreateCustomizeWorkshopGroupSettings command)
|
|
{
|
|
command.Salary = "0";
|
|
OperationResult result = _customizeWorkshopSettingsApplication.CreateGroupSettingsByRollCallWorkshopSettingId(command);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetEditGroup(long groupId)
|
|
{
|
|
var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId);
|
|
|
|
command.IsShiftChanged = _customizeWorkshopSettingsApplication
|
|
.GetEmployeeSettingsByGroupSettingsId(groupId)
|
|
.Any(x => x.IsSettingChanged == true);
|
|
return Partial("ModalEditGroup", command);
|
|
}
|
|
|
|
public IActionResult OnPostEditGroup(EditCustomizeWorkshopGroupSettings command)
|
|
{
|
|
var result = _customizeWorkshopSettingsApplication.EditSimpleRollCallGroupSetting(command);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetEmployeeIsChangeList(long groupId)
|
|
{
|
|
var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId)
|
|
.Where(x => x.IsSettingChanged).ToList();
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = result
|
|
});
|
|
}
|
|
|
|
public IActionResult OnPostDeleteGroup(long groupId)
|
|
{
|
|
var result = _customizeWorkshopSettingsApplication.RemoveGroupSettings(groupId);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetEmployeeGroupAjax(long rollCallWorkshopSettingId)
|
|
{
|
|
var result = _customizeWorkshopSettingsApplication.GetEmployeesWithoutGroup(rollCallWorkshopSettingId);
|
|
return new JsonResult(new
|
|
{
|
|
success = true,
|
|
data = result
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetCreateEmployee(long workshopSettingId, long groupId)
|
|
{
|
|
var command = new CreateCustomizeEmployeeSettings()
|
|
{
|
|
WorkshopSettingId = workshopSettingId,
|
|
GroupId = groupId
|
|
};
|
|
|
|
return Partial("ModalAddEmployeeToGroup", command);
|
|
}
|
|
|
|
public IActionResult OnPostCreateEmployee(CreateCustomizeEmployeeSettings command, long workshopId)
|
|
{
|
|
command.WorkshopId = workshopId;
|
|
OperationResult result = _customizeWorkshopSettingsApplication.CreateEmployeeSettings(command);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnPostRemoveEmployee(long employeeId, long groupId, long workshopId)
|
|
{
|
|
OperationResult result = _customizeWorkshopSettingsApplication.RemoveEmployeeFromRollCallWorkshopGroup(employeeId, groupId, workshopId);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
public IActionResult OnGetEditEmployee(long groupId, List<long> employeeId, long workshopId)
|
|
{
|
|
var employee = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByEmployeeIdGroupSettingsId(workshopId, employeeId.First());
|
|
var command = new EditCustomizeEmployeeSettings()
|
|
{
|
|
Id = employee.Id,
|
|
EmployeeIds = employeeId,
|
|
EmployeeFullName = employee.EmployeeFullName,
|
|
Salary = employee.Salary.ToMoney(),
|
|
NameGroup = employee.Name,
|
|
ShiftViewModel = employee.RollCallWorkshopShifts,
|
|
BreakTime = employee.BreakTime,
|
|
WorkshopShiftStatus = employee.WorkshopShiftStatus,
|
|
IrregularShift = employee.IrregularShift
|
|
};
|
|
return Partial("ModalEditEmployeeFromGroup", command);
|
|
}
|
|
|
|
public IActionResult OnPostChangeEditEmployee(EditCustomizeEmployeeSettings command, long workshopId)
|
|
{
|
|
command.WorkshopId = workshopId;
|
|
OperationResult result = _customizeWorkshopSettingsApplication.EditSimpleRollCallEmployeeSetting(command);
|
|
return new JsonResult(new
|
|
{
|
|
success = result.IsSuccedded,
|
|
message = result.Message
|
|
});
|
|
}
|
|
|
|
// public IActionResult OnGetGroupingSetting(long groupId)
|
|
// {
|
|
// var command = _customizeWorkshopSettingsApplication.GetCustomizeWorkshopGroupSettingsDetails(groupId);
|
|
|
|
// return Partial("ModalSettingGroup", command);
|
|
//}
|
|
|
|
// public IActionResult OnPostGroupingSetting(EditCustomizeWorkshopGroupSettings command)
|
|
// {
|
|
// command.EmployeeIds = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(command.Id).Select(x => x.EmployeeId).ToList();
|
|
// OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallGroupSetting(command);
|
|
|
|
// return new JsonResult(new
|
|
// {
|
|
// isSuccess = result.IsSuccedded,
|
|
// message = result.Message
|
|
// });
|
|
//}
|
|
|
|
//public IActionResult OnGetGroupingEmployeeSetting(long customizeEmployeeId, List<long> employeeId)
|
|
// {
|
|
// var command = _customizeWorkshopSettingsApplication.GetCustomizeEmployeeSettingsDetails(customizeEmployeeId);
|
|
// command.EmployeeIds = employeeId;
|
|
|
|
// return Partial("ModalSettingGroupEmployee", command);
|
|
// }
|
|
|
|
// public IActionResult OnPostGroupingEmployeeSetting(EditCustomizeEmployeeSettings command)
|
|
// {
|
|
// command.WorkshopId = _workshopId;
|
|
// OperationResult result = _customizeWorkshopSettingsApplication.EditRollCallEmployeeSettings(command);
|
|
|
|
// return new JsonResult(new
|
|
// {
|
|
// isSuccess = result.IsSuccedded,
|
|
// message = result.Message
|
|
// });
|
|
//}
|
|
}
|
|
}
|