OfficePage封装代码

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
using System.Text;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.IO;
using System.Data.SqlClient;
namespace domain.BLL
{

    public class ShowOfficePage: ShowPage
    {

        private UserInfo _userInfo; 
        private string _JSMessage;
        private string _JSScript;
        public string JSMessage {
            set { this._JSMessage = value; }
            get { return this._JSMessage; }

        }
        public string JSScript {
            set { this._JSScript = value; }
            get { return this._JSScript; }
        }
        public UserInfo UserInfo
        {
            set
            {
                _userInfo = value;
               HttpContext.Current.Response.Cookies["officeUsers"]["C_ID"]=_userInfo.C_ID;
               HttpContext.Current.Response.Cookies["officeUsers"]["CompanyName"]=Server.UrlEncode(_userInfo.C_Name);
               HttpContext.Current.Response.Cookies["officeUsers"]["C_GradeID"]=_userInfo.C_GradeID;
               HttpContext.Current.Response.Cookies["officeUsers"]["userName"]=_userInfo.UserName;
               HttpContext.Current.Response.Cookies["officeUsers"].Expires = DateTime.Now.AddDays(1);
               
            }
            get
            {
                try
                {
                    if (_userInfo == null)
                    {
                        _userInfo = new UserInfo();
                        _userInfo.C_ID = Convert.ToString(HttpContext.Current.Request.Cookies["officeUsers"]["C_ID"] ?? "");
                        _userInfo.C_Name = Server.UrlDecode(Convert.ToString(HttpContext.Current.Request.Cookies["officeUsers"]["CompanyName"] ?? ""));
                        _userInfo.C_GradeID = Convert.ToString(HttpContext.Current.Request.Cookies["officeUsers"]["C_GradeID"] ?? "");
                        _userInfo.UserName = Convert.ToString(HttpContext.Current.Request.Cookies["officeUsers"]["userName"] ?? "");
                        this._userInfo = _userInfo;
                    }
               
                }
                catch
                {
                    _userInfo = new UserInfo();
                    _userInfo.C_ID = "";
                    _userInfo.C_Name = "";
                    _userInfo.C_GradeID = "";
                    _userInfo.UserName = "";
                    this._userInfo = _userInfo;

                }
                return _userInfo;
            }
        }
        private Dictionary<string, string> dic = new Dictionary<string, string>();
        public string this[string key]
        {
            set{
                if (dic.ContainsKey(key))
                {
                    dic[key] = value;
                }
                else
                {
                    dic.Add(key,value);
                }
            }
            get{
                if (dic.ContainsKey(key))
                {
                    return dic[key];
                }
                else
                {
                    return "";
                }
            }
        }
        public ShowOfficePage()
        {
            //if (IsNotLogin())
            //{
            //    HttpContext.Current.Response.Redirect(System.Configuration.ConfigurationManager.AppSettings["OfficeLoginPage"].ToLower());
            //}
        }
        public string GetSqlFile(FileUpload fp, int width, int height)
        {
            string sqlfile = "";
            string tempSqlPath = "";
            string path = HttpContext.Current.Request.PhysicalApplicationPath.ToString() + "upload/";
            path += "UploadFile/" + DateTime.Now.ToString("yyyyMM");
            tempSqlPath = "\\upload\\UploadFile\\" + DateTime.Now.ToString("yyyyMM");
            if (Directory.Exists(path))
            {

            }
            else
            {
                Directory.CreateDirectory(path);
            }
            if (Directory.Exists(path + "/small"))
            {
            }
            else
            {
                Directory.CreateDirectory(path + "/small");
            }
            if (Directory.Exists(path + "/temp"))
            {
            }
            else
            {
                Directory.CreateDirectory(path + "/temp");
            }
            //HttpFileCollection files = HttpContext.Current.Request.Files;

            if (fp.FileName.ToString().Length > 0)
            {
                string filename = fp.FileName.ToString();
                string datestr = DateTime.Now.ToString("yyyyMMddHmmssfff");
                string ext = filename.Substring(filename.LastIndexOf(".")).ToLower();
                if (ext != ".bmp" && ext != ".jpg" && ext != ".gif" && ext != ".jpeg")
                {
                    HttpContext.Current.Response.Write("<script>alert('上传的文件不是.gif,jpg,jpeg,bmp格式')</script>");
                    return "";
                }
                string tempFilePath = path + "/" + "temp/" + datestr + ext;
                fp.SaveAs(tempFilePath);
                #region 生成小图
                string originalFilename = path + "/" + datestr + ext;
               //fp.FileBytes
                //缩小的倍数
                int iScale = 1;
                //从文件取得图片对象
                System.Drawing.Image image = null;
                try
                {
                    image = System.Drawing.Image.FromFile(tempFilePath);
                   
                }
                catch
                {
                    //
                    try
                    {
                        File.Delete(tempFilePath);
                        image.Dispose();

                    }
                    catch
                    {
                    }
                    HttpContext.Current.Response.Write("<script>alert('上传的文件不是.gif,jpg,jpeg,bmp图片的标准格式格式')</script>");
                    return "";

                }
                int hi = 0;
                int wi = 0;
                wi = width;
                hi = height;
                Size size = new Size(wi, hi);
                //新建一个bmp图片
                System.Drawing.Image bitmap = new Bitmap(size.Width, size.Height);
                //新建一个画板
                Graphics g = Graphics.FromImage(bitmap);
                //设置高质量插值法
                g.InterpolationMode = InterpolationMode.High;
                //设置高质量,低速度呈现平滑程度
                g.SmoothingMode = SmoothingMode.HighQuality;
                //清空一下画布
                g.Clear(Color.Blue);
                //在指定位置画图
                g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
                if (ext == ".jpg" || ext == ".jpeg")
                    bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Jpeg);
                if (ext == ".gif")
                    bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Gif);
                if (ext == ".bmp")
                    bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Bmp);
                ///大图片
                if (fp.FileBytes.Length > 300000){
                  //image.Width
                   // image.Height


                    wi = 800;

                    hi = Convert.ToInt32(image.Height * (Convert.ToDouble(wi) / Convert.ToDouble(image.Width)));                
                     size = new Size(wi, hi);
                    //新建一个bmp图片
                  bitmap = new Bitmap(size.Width, size.Height);
                    //新建一个画板
                    g = Graphics.FromImage(bitmap);
                    //设置高质量插值法
                    g.InterpolationMode = InterpolationMode.High;
                    //设置高质量,低速度呈现平滑程度
                    g.SmoothingMode = SmoothingMode.HighQuality;
                    //清空一下画布
                    g.Clear(Color.Blue);
                    //在指定位置画图
                    g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
                    if (ext == ".jpg" || ext == ".jpeg")
                        bitmap.Save(originalFilename, ImageFormat.Jpeg);
                    if (ext == ".gif")
                        bitmap.Save(originalFilename, ImageFormat.Gif);
                    if (ext == ".bmp")
                        bitmap.Save(originalFilename, ImageFormat.Bmp);

                }
                else {
                    fp.SaveAs(originalFilename);
                }
                image.Dispose();
                bitmap.Dispose();
                g.Dispose();
                #endregion
                sqlfile = datestr + ext;

                try
                {
                    image.Dispose();
                    bitmap.Dispose();
                    g.Dispose();
                    File.Delete(tempFilePath);
                }
                catch (Exception ex)
                {
                    string exc = ex.Message.ToString();
                    HttpContext.Current.Response.Write("<script>alert('" + exc + "');</script>");
                }
            }
            else
            {
                sqlfile = "";
            }
            sqlfile = sqlfile.Length>0?(tempSqlPath + "\\" + sqlfile):("");
            return sqlfile;
        }
        public string GetSqlFile(FileUpload fp,string pathFile, int width, int height)
        {
            string sqlfile = "";
            string tempSqlPath = "";
            string path = HttpContext.Current.Request.PhysicalApplicationPath.ToString() + "upload/";
            path +=  pathFile;
            tempSqlPath = "\\upload\\" + pathFile;
            if (Directory.Exists(path))
            {

            }
            else
            {
                Directory.CreateDirectory(path);
            }
            if (Directory.Exists(path + "/small"))
            {
            }
            else
            {
                Directory.CreateDirectory(path + "/small");
            }
            if (Directory.Exists(path + "/temp"))
            {
            }
            else
            {
                Directory.CreateDirectory(path + "/temp");
            }
            //HttpFileCollection files = HttpContext.Current.Request.Files;

            if (fp.FileName.ToString().Length > 0)
            {
                string filename = fp.FileName.ToString();
                string datestr = DateTime.Now.ToString("yyyyMMddHmmssfff");
                string ext = filename.Substring(filename.LastIndexOf(".")).ToLower();
                if (ext != ".bmp" && ext != ".jpg" && ext != ".gif" && ext != ".jpeg")
                {
                    HttpContext.Current.Response.Write("<script>alert('上传的文件不是.gif,jpg,jpeg,bmp格式')</script>");
                    return "";
                }
                string tempFilePath = path + "/" + "temp/" + datestr + ext;
                fp.SaveAs(tempFilePath);
                #region 生成小图
                string originalFilename = path + "/" + datestr + ext;
                //fp.FileBytes
                //缩小的倍数
                int iScale = 1;
                //从文件取得图片对象
                System.Drawing.Image image = null;
                try
                {
                    image = System.Drawing.Image.FromFile(tempFilePath);

                }
                catch
                {
                    //
                    try
                    {
                        File.Delete(tempFilePath);
                        image.Dispose();

                    }
                    catch
                    {
                    }
                    HttpContext.Current.Response.Write("<script>alert('上传的文件不是.gif,jpg,jpeg,bmp图片的标准格式格式')</script>");
                    return "";

                }
                int hi = 0;
                int wi = 0;
                wi = width;
                hi = height;
                Size size = new Size(wi, hi);
                //新建一个bmp图片
                System.Drawing.Image bitmap = new Bitmap(size.Width, size.Height);
                //新建一个画板
                Graphics g = Graphics.FromImage(bitmap);
                //设置高质量插值法
                g.InterpolationMode = InterpolationMode.High;
                //设置高质量,低速度呈现平滑程度
                g.SmoothingMode = SmoothingMode.HighQuality;
                //清空一下画布
                g.Clear(Color.Blue);
                //在指定位置画图
                g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
                if (ext == ".jpg" || ext == ".jpeg")
                    bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Jpeg);
                if (ext == ".gif")
                    bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Gif);
                if (ext == ".bmp")
                    bitmap.Save(path + "/small/" + datestr + ext, ImageFormat.Bmp);
                ///大图片
                if (fp.FileBytes.Length > 300000)
                {
                    //image.Width
                    // image.Height


                    wi = 800;

                    hi = Convert.ToInt32(image.Height * (Convert.ToDouble(wi) / Convert.ToDouble(image.Width)));
                    size = new Size(wi, hi);
                    //新建一个bmp图片
                    bitmap = new Bitmap(size.Width, size.Height);
                    //新建一个画板
                    g = Graphics.FromImage(bitmap);
                    //设置高质量插值法
                    g.InterpolationMode = InterpolationMode.High;
                    //设置高质量,低速度呈现平滑程度
                    g.SmoothingMode = SmoothingMode.HighQuality;
                    //清空一下画布
                    g.Clear(Color.Blue);
                    //在指定位置画图
                    g.DrawImage(image, new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(0, 0, image.Width, image.Height), GraphicsUnit.Pixel);
                    if (ext == ".jpg" || ext == ".jpeg")
                        bitmap.Save(originalFilename, ImageFormat.Jpeg);
                    if (ext == ".gif")
                        bitmap.Save(originalFilename, ImageFormat.Gif);
                    if (ext == ".bmp")
                        bitmap.Save(originalFilename, ImageFormat.Bmp);

                }
                else
                {
                    fp.SaveAs(originalFilename);
                }
                image.Dispose();
                bitmap.Dispose();
                g.Dispose();
                #endregion
                sqlfile = datestr + ext;

                try
                {
                    image.Dispose();
                    bitmap.Dispose();
                    g.Dispose();
                    File.Delete(tempFilePath);
                }
                catch (Exception ex)
                {
                    string exc = ex.Message.ToString();
                    HttpContext.Current.Response.Write("<script>alert('" + exc + "');</script>");
                }
            }
            else
            {
                sqlfile = "";
            }
            sqlfile = sqlfile.Length > 0 ? (tempSqlPath + "\\" + sqlfile) : ("");
            return sqlfile;
        }
        public bool IsNotLogin()
        {
            bool state = true;
            if (HttpContext.Current.Request.Url.ToString().ToLower().Contains(System.Configuration.ConfigurationManager.AppSettings["OfficeLoginPage"].ToLower()))
            {
                state = false;               
            }
            else
            {
                if (GetNotNullString(UserInfo.UserName).Length >0)
                {
                    state = false;
                }              
            }          
            return state;
        }
        public void HasNoRight()
        {
            if (this.UserInfo.C_GradeID == "1")
            {

            }
            else
            {
                HttpContext.Current.Response.Write("<script type='text/javascript'>document.location.href='Notice.aspx'</script>");

            }
         
        }
        public void BindListValues(ListControl cbl, bool isText, string values)
        {
            values = string.IsNullOrEmpty(values) ? ("") : (values);
            if (values.Length > 0)
            {
                if (isText)
                {
                    string[] tempValues = values.Split(',');
                    for (int i = 0; i < tempValues.Length; i++)
                    {
                        for (int j = 0; j < cbl.Items.Count; j++)
                        {
                            if (cbl.Items[j].Text.Trim() == tempValues[i].ToString())
                            {
                                cbl.Items[j].Selected = true;
                            }
                        }
                    }
                }
                else
                {
                    string[] tempValues = values.Split(',');
                    for (int i = 0; i < tempValues.Length; i++)
                    {
                        for (int j = 0; j < cbl.Items.Count; j++)
                        {
                            if (cbl.Items[j].Value.Trim() == tempValues[i].ToString())
                            {
                                cbl.Items[j].Selected = true;
                            }
                        }
                    }
                }

            }
            else
            {

            }
        }
        public string SelectListValues(ListControl cbl, bool isText)
        {
            StringBuilder sb = new StringBuilder();

                if (isText)
                {
               
                        for (int j = 0; j < cbl.Items.Count; j++)
                        {
                            if (cbl.Items[j].Selected) {
                                sb.Append(cbl.Items[j].Text).Append(",");
                            }
                        }
                  
                }
                else
                {
                   
                        for (int j = 0; j < cbl.Items.Count; j++)
                        {
                            if (cbl.Items[j].Selected)
                            {
                                sb.Append(cbl.Items[j].Value).Append(",");
                            }
                        }
                  
                }
                return sb.ToString().TrimEnd(',');

           
        }
        public DateTime GetDateTime(string s) {
            DateTime dt = DateTime.Now;
            DateTime.TryParse(s,out dt);
            return dt;
        }
        public DateTime GetDateTime(object s)
        {
            DateTime dt = DateTime.Now;
            DateTime.TryParse(Convert.ToString(s), out dt);
            return dt;
        }
        public int GetInt(string s)
        {
            int tempInt=0;
            int.TryParse(s, out tempInt);
            return tempInt;
        }
        public int GetInt(object s)
        {
            int tempInt = 0;
            int.TryParse(Convert.ToString(s), out tempInt);
            return tempInt;
        }
        public double GetDouble(string s)
        {
            double tempDouble = 0;
            double.TryParse(s, out tempDouble);
            return tempDouble;
        }
        public string GetNotNullString(string s)
        {
            s=string.IsNullOrEmpty(s) ? ("") : (s);
            return s;
        }
        public string GetNoHTML(string Htmlstring)
        {
            //删除脚本
            Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
            //删除HTML
            Htmlstring = Regex.Replace(Htmlstring, @"<br>", "$br$", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @" ", "&nbsp;", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"$br$", "<br>", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"\r\n", "<br>", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
            // Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
            Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
            Htmlstring.Replace("<", "");
            Htmlstring.Replace(">", "");
            Htmlstring.Replace("\r\n", "");
            return Htmlstring;
        }
        public void DoAction(string sql)
        {
            ArrayList al = this.GetSqls(sql);
            if (this.Db.GetTranState(al))
            {
                this.ShowMessage("操作成功!", "document.location=document.location");
            }
            else
            {
                this.ShowMessage("操作失败!", "history.go(-1)");
            }
        }
        public SqlParameter[] MakeParameters(params string[] pas)
        {
            SqlParameter[] tempPas = new SqlParameter[pas.Length/2];
            if (pas.Length % 2 == 0)
            {
                for (int i = 0; i < pas.Length / 2; i++)
                {
                    tempPas[i] = new SqlParameter(pas[i*2], pas[i*2+1]);
                }
            }
            return tempPas;
          
        }

    }
 

}


 

你可能感兴趣的:(Office)