Files
Backend-Api/ServiceHost/Areas/Client/Pages/Company/CustomizeCheckout/Index.cshtml.cs

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