Exemple #1
0
        private void btnConfirmCreate_Click(object sender, EventArgs e)
        {
            string createFolder = this.cbbxCreateFolder.Text.Trim();

            if (!Directory.Exists(createFolder))
            {
                Directory.CreateDirectory(createFolder);
            }


            List <SWMFileInfo> updateFileList = new List <SWMFileInfo>();

            foreach (ListViewItem lvi in this.lvMain.CheckedItems)
            {
                SWMFileInfo swmfi = new SWMFileInfo();
                swmfi.Name               = lvi.Text;
                swmfi.Ver                = lvi.SubItems[1].Text;
                swmfi.MD5                = lvi.SubItems[3].Text;
                swmfi.FullFileName       = lvi.SubItems[5].Text;
                swmfi.RelativeCreateName = lvi.SubItems[6].Text;
                updateFileList.Add(swmfi);

                string currentCreateFullFileName = Path.Combine(createFolder, swmfi.RelativeCreateName);
                string currentCreateFolder       = Directory.GetParent(currentCreateFullFileName).FullName;
                if (!Directory.Exists(currentCreateFolder))
                {
                    Directory.CreateDirectory(currentCreateFolder);
                }
                File.Copy(swmfi.FullFileName, currentCreateFullFileName, true);
            }
            if (updateFileList.Count > 0)
            {
                CreateXML(updateFileList, createFolder);
                MessageBox.Show("Create Completed!\r\n" + updateFileList.Count.ToString() + " Files Created!");
            }
            else
            {
                MessageBox.Show("没有文件被选中!");
            }

            /*
             * string releaseFolder = cbbxReleaseFolder.Text.Trim();
             * if (Directory.Exists(releaseFolder))
             * {
             *  ulxi = SerializationHelper.LoadXml(typeof(UpdateListXmlInfo), Path.Combine(releaseFolder, "updatelist.xml")) as UpdateListXmlInfo;
             * }
             * else
             * {
             *  MessageBox.Show("路径呀");
             * }
             */
        }
Exemple #2
0
        private void BindAllFilesList(string folder, string baseFolder)
        {
            DirectoryInfo di = new DirectoryInfo(folder);
            DirectoryInfo[] dirList = di.GetDirectories();
            foreach (DirectoryInfo info in dirList)
            {
                BindAllFilesList(info.FullName, baseFolder);
            }
            FileInfo[] fileList = di.GetFiles();
            foreach (FileInfo fi in fileList)
            {
                if (this.excludeExt.Contains(fi.Extension.ToLower()) || this.excludeFiles.Contains(fi.Name))
                {
                    continue;
                }
                string newMD5 = HashTools.GenerateFileHashCode(fi.FullName);
                string newVersion = FileVersionInfo.GetVersionInfo(fi.FullName).FileVersion;

                string relativeFileName = fi.FullName.Replace(baseFolder, string.Empty).Trim(Path.DirectorySeparatorChar);
                string swmFileName = relativeFileName.Replace(Path.DirectorySeparatorChar, '/');
                string swmCreateName = relativeFileName;
                if (fi.Extension.ToLower() == ".php")
                {
                    swmFileName += "_bak";
                    swmCreateName += "_bak";
                }
                ListViewItem lvi = new ListViewItem(swmFileName);

                SWMFileInfo lastSWMFileInfo = ulxiLastXML.Files.Find(
                    delegate(SWMFileInfo swmfi)
                    {
                        return swmfi.Name == swmFileName;
                    }
                    );
                if (lastSWMFileInfo != null)
                {
                    if (newVersion == null || newVersion == string.Empty)
                    {
                        if (newMD5 == lastSWMFileInfo.MD5)
                        {
                            newVersion = lastSWMFileInfo.Ver;
                        }
                        else
                        {
                            Version ver = new Version(lastSWMFileInfo.Ver);
                            newVersion = new Version(ver.Major, ver.Minor, ver.Build, ver.Revision + 1).ToString();
                        }
                    }

                    if (lastSWMFileInfo.Ver != newVersion)
                    {
                        lvi.ForeColor = Color.Red;
                    }
                }
                else
                {
                    lastSWMFileInfo = new SWMFileInfo();
                    if (newVersion == null || newVersion == string.Empty)
                    {
                        newVersion = "0.2.0.0";
                    }
                    lvi.ForeColor = Color.Purple;
                }
                lvi.Checked = true;


                ListViewItem.ListViewSubItem lvsiNewVersion = new ListViewItem.ListViewSubItem(lvi, newVersion);
                ListViewItem.ListViewSubItem lvsiLastVersion = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.Ver);
                ListViewItem.ListViewSubItem lvsiNewMD5 = new ListViewItem.ListViewSubItem(lvi, newMD5);
                ListViewItem.ListViewSubItem lvsiLastMD5 = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.MD5);
                ListViewItem.ListViewSubItem lvsiFullFileName = new ListViewItem.ListViewSubItem(lvi, fi.FullName);
                ListViewItem.ListViewSubItem lvsiCreateName = new ListViewItem.ListViewSubItem(lvi, swmCreateName);

                lvi.SubItems.Add(lvsiNewVersion);
                lvi.SubItems.Add(lvsiLastVersion);
                lvi.SubItems.Add(lvsiNewMD5);
                lvi.SubItems.Add(lvsiLastMD5);
                lvi.SubItems.Add(lvsiFullFileName);
                lvi.SubItems.Add(lvsiCreateName);
                lvMain.Items.Add(lvi);
            }
        }
Exemple #3
0
        private void btnConfirmCreate_Click(object sender, EventArgs e)
        {
            string createFolder = this.cbbxCreateFolder.Text.Trim();
            if (!Directory.Exists(createFolder))
            {
                Directory.CreateDirectory(createFolder);
            }


            List<SWMFileInfo> updateFileList = new List<SWMFileInfo>();
            foreach (ListViewItem lvi in this.lvMain.CheckedItems)
            {
                SWMFileInfo swmfi = new SWMFileInfo();
                swmfi.Name = lvi.Text;
                swmfi.Ver = lvi.SubItems[1].Text;
                swmfi.MD5 = lvi.SubItems[3].Text;
                swmfi.FullFileName = lvi.SubItems[5].Text;
                swmfi.RelativeCreateName = lvi.SubItems[6].Text;
                updateFileList.Add(swmfi);

                string currentCreateFullFileName = Path.Combine(createFolder, swmfi.RelativeCreateName);
                string currentCreateFolder = Directory.GetParent(currentCreateFullFileName).FullName;
                if (!Directory.Exists(currentCreateFolder))
                {
                    Directory.CreateDirectory(currentCreateFolder);
                }
                File.Copy(swmfi.FullFileName, currentCreateFullFileName, true);
            }
            if (updateFileList.Count > 0)
            {
                CreateXML(updateFileList, createFolder);
                MessageBox.Show("Create Completed!\r\n" + updateFileList.Count.ToString() + " Files Created!");
            }
            else
            {
                MessageBox.Show("没有文件被选中!");
            }
            /*
            string releaseFolder = cbbxReleaseFolder.Text.Trim();
            if (Directory.Exists(releaseFolder))
            {
                ulxi = SerializationHelper.LoadXml(typeof(UpdateListXmlInfo), Path.Combine(releaseFolder, "updatelist.xml")) as UpdateListXmlInfo;
            }
            else
            {
                MessageBox.Show("路径呀");
            }
             */
        }
Exemple #4
0
        private void BindAllFilesList(string folder, string baseFolder)
        {
            DirectoryInfo di = new DirectoryInfo(folder);

            DirectoryInfo[] dirList = di.GetDirectories();
            foreach (DirectoryInfo info in dirList)
            {
                BindAllFilesList(info.FullName, baseFolder);
            }
            FileInfo[] fileList = di.GetFiles();
            foreach (FileInfo fi in fileList)
            {
                if (this.excludeExt.Contains(fi.Extension.ToLower()) || this.excludeFiles.Contains(fi.Name))
                {
                    continue;
                }
                string newMD5     = HashTools.GenerateFileHashCode(fi.FullName);
                string newVersion = FileVersionInfo.GetVersionInfo(fi.FullName).FileVersion;

                string relativeFileName = fi.FullName.Replace(baseFolder, string.Empty).Trim(Path.DirectorySeparatorChar);
                string swmFileName      = relativeFileName.Replace(Path.DirectorySeparatorChar, '/');
                string swmCreateName    = relativeFileName;
                if (fi.Extension.ToLower() == ".php")
                {
                    swmFileName   += "_bak";
                    swmCreateName += "_bak";
                }
                ListViewItem lvi = new ListViewItem(swmFileName);

                SWMFileInfo lastSWMFileInfo = ulxiLastXML.Files.Find(
                    delegate(SWMFileInfo swmfi)
                {
                    return(swmfi.Name == swmFileName);
                }
                    );
                if (lastSWMFileInfo != null)
                {
                    if (newVersion == null || newVersion == string.Empty)
                    {
                        if (newMD5 == lastSWMFileInfo.MD5)
                        {
                            newVersion = lastSWMFileInfo.Ver;
                        }
                        else
                        {
                            Version ver = new Version(lastSWMFileInfo.Ver);
                            newVersion = new Version(ver.Major, ver.Minor, ver.Build, ver.Revision + 1).ToString();
                        }
                    }

                    if (lastSWMFileInfo.Ver != newVersion)
                    {
                        lvi.ForeColor = Color.Red;
                    }
                }
                else
                {
                    lastSWMFileInfo = new SWMFileInfo();
                    if (newVersion == null || newVersion == string.Empty)
                    {
                        newVersion = "0.2.0.0";
                    }
                    lvi.ForeColor = Color.Purple;
                }
                lvi.Checked = true;


                ListViewItem.ListViewSubItem lvsiNewVersion   = new ListViewItem.ListViewSubItem(lvi, newVersion);
                ListViewItem.ListViewSubItem lvsiLastVersion  = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.Ver);
                ListViewItem.ListViewSubItem lvsiNewMD5       = new ListViewItem.ListViewSubItem(lvi, newMD5);
                ListViewItem.ListViewSubItem lvsiLastMD5      = new ListViewItem.ListViewSubItem(lvi, lastSWMFileInfo.MD5);
                ListViewItem.ListViewSubItem lvsiFullFileName = new ListViewItem.ListViewSubItem(lvi, fi.FullName);
                ListViewItem.ListViewSubItem lvsiCreateName   = new ListViewItem.ListViewSubItem(lvi, swmCreateName);

                lvi.SubItems.Add(lvsiNewVersion);
                lvi.SubItems.Add(lvsiLastVersion);
                lvi.SubItems.Add(lvsiNewMD5);
                lvi.SubItems.Add(lvsiLastMD5);
                lvi.SubItems.Add(lvsiFullFileName);
                lvi.SubItems.Add(lvsiCreateName);
                lvMain.Items.Add(lvi);
            }
        }