Files
Backend-Api/ServiceHost/Areas/AdminNew/Pages/Company/RollCall/Grouping.cshtml.cs

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
// });
//}
}
}