82 lines
3.4 KiB
C#
82 lines
3.4 KiB
C#
using _0_Framework.Application;
|
|
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
|
using CompanyManagment.App.Contracts.Error;
|
|
using CompanyManagment.App.Contracts.RollCallService;
|
|
using CompanyManagment.App.Contracts.Workshop;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc.RazorPages;
|
|
using System.Security.Claims;
|
|
using _0_Framework.Infrastructure;
|
|
|
|
namespace ServiceHost.Areas.Client.Pages.Company.CustomizeCheckout
|
|
{
|
|
[Authorize]
|
|
[NeedsPermission(SubAccountPermissionHelper.CustomizeCheckoutOperationsPermissionCode)]
|
|
public class IndexModel : PageModel
|
|
{
|
|
private IPasswordHasher _passwordHasher;
|
|
private IWorkshopApplication _workshopApplication;
|
|
private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication;
|
|
private readonly IRollCallServiceApplication _rollCallServiceApplication;
|
|
private readonly IHttpContextAccessor _contextAccessor;
|
|
private readonly long _workshopId;
|
|
private readonly IAuthHelper _authHelper;
|
|
public IndexModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IRollCallServiceApplication rollCallServiceApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper)
|
|
{
|
|
_passwordHasher = passwordHasher;
|
|
_workshopApplication = workshopApplication;
|
|
_customizeWorkshopSettingsApplication = customizeWorkshopSettingsApplication;
|
|
_rollCallServiceApplication = rollCallServiceApplication;
|
|
_contextAccessor = contextAccessor;
|
|
_authHelper = authHelper;
|
|
|
|
var workshopHash = _authHelper.GetWorkshopSlug();
|
|
_workshopId = _passwordHasher.SlugDecrypt(workshopHash);
|
|
|
|
if (_workshopId < 1)
|
|
throw new InvalidDataException("اختلال در کارگاه");
|
|
}
|
|
|
|
public string HasCustomizeCheckoutService;
|
|
public string WorkshopFullName;
|
|
|
|
public IActionResult OnGet()
|
|
{
|
|
HasCustomizeCheckoutService = _rollCallServiceApplication.GetActiveServiceByWorkshopId(_workshopId)?.HasCustomizeCheckoutService;
|
|
|
|
var workshopInfo = _workshopApplication.GetWorkshopInfo(_workshopId);
|
|
WorkshopFullName = _authHelper.GetWorkshopName();
|
|
|
|
return Page();
|
|
}
|
|
|
|
public IActionResult OnGetModalSettingRollCall()
|
|
{
|
|
var command = _customizeWorkshopSettingsApplication.GetWorkshopSettingsDetails(_workshopId);
|
|
|
|
if (command.Id == 0)
|
|
{
|
|
var resultError = new ErrorViewModel()
|
|
{
|
|
Message = "شما تنظیماتی مربوط به کارگاه را تنظیم نکرده اید."
|
|
};
|
|
return Partial("../Error/_ErrorModal", resultError);
|
|
}
|
|
|
|
return Partial("ModalSetting", command);
|
|
}
|
|
|
|
public IActionResult OnPostSaveCustomWorkshopSettings(EditCustomizeWorkshopSettings command, bool isAllGroupChanged)
|
|
{
|
|
var result = _customizeWorkshopSettingsApplication.EditWorkshopSetting(command, isAllGroupChanged);
|
|
|
|
return new JsonResult(new
|
|
{
|
|
isSuccess = result.IsSuccedded,
|
|
message = result.Message,
|
|
});
|
|
}
|
|
}
|
|
}
|