Newer
Older
GHFX_REFACTOR / PATM_Forms / F_Projedit.cs
wxn on 2 Nov 2016 8 KB 提交
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;


namespace Cyberpipe.PATM_Forms
{
    public partial class F_PATMProjedit : Office2007Form
    {
        public F_PATMProjedit()
        {
            InitializeComponent();
        }
        #region  公共变量
        PATM_logicfile.PATM_Affair PATMAClass = new Cyberpipe.PATM_logicfile.PATM_Affair();//实例化ModuleClass文件夹下的FrmAffairClass公共类
       // PATM_logicfile.PATM_Database PATM_dataclass = new Cyberpipe.PATM_logicfile.PATM_Database();//实例化ModuleClass文件夹下的DataClass公共类
        public string Imadir = "";
        public string L_Name = "";
        string Odir = "";
       // string Sdir = "";
        //int mark = 0;
        #endregion      

        private void OK_Click(object sender, EventArgs e)
        {
            string Bsql = "";
            string dir = "";
            string str = "";
            int PID = 0;
            int nType = 0;
            if (PATM_logicfile.PATM_Affair.Redact_T == "T")
                nType = 2;
            if (PATM_logicfile.PATM_Affair.Redact_T == "F")
                nType = 1;
            Odir = PATM_logicfile.PATM_Affair.Redact_D;
            int n = 0;
            if (int.Parse(this.Tag.ToString()) == 0 || int.Parse(this.Tag.ToString()) == 1)
            {
                if (TB_ProjName.Text == "")
                {
                    MessageBox.Show(L_Name + "名称不能为空。");
                    return;
                }
            }
            switch (int.Parse(this.Tag.ToString()))
            {
                case 0:
                    {
                        if (PATM_logicfile.PATM_Affair.Redact_T == "T")
                        {
                            //Odir = Imadir + "\\Files\\" + PATM_logicfile.PATM_Affair.tablename + "\\" + TB_ProjName.Text.Trim();
                            Odir = TB_ProjName.Text.Trim();
                            PID = 0;
                        }
                        if (PATM_logicfile.PATM_Affair.Redact_T == "F")
                        {
                            //Odir = Imadir + "\\" + PATM_logicfile.PATM_Affair.tablename + "\\" + TB_ProjName.Text.Trim();

                            Odir = TB_ProjName.Text.Trim();
                            PID = int.Parse(PATM_logicfile.PATM_Affair.Redact_M);
                        }
                        string tablename = PATM_logicfile.PATM_Affair.tablename;
                        //Bsql = "insert into " + PATM_logicfile.PATM_Affair.tablename + " (NodePID,NodeName,NodePath,NodeType,NodeSign) values(" + PID + ",'" + TB_ProjName.Text + "','" + Odir + "'," + nType + "," + PATM_logicfile.PATM_Affair.UserSign + ")";
                        Bsql = "insert into " + tablename + "(NODEPID,NODENAME,NODEPATH,NODETYPE,NODESIGN) values("
                            + PID + ",'" + TB_ProjName.Text + "','" + Odir + "'," + nType + ",'" 
                            + Utility.userName + "')";
                            
                        str = L_Name + "创建成功";
                        break;
                    }
                case 1:
                    {
                        //dir = PATMAClass.UpAndDown_Dir(PATM_logicfile.PATM_Affair.Redact_D) + "\\" + TB_ProjName.Text.Trim();
                        dir =  TB_ProjName.Text.Trim();
                        Odir = PATM_logicfile.PATM_Affair.Redact_D;

                        string tablename = PATM_logicfile.PATM_Affair.tablename;
                        //Bsql = "update " + PATM_logicfile.PATM_Affair.tablename + " set NodeName='" + TB_ProjName.Text + "',NodePath='" + dir + "' where NodeID='" + PATM_logicfile.PATM_Affair.Redact_M + "'";
                        Bsql = "update " + tablename + " set "+tablename+".\"NODENAME\"='" + TB_ProjName.Text
                            + "',"+tablename+".\"NODEPATH\"='" + dir + "' where "+tablename+".\"NODEID\"='" 
                            + PATM_logicfile.PATM_Affair.Redact_M + "'";
                        str = L_Name + "修改成功";
                        break;
                    }
                case 2:
                    {
                        dir = PATM_logicfile.PATM_Affair.Redact_D;
                        Odir = dir;

                        string tablename = PATM_logicfile.PATM_Affair.tablename;
                        Bsql = "delete " + tablename + " where NODEID=" + PATM_logicfile.PATM_Affair.Redact_M;
                        str = L_Name + "删除成功";
                        break;
                    }
            }

            //n = PATMAClass.Folder_Handle(Application.StartupPath + "\\Files\\" + PATM_logicfile.PATM_Affair.tablename +"\\"+ Odir, "", 
            //    TB_ProjName.Text.Trim(), int.Parse(this.Tag.ToString()));
            udfiles.UpDownFile upfolder = new udfiles.UpDownFile(Utility.udserviceurl);
            n = upfolder.Folder_Handle(Utility.uploadpath + "\\" + PATM_logicfile.PATM_Affair.tablename + "\\" + Odir, "",
                TB_ProjName.Text.Trim(), int.Parse(this.Tag.ToString()));
            if (n == 1)
            {
                DialogResult = DialogResult.Cancel;//将当前窗体的对话框返回值设为Cancel
            }
            else if (n == 0)
            {
                OledbHelper.getsqlcom(Bsql);
                if (int.Parse(this.Tag.ToString()) > 0 && n == 0)
                {
                    PATMAClass.DFiles_CleanUp(Odir, dir, int.Parse(this.Tag.ToString()));
                }
                if (int.Parse(this.Tag.ToString()) == 0)
                {
                    string tablename = PATM_logicfile.PATM_Affair.tablename;
                    DataSet DS = OledbHelper.getDataSet("select max("+tablename+".\"NODEID\") from " 
                        + tablename, tablename);
                    PATM_logicfile.PATM_Affair.Redact_M = DS.Tables[0].Rows[0][0].ToString();
                    PATM_logicfile.PATM_Affair.Redact_N = TB_ProjName.Text.Trim();
                }
                if (int.Parse(this.Tag.ToString()) == 1)
                    PATM_logicfile.PATM_Affair.Redact_N = TB_ProjName.Text.Trim();
                DialogResult = DialogResult.OK;//将当前窗体的对话框返回值设为OK
            }
            else
            { ;}
            if (n == 2)
                MessageBox.Show("该文件夹已存在,请修改文件名!");
            else
            { ;}
            Close();
        }


        private void TB_ProjName_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (PATMAClass.Files_NameChar(e) == 0)
                e.Handled = true;
            if (e.KeyChar == '\r')
                OK_Click(sender, e);
        }

        private void F_Projedit_Load(object sender, EventArgs e)
        {
            
            Imadir = PATMAClass.UpAndDown_Dir(System.AppDomain.CurrentDomain.BaseDirectory);
            Imadir = PATMAClass.UpAndDown_Dir(Imadir);
            Imadir = PATMAClass.UpAndDown_Dir(Imadir);
           
            if (PATM_logicfile.PATM_Affair.Redact_T == "F")
                Imadir = PATM_logicfile.PATM_Affair.Redact_D;
            if (PATM_logicfile.PATM_Affair.Redact_T == "T")
                L_Name = "项目";
            else
                L_Name = "文件";
            switch (int.Parse(this.Tag.ToString()))
            {
                case 0:
                    {
                        LB_ProjName.Text = L_Name + "名称:";
                        TB_ProjName.Visible = true;
                        TB_ProjName.Clear();
                        break;
                    }
                case 1:
                    {
                        LB_ProjName.Text = L_Name + "名称:";
                        TB_ProjName.Visible = true;
                        TB_ProjName.Text = PATM_logicfile.PATM_Affair.Redact_N;
                        break;
                    }
                case 2:
                    {
                        LB_ProjName.Text = L_Name + "可能包含多个子文件夹及文件,\n是否还要删除。";
                        TB_ProjName.Visible = false;
                        break;
                    }
            }
        }

        private void Cancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}