public ActionResult Add(string version)
        {
            if (string.IsNullOrEmpty(version))
            {
                ViewBag.Title = "版本添加";
            }
            else
            {
                ViewBag.Title = "版本编辑";
            }

            var fileVersions = VersionService.GetLastestVersion();

            var cVersion = fileVersions.Versions.FirstOrDefault(m => m.VersionName == version);

            if (cVersion == null)
            {
                cVersion = new UpgradeFileInfo();
            }

            return View(cVersion);
        }
        public ActionResult Add(AddVersionModel versionModel)
        {
            try
            {
                var fileVersions = VersionService.GetLastestVersion();

                var cVersion = new UpgradeFileInfo();

                cVersion.VersionName = versionModel.VersionName;

                cVersion.LastUpdateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                cVersion.Description = versionModel.Description;

                cVersion.IsFirstVersion = fileVersions.Versions.Count == 0;

                var lastestVersion = fileVersions.Versions.SingleOrDefault(m => m.IsLastVersion);

                if (fileVersions.Versions.Count == 0 || versionModel.IsLastVersion == "true")
                {
                    if (lastestVersion != null)
                        lastestVersion.IsLastVersion = false;

                    cVersion.IsLastVersion = true;
                }
                else
                {
                    cVersion.IsLastVersion = false;
                }

                //处理文件

                //要删除的
                cVersion.FileToDelete = versionModel.FileToDelete == null ? null : versionModel.FileToDelete.ToList();

                //文件保存路径
                string pathForEntry = Server.MapPath(FILEENTRYPATH + "/" + versionModel.VersionName);

                cVersion.FilesToUpgrade = new List<string>();

                cVersion.FilesSize = 0.0;

                //要更新的
                foreach (var fileName in versionModel.FilesToUpgrade)
                {
                    var fileInfo = new FileInfo(fileName);
                    bool isShouldIngnore = !fileInfo.Exists;

                    if (fileVersions.FileExtensionToIgnore.Where(m => m.ToUpper() == fileInfo.Extension.ToUpper()).Count() > 0)
                    {
                        isShouldIngnore = true;
                    }
                    if (fileVersions.FilesToIgnore.Where(m => m.ToUpper() == fileInfo.Name.ToUpper()).Count() > 0)
                    {
                        isShouldIngnore = true;
                    }

                    if (!isShouldIngnore)
                    {
                        //文件相对路径
                        string fileRelativeName = fileName.Remove(0, pathForEntry.Length + 1);

                        cVersion.FilesToUpgrade.Add(fileRelativeName);

                        var fileStream = fileInfo.OpenRead();
                        cVersion.FilesSize += fileStream.Length / 1024;
                        fileStream.Close();
                    }
                }

                //递归删除版本目录下不需要更新的文件
                var fileNamesShouldKeep = cVersion.FilesToUpgrade.Select(m => Path.Combine(pathForEntry, m));

                LoopDeleteFile(pathForEntry, fileNamesShouldKeep.ToList());

                fileVersions.Versions.Add(cVersion);

                VersionService.SaveVersionInfo(fileVersions);

                return Json(new { IsSuccess = true });
            }
            catch (Exception ex)
            {
                return Json(new { IsSuccess = false, Message = ex.Message });
            }
        }