protected void btnSubmit_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(Globals.ConnectionString))
            {
                string password = this.txtPassword.Text;
                string newpassword = this.txtNewPassword.Text;
                string newpassword2 = this.txtNewPassword2.Text;

                //string password_md5 = CommonBLL.GetMD5Password(password);

                CommonDAL cdal = new CommonDAL(conn);

                string dPassword = "";
                dPassword = cdal.GetFieldValueStringBySQL("select UserPassWord  from Server_D_UserInfor where UserName='******'", "UserPassWord");


                if (password.Equals(dPassword))
                {
                    //string newpassword_md5 = CommonBLL.GetMD5Password(newpassword);
                    string sql = "update Server_D_UserInfor set UserPassWord='******' where UserName='******' " ;
                    cdal.ExecSQL(sql);
                    GetSuccessMsg("密码已更新" );
                    return;
                }
                else
                {
                    GetSuccessMsg("原密码不正确" );
                    return;
                }
            }
        }
Exemple #2
0
        //outin status同时修改 in(生效) out(发布)
        public bool BatchDelete(string driverids, string username,out string msg)
        {

            using (SqlConnection conn = new SqlConnection(Globals.ConnectionString))
            {
                CommonDAL cdal = new CommonDAL(conn);
                if (driverids.EndsWith(",")) driverids += "0";
                string sql = "select distinct outin from Server_D_Drivers where id in (" + driverids + ")";
                DataSet ds = cdal.GetDS(sql);
                if (ds.Tables[0].Rows.Count == 0)
                {
                    msg = "Driver信息不存在!";
                    return false;
                }
                sql = "update Server_D_Drivers set status=" + Convert.ToInt32(DriverStatus.Driver_Status_Invalid) + " "
                    //+ " , ApproveTime=getdate() "
                    //+ " , ApproveBy='" + username + "' "
                    + " , LastUpdateTime=getdate() "
                    + " , LastUpdateBy='" + username + "' "
                    + " where id in (" + driverids + ")  ";
                //log
                /* saveDataLog "8012",strSameSysIdList(i),"驱动管理模块","审批否决:"&strDriverNameNewTemp,"补充说明:"&request("ApproveMemo"),strTempStatusN,"1","",session("UserName")
                 * saveDataLog(ModuleID,SourceID,ActionModule,ActionName,Remark,DataStatus,ISStatusLog,ISNew,User)
                 * strSQL="insert into Server_D_Log(LogType,IPAddress,UserName,Remark,ActionName,ActionModule,ModuleID,SourceID,DataStatus,ISStatusLog,FromID) 
                 * values('业务日志','"&Session("_LogUserIPAddress")&"','"&User &"','"&Remark&"','"&ActionName&"','"&ActionModule&"','"&ModuleID&"','"&SourceID&"','"&DataStatus&"','"&ISStatusLog&"','"&FromID&"')"
                 * IPAddress = Functions.ParseStr(Session["_LogUserIPAddress"]);
                 */
                //IPAddress暂时未用,所以先标定为0.0.0.0
                //string IPAddress = Functions.ParseStr(Session["_LogUserIPAddress"]);
                string IPAddress = "0.0.0.0";
                //FromID暂时未用,所以先标定为0
                sql += " insert into Server_D_Log(LogType,IPAddress,UserName,Remark,ActionName,ActionModule,ModuleID,SourceID,DataStatus,ISStatusLog,FromID)  "
                    + "select '业务日志', '" + IPAddress + "','" + username + "','补充说明:批量删除' ,'批量删除','驱动管理模块','8012',id,'已发布','1','0'"
                    + "  from Server_D_Drivers where id in (" + driverids + ")  ";
                cdal.ExecSQL(sql);

                msg = "";
                return true;

            }

        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(Globals.ConnectionString))
            {
                string password = this.txtPassword.Text;
                string newpassword = this.txtNewPassword.Text;
                string newpassword2 = this.txtNewPassword2.Text;

                string password_md5 = CommonBLL.GetMD5Password(password);

                //if (!newpassword.Equals(newpassword2)) {
                //    GetSuccessMsg("两次输入新密码不一致.");
                //    return;
                //}

                PersonDAL personDAL = new PersonDAL(conn);
                DataRow person = personDAL.GetAPerson(personid);

                CommonDAL dal = new CommonDAL(conn);

                if (password_md5.Equals(Functions.CleanDBString(person["password"])))
                {
                    string newpassword_md5 = CommonBLL.GetMD5Password(newpassword);
                    string sql = "update person set password='******',passworduserchanged=1 where id='" + personid+"'";
                    dal.ExecSQL(sql);
                    Session["person.passworduserchanged"] = 1;
                    GetSuccessMsg("密码已更新", "../index.aspx");
                    return;
                }
                else
                {
                    GetSuccessMsg("原密码不正确");
                    return;
                }
            }
        }
        private void ProcFile(SqlConnection conn, CommonDAL cdal , FileInfo NextFile)
        {
            log.Info(logPrefix + "ProcFolder[" + NextFile.Name + "]");

            //any files in the m folder:
            //1.mv to dest;
            //2.calc md5/sha1/sha265
            string destdir = "", relpath = "", dupdir = "";
            string srcfilename = "", destfilename = "";
            long filesize = 0;
            string fileext = "";
            string md5 = "", sha1 = "", sha256 = "";
            string sql = "";

            try
            {
                srcfilename = NextFile.FullName;

                ////db中是否已经存在该文件名DriversFiles 和 Server_D_DriversFiles(老数据)
                //sql = "select count(*) as cnt from DriversFiles where [FileName]='" + NextFile.Name + "'";
                //int cnt = Functions.ParseInt(cdal.GetFieldValueStringBySQL(sql, "cnt"), 0);
                //sql = "select count(*) as cnt from Server_D_DriversFiles where [FileName]='" + NextFile.Name + "'";
                //int cnt0 = Functions.ParseInt(cdal.GetFieldValueStringBySQL(sql, "cnt"), 0);
                //log.Info(logPrefix + "db已存在FileName[" + NextFile.Name + "]数量(新):" + cnt + ";(老):" + cnt0);
                //if (cnt + cnt0 > 0)

                //2016-3-8 修改为后入为主的策略,Server_D_DriversFiles 存在于此就修改此表,DriversFiles 存在于此就修改此表,否则就新加到DriversFiles ;
                sql = "select * from Server_D_DriversFiles where [FileName]='" + NextFile.Name + "'";
                DataSet dsOld = cdal.GetDS(sql);
                sql = "select * from DriversFiles where [FileName]='" + NextFile.Name + "'";
                DataSet dsNew = cdal.GetDS(sql);

                if (dsOld.Tables[0].Rows.Count > 0) //存在于 Server_D_DriversFiles
                {
                    log.Info(logPrefix + "File[" + NextFile.Name + "] 存在于Server_D_DriversFiles;");
                    #region 先入为主的策略 (否决)
                    ////若存在记录,则忽略该记录,move to dup dir记录日志;
                    ////move to dupdir
                    //log.Info(logPrefix + "FileName[" + NextFile.Name + "] Has Existed in System and Will Be Moved to dup!");
                    //dupdir = m_MonitorFolder + @"\dup\";
                    //if (!Directory.Exists(dupdir)) Directory.CreateDirectory(dupdir);
                    //File.Move(srcfilename, dupdir + NextFile.Name);

                    ////continue;
                    //return;
                    #endregion


                    relpath = ""; // 2016030811223308096/
                    string F_Path = dsOld.Tables[0].Rows[0]["F_Path"].ToString(); // /DriverFilesUploadFloder/server/2008101712345610916/3008ESASHBAREDHATAS40X86.exe
                    if (!F_Path.StartsWith("/DriverFilesUploadFloder/server/")) {
                        log.Error(logPrefix + "db.Server_D_DriversFiles.F_Path[" + F_Path + "] not begin with /DriverFilesUploadFloder/server/,无法处理此文件. ");
                        return;                        
                    }
                    string[] arrF_Path = F_Path.Split("/".ToCharArray());
                    if (arrF_Path.Length < 4) {
                        log.Error(logPrefix + "db.Server_D_DriversFiles.F_Path[" + F_Path + "] 格式错误,少于4段. ");
                        return;    
                    }
                    relpath = arrF_Path[arrF_Path.Length - 2];
                    log.Info(logPrefix + "get relpath [" + relpath + "] from db. ");

                    //创建目标目录
                    destdir = m_DestFolderRoot + "/" + relpath;
                    log.Info(logPrefix + "创建目标目录:" + destdir);
                    if (!Directory.Exists(destdir)) Directory.CreateDirectory(destdir);

                    destfilename = destdir + NextFile.Name;

                    //move file to dest
                    if (File.Exists(destfilename)) File.Delete(destfilename);
                    File.Move(srcfilename, destfilename);
                    log.Info(logPrefix + "File[" + srcfilename + "] move to Dest;");

                    //get filesize
                    filesize = NextFile.Length;
                    log.Info(logPrefix + "Dest File[" + destfilename + "];filesieze:[" + filesize + "];");
                    if (NextFile.Extension.Length > 1)
                        fileext = NextFile.Extension.Substring(1, NextFile.Extension.Length - 1);

                    //get filecodes
                    md5 = GetFileCode(destfilename, "md5");
                    sha1 = GetFileCode(destfilename, "sha1");
                    sha256 = GetFileCode(destfilename, "sha256");
                    log.Info(logPrefix + "Dest File[" + destfilename + "];Calc==> md5:[" + md5 + "],sha1:[" + sha1 + "],sha256:[" + sha256 + "];");

                    //update to db Server_D_DriversFiles
                    sql = " update Server_D_DriversFiles set md5='" + md5 + "', sha1='" + sha1 + "', sha256='" + sha256 + "',uploadtime=getdate() where FileName='" + NextFile.Name + "'";
                    cdal.ExecSQL(sql);
                    log.Info(logPrefix + "update 1 table Server_D_DriversFiles ;");


                }
                else if (dsNew.Tables[0].Rows.Count > 0) //存在于 DriversFiles
                {
                    log.Info(logPrefix + "File[" + NextFile.Name + "] 存在于DriversFiles;");

                    relpath = ""; // 2016030811223308096/
                    string F_Path = dsNew.Tables[0].Rows[0]["F_Path"].ToString(); // /DriverFilesUploadFloder/server/2008101712345610916/3008ESASHBAREDHATAS40X86.exe
                    if (!F_Path.StartsWith("/DriverFilesUploadFloder/server/"))
                    {
                        log.Error(logPrefix + "db.DriversFiles.F_Path[" + F_Path + "] not begin with /DriverFilesUploadFloder/server/,无法处理此文件. ");
                        return;
                    }
                    string[] arrF_Path = F_Path.Split("/".ToCharArray());
                    if (arrF_Path.Length < 4)
                    {
                        log.Error(logPrefix + "db.DriversFiles.F_Path[" + F_Path + "] 格式错误,少于4段. ");
                        return;
                    }
                    relpath = arrF_Path[arrF_Path.Length - 2];
                    log.Info(logPrefix + "get relpath [" + relpath + "] from db. ");

                    //创建目标目录
                    destdir = m_DestFolderRoot + "/" + relpath;
                    log.Info(logPrefix + "创建目标目录:" + destdir);
                    if (!Directory.Exists(destdir)) Directory.CreateDirectory(destdir);

                    destfilename = destdir + NextFile.Name;

                    //move file to dest
                    if (File.Exists(destfilename)) File.Delete(destfilename);
                    File.Move(srcfilename, destfilename);
                    log.Info(logPrefix + "File[" + srcfilename + "] move to Dest;");

                    //get filesize
                    filesize = NextFile.Length;
                    log.Info(logPrefix + "Dest File[" + destfilename + "];filesieze:[" + filesize + "];");
                    if (NextFile.Extension.Length > 1)
                        fileext = NextFile.Extension.Substring(1, NextFile.Extension.Length - 1);

                    //get filecodes
                    md5 = GetFileCode(destfilename, "md5");
                    sha1 = GetFileCode(destfilename, "sha1");
                    sha256 = GetFileCode(destfilename, "sha256");
                    log.Info(logPrefix + "Dest File[" + destfilename + "];Calc==> md5:[" + md5 + "],sha1:[" + sha1 + "],sha256:[" + sha256 + "];");

                    //update to db DriversFiles and Server_D_DriversFiles
                    sql = " update DriversFiles set md5='" + md5 + "', sha1='" + sha1 + "', sha256='" + sha256 + "',uploadtime=getdate(),F_OldPath='"+srcfilename+"' where FileName='" + NextFile.Name + "'";
                    sql = sql + " update Server_D_DriversFiles set md5='" + md5 + "', sha1='" + sha1 + "', sha256='" + sha256 + "',uploadtime=getdate() where FileName='" + NextFile.Name + "'";
                    cdal.ExecSQL(sql);
                    log.Info(logPrefix + "update 2 tables DriversFiles and Server_D_DriversFiles ;");
                }
                else
                {
                    relpath = (new Random()).Next(99999).ToString().PadLeft(5, '0') + "/"; // 08096/
                    relpath = DateTime.Now.ToString("yyyyMMddHHmmss") + relpath; // 2016030811223308096/

                    //创建目标目录
                    destdir = m_DestFolderRoot + "/" + relpath;
                    log.Info(logPrefix + "创建目标目录:" + destdir);
                    if (!Directory.Exists(destdir)) Directory.CreateDirectory(destdir);

                    destfilename = destdir + NextFile.Name;

                    //move file to dest
                    //若文件还在上传中是否会引起一个异常退出?tbd
                    if (File.Exists(destfilename)) File.Delete(destfilename);
                    File.Move(srcfilename, destfilename);
                    log.Info(logPrefix + "File[" + srcfilename + "] move to Dest;");

                    //get filesize
                    filesize = NextFile.Length;
                    log.Info(logPrefix + "Dest File[" + destfilename + "];filesieze:[" + filesize + "];");
                    if (NextFile.Extension.Length > 1)
                        fileext = NextFile.Extension.Substring(1, NextFile.Extension.Length - 1);

                    //get filecodes
                    md5 = GetFileCode(destfilename, "md5");
                    sha1 = GetFileCode(destfilename, "sha1");
                    sha256 = GetFileCode(destfilename, "sha256");
                    log.Info(logPrefix + "Dest File[" + destfilename + "];Calc==> md5:[" + md5 + "],sha1:[" + sha1 + "],sha256:[" + sha256 + "];");

                    //rec to db DriversFiles
                    /*
                         
                    [FileName] [varchar](500) NOT NULL,
                    [NFileName] [varchar](500) NOT NULL,
                    [FileExt] [varchar](50) NULL,
                    [FileType] [varchar](200) NULL,
                    [FileSize] [numeric](18, 0) NULL,
                    [ISDriver] [varchar](1) NULL,
                    [UploadBy] [varchar](200) NULL,
                    [UploadTime] [datetime] NULL,
                    [F_Path] [varchar](2000) NULL,
                    [F_DownloadTimes] [int] NULL,
                    [F_URL] [varchar](500) NULL,
                    [F_OldPath] [varchar](500) NULL,
                    [FormatFileSize] [numeric](18, 2) NULL,
                    [md5] [nvarchar](100) NULL,
                    [sha1] [nvarchar](100) NULL,
                    [sha256] [nvarchar](100) NULL,
                         
                     */

                    MyDBTable t = new MyDBTable(conn, "select * from DriversFiles");//可以得到自增id,前提:select 全部数据
                    //DataRow dr = t.Table.NewRow();
                    DataRow dr = t.NewRow();

                    dr["FileName"] = NextFile.Name;
                    dr["NFileName"] = NextFile.Name;
                    dr["FileExt"] = fileext;
                    dr["FileType"] = dr["FileExt"];
                    dr["FileSize"] = filesize;
                    dr["ISDriver"] = "1"; // ???
                    dr["UploadBy"] = "administrator";//tbd...
                    dr["UploadTime"] = DateTime.Now;
                    dr["F_Path"] = "/DriverFilesUploadFloder/server/" + relpath + NextFile.Name; // /DriverFilesUploadFloder/server/2008101712345610916/3008ESASHBAREDHATAS40X86.exe
                    dr["F_DownloadTimes"] = 0;
                    dr["F_URL"] = "http://driverdl.lenovo.com.cn/lenovo";
                    dr["F_OldPath"] = srcfilename;// ""; // E:\3008ESASHBAREDHATAS40X86.exe //2016-4-7 用作存 源头目录
                    dr["FormatFileSize"] = filesize / 1024;
                    dr["md5"] = md5;
                    dr["sha1"] = sha1;
                    dr["sha256"] = sha256;

                    //t.Table.Rows.Add(dr);
                    t.AddRow(dr);// ==> t.Rows.Add(dr);
                    t.Update();

                    log.Info(logPrefix + "Dest File[" + destfilename + "];Rec in DB;");


                }//if 存在与否


            }
            catch (IOException ioe)
            {
                log.Error(logPrefix + "Proc File IOError:" + ioe.ToString());
                //@20160327
                //这个错误将发生在move过程;若此时source还没有完全落地,将会被另一个进程占用(ftp),但此时已经建立了destdir需要删掉;
                if (Directory.Exists(destdir)) Directory.Delete(destdir);
            }
            catch (Exception e)
            {
                log.Error(logPrefix + "Proc File Error:" + e.ToString());
            }
        }
        protected void btnOK_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(Globals.ConnectionString))
            {
                CommonDAL cdal = new CommonDAL(conn);
              
                string rolename = txtRolename.Text;
                string remark = txtRemark.Text;

                int roleid = Functions.ParseInt(ViewState["roleid"], 0);
                string sql = "";
                if (roleid == 0)
                { //add
                    sql = "select count(*) as cnt from [role] where [name] ='" + rolename + "' ";
                    int cnt = Functions.ParseInt(cdal.GetFieldValueStringBySQL(sql, "cnt"), 0);
                    if (cnt > 0) {
                        GetErrMsg("角色名已存在请重新选择.");
                        return;
                    }

                    sql = " declare @rolename nvarchar(20) set @rolename='" + rolename + "' ";
                    sql += " insert into [role](name,remark) values( @rolename,'" + remark + "' ) ";
                    sql += " declare @roleid int set @roleid=@@identity ";
                    foreach (ListItem li in cblRights.Items)
                    {
                        if (li.Selected)    //表示某一项被选中了 
                        {
                            sql += " insert into role_right(roleid,rightid) values(@roleid," + li.Value + ") ";
                        }
                    }
                }
                else
                { //edit
                    sql = " declare @rolename nvarchar(20) set @rolename='" + rolename + "' ";
                    sql += " declare @roleid int set @roleid=" + roleid + " ";

                    sql += " if not exists ( select * from [role] where [name]=@rolename and id<>@roleid ) "
                    + " begin update [role] set [name]=@rolename where id=@roleid end ";
                    
                    sql += " delete from role_right where roleid=@roleid ";
                    foreach (ListItem li in cblRights.Items)
                    {
                        if (li.Selected)    //表示某一项被选中了 
                        {
                            sql += " insert into role_right(roleid,rightid) values(@roleid," + li.Value + ") ";
                        }
                    }
                }
                cdal.ExecSQL(sql);
                GetSuccessMsg("保存成功!", "rolelist.aspx");
            }

        }
        protected void btnOK_Click(object sender, EventArgs e)
        {
            using (SqlConnection conn = new SqlConnection(Globals.ConnectionString))
            {
                CommonDAL cdal = new CommonDAL(conn);
                //初始密码1234509876
                //string password_md5 = CommonBLL.GetMD5Password("1234509876");
                string password = txtPassword.Text;//"123456";
                string username = txtUsername.Text;

                int userid = Functions.ParseInt(ViewState["userid"], 0);
                string sql = "";
                if (userid == 0)
                { //add
                    sql = "select count(*) as cnt from Server_D_UserInfor where username ='******' ";
                    int cnt = Functions.ParseInt(cdal.GetFieldValueStringBySQL(sql, "cnt"), 0);
                    if (cnt > 0) {
                        GetErrMsg("用户名已存在请重新选择.");
                        return;
                    }

                    sql = " declare @username nvarchar(20) set @username='******' ";
                    sql += " insert into [Server_D_UserInfor](username,userpassword,currentstate) values( @username,'" + password + "','ON' ) ";
                    //sql += " declare @userid int set @userid=@@identity ";
                    foreach (ListItem li in cblRoles.Items)
                    {
                        if (li.Selected)    //表示某一项被选中了 
                        {
                            sql += " insert into user_role(username,roleid) values(@username," + li.Value + ") ";
                        }
                    }
                }
                else 
                { //edit
                    sql = " declare @username nvarchar(20) set @username='******' ";
                    /* 不允许修改用户名,只允许修改权限;
                    sql += " if not exists ( select * from [Server_D_UserInfor] where username=@username and id<>" + userid + " ) "
                    + " begin update [Server_D_UserInfor] set username=@username where id=" + userid + " end ";
                    */
                    //修改密码
                    sql += " update Server_D_UserInfor set userpassword='******' where username=@username ";
                    sql += " delete from user_role where username=@username ";
                    foreach (ListItem li in cblRoles.Items)
                    {
                        if (li.Selected)    //表示某一项被选中了 
                        {
                            sql += " insert into user_role(username ,roleid) values(@username," + li.Value + ") ";
                        }
                    }
                }
                cdal.ExecSQL(sql);
                GetSuccessMsg("保存成功!", "userlist.aspx");
            }

        }