private JsonResult Message(Utilities.JSONMessageObject message)
 {
     if (JsonpCallback != string.Empty)
     {
         return new Utilities.Services.JsonpResult(JsonpCallback)
                {
                    Data = message, ContentType = "application/javascript", JsonRequestBehavior = JsonRequestBehavior.AllowGet
                }
     }
     ;
     else
     {
         return new JsonResult()
                {
                    Data = message, ContentType = "application/json", JsonRequestBehavior = JsonRequestBehavior.AllowGet
                }
     };
 }
        private void OutputMessage(Utilities.JSONMessageObject data)
        {
            data.LoggedIn = false;
            data.IsAdmin  = false;
            data.Success  = false;

            Response.StatusCode = 200;

            if (Request.ContentType.ToLower().Contains("application/json"))
            {
                Response.ContentType = "application/json; charset=utf-8";
                Response.Write(data.toJSON());
            }
            else if (Request.ContentType.ToLower().Contains("application/jsonp") ||
                     Request.QueryString.AllKeys.Contains(Controllers.BaseController.DEFAULT_JSONP_CALLBACK_PARAMETER))
            {
                Response.ContentType = "application/javascript; charset=utf-8";
                Response.Write(Request.QueryString[Controllers.BaseController.DEFAULT_JSONP_CALLBACK_PARAMETER].ToString() + "(" + data.toJSON() + ");");
            }
            else
            {
                Response.ContentType = "text/html; charset=utf-8";
                System.Text.StringBuilder MessageBuilder = new System.Text.StringBuilder();
                if (data.ServerExceptions.Count > 0)
                {
                    MessageBuilder.Append("<h2>Server Exceptions</h2><ul>");
                    foreach (var Exception in data.ServerExceptions)
                    {
                        MessageBuilder.Append("<li>" + Exception.Message + "</li>");
                    }
                }
                if (data.ClientExceptions.Count > 0)
                {
                    MessageBuilder.Append("<h2>Client Exceptions</h2><ul>");
                    foreach (var Exception in data.ClientExceptions)
                    {
                        MessageBuilder.Append("<li>" + Exception.Number + ": <b>" + Exception.Source + "</b> caused error: " + Exception.Message + ", value: " + Exception.Value + "</li>");
                    }
                }

                Response.Write(String.Format(System.IO.File.ReadAllText(Server.MapPath("/Content/error.htm")), MessageBuilder.ToString()));
            }
        }