lu
2024-11-13 291b43124d537daccc25e4e1613b5ff0cd749050
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -5,6 +5,7 @@
using System.Drawing;
using System.IO;
using System.Net;
using System.Net.Cache;
using System.Net.Http;
using System.Reflection;
using System.Resources;
@@ -56,6 +57,42 @@
                }
            }
        }
        /// <summary>
        ///     httpPost访问服务
        /// </summary>
        /// <param name="url">服务地址</param>
        /// <param name="meth">方法名称</param>
        /// <param name="param">参数</param>
        /// <returns></returns>
        public static async Task<string> HttpPostAsync(string url, string meth, string param)
        {
            if (string.IsNullOrEmpty(url))
                url = WebApiUrl;
            url += meth;
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("token", GetBasicAuthTicket());
            request.Accept = "*/*";
            request.Timeout = 15000;
            request.AllowAutoRedirect = false;
            request.ServicePoint.Expect100Continue = false;
            HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
            request.CachePolicy = noCachePolicy;
            using (Stream requestStream = await request.GetRequestStreamAsync())
            {
                byte[] dataBytes = Encoding.UTF8.GetBytes(param);
                await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
            }
            using (WebResponse response = await request.GetResponseAsync())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    return await reader.ReadToEndAsync();
                }
            }
        }
        /// <summary>
        ///     httpPost访问服务
@@ -76,6 +113,9 @@
            request.Accept = "*/*";
            request.Timeout = 15000;
            request.AllowAutoRedirect = false;
            request.ServicePoint.Expect100Continue = false;
            HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
            request.CachePolicy = noCachePolicy;
            StreamWriter requestStream = null;
            WebResponse response = null;
            string responseStr = null;
@@ -250,7 +290,29 @@
            isEdt = !isEdt;
            if (gridViews != null)
                foreach (var gv in gridViews)
                {
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        if (colmn.Name.ToString().Contains("gvMxDel"))
                        {
                            colmn.Visible = !isEdt;
                            break;
                        }
                    }
                    gv.OptionsBehavior.Editable = !isEdt;
                }
            var _btnAry = controls.Find("btnSelect", false);
            if (_btnAry.Length > 0)
            {
                var _btnType = _btnAry[0];
                _btnType.Enabled = !isEdt;
            }
            var _btnAry2 = controls.Find("btnTui", false);
            if (_btnAry2.Length > 0)
            {
                var _btnType = _btnAry2[0];
                _btnType.Enabled = !isEdt;
            }
            foreach (JProperty property in dynamicObject.Properties())
            {
                var strName = property.Name;
@@ -281,10 +343,7 @@
                                    txt.ReadOnly = isEdt;
                                    txt.SelectedIndex = i;
                                }
                                ;
                            }
                            continue;
                        }
@@ -326,6 +385,14 @@
                        if (colType is TextEdit)
                        {
                            var txt = colType as TextEdit;
                            if (txt != null)
                                txt.Text = strVal;
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        if (colType is MemoEdit)
                        {
                            var txt = colType as MemoEdit;
                            if (txt != null)
                                txt.Text = strVal;
                            txt.ReadOnly = isEdt;
@@ -376,7 +443,14 @@
                            txt.Enabled = !isEdt;
                            continue;
                        }
                        if (colType is CheckEdit)
                        {
                            var txt = colType as CheckEdit;
                            if (txt != null)
                                txt.Checked = bool.Parse(strVal);
                            txt.ReadOnly = isEdt;
                            continue;
                        }
                        //时间
                        if (colType is DateTimePicker)
                        {
@@ -392,15 +466,54 @@
                            var txt = colType as Label;
                            if (_dddddd == "txt_checkStatus")
                            {
                                if (strVal == "True")
                                if (strVal == "True" || strVal == "1")
                                    txt.Text = "已审核";
                                if (strVal == "False")
                                if (strVal == "False" || strVal == "0" || strVal == "")
                                    txt.Text = "未审核";
                            }
                            else
                            {
                                txt.Text = strVal;
                            }
                        }
                        //自定义仓库
                        if (colType is UcLookCk)
                        {
                            var txt = colType as UcLookCk;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定义供应商
                        if (colType is UcLookSupplier)
                        {
                            var txt = colType as UcLookSupplier;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        //自定义物料
                        if (colType is UcLookItems)
                        {
                            var txt = colType as UcLookItems;
                            txt.SetIdOrCode(strVal);
                            if (txt.IsReadly == false)
                                txt.Enabled = !isEdt;
                            else
                                txt.Enabled = false;
                            continue;
                        }
                        if (colType is SimpleButton)
                        {
                            var txt = colType as SimpleButton;
                            txt.Enabled = !isEdt;
                            continue;
                        }
                    }
                }
@@ -423,7 +536,17 @@
            isEdt = !isEdt;
            if (gridViews != null)
                foreach (var gv in gridViews)
                {
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        if (colmn.Name.ToString().Contains("gvMxDel"))
                        {
                            colmn.Visible = !isEdt;
                            break;
                        }
                    }
                    gv.OptionsBehavior.Editable = !isEdt;
                }
            foreach (Control ctrl in controls)
            {
                //多行文本
@@ -465,7 +588,14 @@
                    txt.ReadOnly = isEdt;
                    continue;
                }
                if (ctrl is MemoEdit)
                {
                    var txt = ctrl as MemoEdit;
                    if (txt != null)
                        txt.Text = "";
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //时间
                if (ctrl is DateTimePicker)
                {
@@ -473,7 +603,6 @@
                    txt.Enabled = !isEdt;
                    continue;
                }
                //单选
                if (ctrl is CheckBox)
                {
@@ -481,6 +610,44 @@
                    txt.Checked = false;
                    txt.Enabled = !isEdt;
                }
                if (ctrl is CheckEdit)
                {
                    var txt = ctrl as CheckEdit;
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //自定义仓库
                if (ctrl is UcLookCk)
                {
                    var txt = ctrl as UcLookCk;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定义供应商
                if (ctrl is UcLookSupplier)
                {
                    var txt = ctrl as UcLookSupplier;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                //自定义物料
                if (ctrl is UcLookItems)
                {
                    var txt = ctrl as UcLookItems;
                    txt.SetIdOrCode("-1");
                    txt.Enabled = !isEdt;
                    continue;
                }
                if (ctrl is SimpleButton)
                {
                    var txt = ctrl as SimpleButton;
                    txt.Enabled = !isEdt;
                    continue;
                }
            }
        }
@@ -496,7 +663,17 @@
            isEdt = !isEdt;
            if (gridViews != null)
                foreach (var gv in gridViews)
                {
                    foreach (GridColumn colmn in gv.Columns)
                    {
                        if (colmn.Name.ToString().Contains("gvMxDel"))
                        {
                            colmn.Visible = !isEdt;
                            break;
                        }
                    }
                    gv.OptionsBehavior.Editable = !isEdt;
                }
            foreach (Control ctrl in controls)
            {
                //文本
@@ -506,7 +683,12 @@
                    txt.ReadOnly = isEdt;
                    continue;
                }
                if (ctrl is MemoEdit)
                {
                    var txt = ctrl as MemoEdit;
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //数字卡
                if (ctrl is NumericUpDown)
                {
@@ -514,7 +696,6 @@
                    txt.ReadOnly = isEdt;
                    continue;
                }
                //下拉
                if (ctrl is UcComBox)
                {
@@ -532,7 +713,18 @@
                }
                //单选
                if (ctrl is CheckBox) ctrl.Enabled = !isEdt;
                if (ctrl is CheckBox)
                {
                    ctrl.Enabled = !isEdt;
                    continue;
                }
                if (ctrl is CheckEdit)
                {
                    var txt = ctrl as CheckEdit;
                    txt.ReadOnly = isEdt;
                    continue;
                }
            }
        }
@@ -629,12 +821,36 @@
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public Guid ToGuid(string str)
        public static Guid ToGuid(string str)
        {
            if (string.IsNullOrEmpty(str)) return Guid.Empty;
            return Guid.Parse(str);
        }
        public static int ToInt(string str)
        {
            try
            {
                return int.Parse(str);
            }
            catch (Exception)
            {
                return 0;
            }
        }
        public static long ToLong(string str)
        {
            try
            {
                return long.Parse(str);
            }
            catch (Exception)
            {
                return 0;
            }
        }
        /// <summary>
        /// 读取grid的当前行
        /// </summary>
@@ -668,7 +884,7 @@
                else
                {
                    _strGuid = dr["guid"].ToString();
                    _strName = dr[2].ToString();
                    _strName = dr[1].ToString();
                }
            }