Files
Backend-Api/ServiceHost/Areas/Admin/Pages/Company/SmsResult/SmsSettings.cshtml.cs
2025-11-18 15:10:32 +03:30

208 lines
7.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using _0_Framework.Application.Enums;
using Company.Domain.SmsResultAgg;
using CompanyManagment.App.Contracts.InstitutionContract;
using CompanyManagment.App.Contracts.Module;
using CompanyManagment.App.Contracts.SmsResult;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using ServiceHost.Areas.Admin.Pages.Company.Bill;
namespace ServiceHost.Areas.Admin.Pages.Company.SmsResult
{
public class SmsSettingsModel : PageModel
{
private readonly ISmsSettingApplication _smsSettingApplication;
public SmsSettingsModel(ISmsSettingApplication smsSettingApplication)
{
_smsSettingApplication = smsSettingApplication;
}
public void OnGet()
{
}
//=================================== ایجاد ========================================//
#region Create
/// <summary>
/// لود مدال ایجاد پیامک خودکار
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetCreateSmsSetting(TypeOfSmsSetting typeOfSmsSetting)
{
var createModel = new CreateSmsSetting();
createModel.TypeOfSmsSetting = typeOfSmsSetting;
return Partial("_SmsSettingPartials/_CreateSmsSetting", createModel);
}
/// <summary>
/// ذخیره مدال ایجاد پیامک خودکار
/// </summary>
/// <param name="dayOfMonth"></param>
/// <param name="timeOfDay"></param>
/// <param name="typeOfSmsSetting"></param>
/// <returns></returns>
public async Task<JsonResult> OnPostCreateSmsSetting(int dayOfMonth, string timeOfDay, TypeOfSmsSetting typeOfSmsSetting)
{
var result = await _smsSettingApplication.CreateSmsSetting(dayOfMonth, timeOfDay, typeOfSmsSetting);
return new JsonResult(new
{
isSuccess = result.IsSuccedded,
message = result.Message
});
}
#endregion
//=================================== ویرایش ========================================//
#region Edit
/// <summary>
/// لود مدال ویرایش پیامک خودکار
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetEditSmsSettings(long id, TypeOfSmsSetting typeOfSmsSetting)
{
var editModel = await _smsSettingApplication.GetSmsSettingToEdit(id);
return Partial("_SmsSettingPartials/_EditSmsSetting", editModel);
}
/// <summary>
/// ذخیره مودال ویرایش پیامک خودکار
/// </summary>
/// <param name="id"></param>
/// <param name="typeOfSmsSetting"></param>
/// <returns></returns>
public async Task<JsonResult> OnPostEditSmsSettings(EditSmsSetting command)
{
var result = await _smsSettingApplication.EditeSmsSetting(command);
return new JsonResult(new
{
isSuccess = result.IsSuccedded,
message = result.Message
});
}
#endregion
//=================================== حذف ========================================//
/// <summary>
/// حذف از دیتابیس
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public async Task<IActionResult> OnGetRemoveSetting(long id)
{
try
{
await _smsSettingApplication.RemoveSetting(id);
return new JsonResult(new
{
isSuccess = true,
message = "حذف شد"
});
}
catch (Exception e)
{
return new JsonResult(new
{
isSuccess = false,
message = "خطا در حذف اطلاعات"
});
}
}
//=================================== ارسال آنی ========================================//
/// <summary>
/// لود مودال ارسال پیامک
/// </summary>
/// <param name="typeOfSmsSetting"></param>
/// <returns></returns>
public async Task<IActionResult> OnGetInstantSendSms(TypeOfSmsSetting typeOfSmsSetting)
{
return Partial("_SmsSettingPartials/InstantSms");
}
/// <summary>
/// لود دیتای ارسال پیامک آنی
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetInstantReminderSendSms()
{
var dataModel = await _smsSettingApplication.GetSmsListData(TypeOfSmsSetting.InstitutionContractDebtReminder);
return Partial("_SmsSettingPartials/_InstantReminderSms", dataModel);
}
/// <summary>
/// ارسال پیامک آنی
/// </summary>
/// <returns></returns>
public async Task<JsonResult> OnPostInstantReminderSendSms([FromBody] List<SmsListData> command)
{
var result = await _smsSettingApplication.InstantSendReminderSms(command);
return new JsonResult(new
{
isSuccess = result.IsSuccedded,
message = result.Message
});
}
//=================================== تب ها ========================================//
#region Tabs
/// <summary>
/// تب پیامک یادآور
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetInstitutionContractDebtReminderTab()
{
var modelData = await _smsSettingApplication.GetSmsSettingsByType(TypeOfSmsSetting.InstitutionContractDebtReminder);
return Partial("_SmsSettingPartials/ReminderSmsListData", modelData);
}
/// <summary>
/// تب پیامک مسدودی
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetBlockContractingPartyTab()
{
var modelData = await _smsSettingApplication.GetSmsSettingsByType(TypeOfSmsSetting.BlockContractingParty);
return Partial("_SmsSettingPartials/BlockSmsListData", modelData);
}
/// <summary>
/// تب پیامک اقدام قضائی
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetLegalActionTab()
{
var modelData = await _smsSettingApplication.GetSmsSettingsByType(TypeOfSmsSetting.LegalAction);
return Partial("_SmsSettingPartials/LegalActionSmsListData", modelData);
}
/// <summary>
/// تب پیامک هشدار قضایی
/// </summary>
/// <returns></returns>
public async Task<IActionResult> OnGetWarningTab()
{
var modelData = await _smsSettingApplication.GetSmsSettingsByType(TypeOfSmsSetting.Warning);
return Partial("_SmsSettingPartials/WarningSmsListData", modelData);
}
#endregion
}
}