196 lines
6.8 KiB
C#
196 lines
6.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
|
|
namespace Chruch.Net.Controllers
|
|
{
|
|
public class _BaseController : Controller
|
|
{
|
|
|
|
#region 列舉行別宣告
|
|
protected enum MessageType
|
|
{
|
|
Warring,
|
|
Done,
|
|
Success,
|
|
Errors,
|
|
None
|
|
}
|
|
protected enum CRUDType
|
|
{
|
|
None,
|
|
Processing,
|
|
Create,
|
|
Update,
|
|
Delete
|
|
}
|
|
protected enum Active
|
|
{
|
|
Processing,
|
|
Reading,
|
|
Adding,
|
|
Editing
|
|
}
|
|
|
|
#endregion
|
|
|
|
private string ResultMessage
|
|
{
|
|
get
|
|
{
|
|
if (System.Web.HttpContext.Current.Session["ResultMessage"] != null)
|
|
{
|
|
return System.Web.HttpContext.Current.Session["ResultMessage"].ToString();
|
|
}
|
|
return "";
|
|
}
|
|
set
|
|
{
|
|
System.Web.HttpContext.Current.Session["ResultMessage"] = value;
|
|
}
|
|
}
|
|
protected string ConnString
|
|
{
|
|
get
|
|
{
|
|
if (System.Web.HttpContext.Current.Session["ConnString"] != null)
|
|
{
|
|
return System.Web.HttpContext.Current.Session["ConnString"].ToString();
|
|
}
|
|
ConnString= System.Configuration.ConfigurationManager.ConnectionStrings["entityFramework"].ConnectionString;
|
|
return ConnString;
|
|
}
|
|
set
|
|
{
|
|
System.Web.HttpContext.Current.Session["ConnString"] = value;
|
|
}
|
|
}
|
|
|
|
protected override void OnActionExecuted(ActionExecutedContext filterContext)
|
|
{
|
|
if (!filterContext.HttpContext.Request.IsAjaxRequest())
|
|
{
|
|
var response = filterContext.HttpContext.Response;
|
|
if (response.ContentType == "text/html" &&
|
|
!(filterContext.Result is RedirectToRouteResult) &&
|
|
!(filterContext.Result is RedirectResult))
|
|
{
|
|
if (!string.IsNullOrEmpty(ResultMessage))
|
|
{
|
|
ViewBag.StartScript = ResultMessage;
|
|
ResultMessage = "";
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
#region MessageBox
|
|
|
|
|
|
protected void ShowScriptMsg(string description, MessageType MsType = MessageType.None)
|
|
{
|
|
ShowScriptMsg(description, "", MsType);
|
|
}
|
|
|
|
protected void ShowScriptMsg(string descritpion, string title, MessageType MsType = MessageType.None)
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
title = title.Replace(Environment.NewLine, "<br>").Replace("'", "\"");
|
|
descritpion = descritpion.Replace(Environment.NewLine, "<br>").Replace("'", "\"");
|
|
stringBuilder.AppendLine(" swal({ ");
|
|
if (!string.IsNullOrWhiteSpace(descritpion))
|
|
{
|
|
stringBuilder.AppendLine($" html: '{descritpion}', ");
|
|
}
|
|
switch (MsType)
|
|
{
|
|
case MessageType.Success:
|
|
stringBuilder.AppendLine($" title: '{title} {LanHelper.GetText("Success")}', ");
|
|
stringBuilder.AppendLine(" type: \"success\" ");
|
|
break;
|
|
case MessageType.Warring:
|
|
stringBuilder.AppendLine($" title: '{title} {LanHelper.GetText("Warning")}', ");
|
|
stringBuilder.AppendLine(" type: \"warning\" ");
|
|
break;
|
|
case MessageType.Errors:
|
|
stringBuilder.AppendLine($" title: '{title} {LanHelper.GetText("Fail")}', ");
|
|
stringBuilder.AppendLine(" type: \"error\" ");
|
|
break;
|
|
case MessageType.Done:
|
|
stringBuilder.AppendLine($" title: '{title} {LanHelper.GetText("Done")}', ");
|
|
stringBuilder.AppendLine(" type: \"success\" ");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
stringBuilder.AppendLine("}); ");
|
|
|
|
ResultMessage = stringBuilder.ToString();
|
|
}
|
|
protected void ShowScriptMsgAndRedirect(string descritpion, string url, MessageType MsType = MessageType.None)
|
|
{
|
|
ShowScriptMsgAndRedirect(descritpion, "", url, MsType);
|
|
|
|
}
|
|
|
|
protected void ShowScriptMsgAndRedirect(string descritpion, string title, string url, MessageType MsType = MessageType.None)
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
title = title.Replace(Environment.NewLine, "<br>").Replace("'", "\"");
|
|
descritpion = descritpion.Replace(Environment.NewLine, "<br>").Replace("'", "\"");
|
|
stringBuilder.AppendLine(" swal({ ");
|
|
if (!string.IsNullOrWhiteSpace(descritpion))
|
|
{
|
|
stringBuilder.AppendLine($" html: '{descritpion}', ");
|
|
}
|
|
switch (MsType)
|
|
{
|
|
case MessageType.Success:
|
|
|
|
stringBuilder.AppendLine($" title: \"{title} {LanHelper.GetText("Success")}\", ");
|
|
stringBuilder.AppendLine(" type: \"success\" ");
|
|
break;
|
|
case MessageType.Warring:
|
|
stringBuilder.AppendLine($" title: \"{title} {LanHelper.GetText("Warning")}\", ");
|
|
stringBuilder.AppendLine(" type: \"warning\" ");
|
|
break;
|
|
case MessageType.Errors:
|
|
stringBuilder.AppendLine($" title: \"{title} {LanHelper.GetText("Fail")}\", ");
|
|
stringBuilder.AppendLine(" type: \"error\" ");
|
|
break;
|
|
case MessageType.Done:
|
|
stringBuilder.AppendLine($" title: \"{title} {LanHelper.GetText("Done")}\", ");
|
|
stringBuilder.AppendLine(" type: \"success\" ");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
stringBuilder.Append("}).then(function () {");
|
|
stringBuilder.Append("$.ShowP;");
|
|
stringBuilder.Append($"window.location.href = '{url}';");
|
|
stringBuilder.Append("});");
|
|
ResultMessage = stringBuilder.ToString();
|
|
|
|
}
|
|
|
|
protected void ShowMsgByEx(Exception ex)
|
|
{
|
|
if (ex.GetType() == typeof(ArgumentException))
|
|
{
|
|
|
|
ShowScriptMsg(LanHelper.GetText(ex.Message), "", MessageType.Warring);
|
|
}
|
|
else
|
|
{
|
|
ShowScriptMsg(ex.Message, "", MessageType.Errors);
|
|
}
|
|
}
|
|
|
|
|
|
#endregion
|
|
}
|
|
} |