using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Resources;
using System.Drawing;
using Newtonsoft.Json;
using Gs.DevApp.Models;
using System.Windows.Forms;
namespace Gs.DevApp.ToolBox
{
///
/// 通用类
///
public class UtilityHelper
{
private static string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString();
///
/// httpPost访问服务
///
/// 服务地址
/// 方法名称
/// 参数
///
public static string HttpPost(string url, string meth, string param)
{
if (string.IsNullOrEmpty(url))
url = WebApiUrl;
url += meth;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Headers.Add("token", GetBasicAuthTicket());
request.Accept = "*/*";
request.Timeout = 15000;
request.AllowAutoRedirect = false;
StreamWriter requestStream = null;
WebResponse response = null;
string responseStr = null;
try
{
requestStream = new StreamWriter(request.GetRequestStream());
requestStream.Write(param);
requestStream.Close();
response = request.GetResponse();
if (response != null)
{
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
responseStr = reader.ReadToEnd();
//File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr);
reader.Close();
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
request = null;
requestStream = null;
response = null;
}
return responseStr;
}
///
/// 根据图片名读取资源文件,不带后缀名
///
///
/// 1为大图
///
public static Image GetImgFromResource(string imageName, int lay)
{
// 获取当前程序集
Assembly assembly = Assembly.GetExecutingAssembly();
// 创建资源管理器来访问资源
ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
// 尝试获取图片资源
try
{
Image image = resourceManager.GetObject(imageName) as Image;
if (image != null)
{
return image;
}
}
catch (Exception ex)
{
}
Image image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image;
return image2;
}
///
/// 生成token
///
///
public static string GetBasicAuthTicket()
{
string userGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid;
string orgGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginOrgGuid;
string token = (userGuid + "~" + orgGuid);
return token;
}
///
/// 标准json串返回ReturnModel-->table,
///
///
///
public static ReturnModel GetTableByJson(string strReturn)
{
ReturnModel rto = new ReturnModel();
JObject json = JObject.Parse(strReturn);
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
rto.rtnMsg = json["rtnMsg"].ToString();
rto.rtnData = new PageListModel();
rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString());
rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString());
rto.rtnData.everyPageSize = int.Parse(json["rtnData"]["everyPageSize"].ToString());
JArray array = new JArray();
var d = json["rtnData"]["list"];
foreach (var a in d)
{
array.Add(a);
}
DataTable dt = JsonConvert.DeserializeObject(array.ToString());
rto.rtnData.list = dt;
return rto;
}
///
/// 标准json串返回ReturnModel->字符串,
///
///
///
public static ReturnModel GetDataByJson(string strReturn)
{
ReturnModel rto = new ReturnModel();
JObject json = JObject.Parse(strReturn);
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
rto.rtnMsg = json["rtnMsg"].ToString();
rto.rtnData = json["rtnData"];
return rto;
}
///
/// 设置系统字体大小,目前并不通用
///
public static float GetFontSize = 10;
public static void SetFont(Control control)
{
float size = GetFontSize;
foreach (Control childControl in control.Controls)
{
childControl.Font = new Font(childControl.Font.FontFamily, size, childControl.Font.Style);
SetFont(childControl);
}
}
}
}