/// <summary> /// get except condition /// </summary> private void formatListsByFileTypeSet(string monistorId) { IFileTypeSetService iftss = BLLFactory.ServiceAccess.CreateFileTypeSetService(); string monitorServerId = monistorId; IList <FileTypeSet> fileTypeSetList = iftss.GetFileTypeSetByMonitorServerID(monitorServerId); foreach (FileTypeSet fileTypeSet in fileTypeSetList) { if (!Directory.Exists(fileTypeSet.monitorServerFolderName)) { continue; } List <string> exList = new List <string>(); if (fileTypeSet.exceptAttributeFlg1 == "1" && !string.IsNullOrEmpty(fileTypeSet.exceptAttribute1)) { exList.Add(fileTypeSet.exceptAttribute1); } if (fileTypeSet.exceptAttributeFlg2 == "1" && !string.IsNullOrEmpty(fileTypeSet.exceptAttribute2)) { exList.Add(fileTypeSet.exceptAttribute2); } if (fileTypeSet.exceptAttributeFlg3 == "1" && !string.IsNullOrEmpty(fileTypeSet.exceptAttribute3)) { exList.Add(fileTypeSet.exceptAttribute3); } DirectoryInfo dir = new DirectoryInfo(fileTypeSet.monitorServerFolderName); FileInfo[] files = dir.GetFiles(); if (files.Count() > 0) { foreach (FileInfo fileInfo in files) { string extension = fileInfo.Extension; if (!exList.Contains(extension)) { continue; } string fullPath = fileInfo.FullName.IndexOf('\\') > -1 ? fileInfo.FullName.Substring(0, fileInfo.FullName.LastIndexOf('\\')) : fileInfo.FullName; MonitorServerFolder msf = new MonitorServerFolder(); msf.monitorServerID = Convert.ToInt32(monistorId); msf.monitorFilePath = fullPath; msf.monitorFileName = fileInfo.Name; msf.monitorFileType = fileInfo.Extension; formatListsData(msf, monistorId); } } } }
public ActionResult Add(string dataJson, int intMonitorServerID) { int result = 0; if (Session["LoginId"] == null) { result = -99; } else { try { List <MonitorServerFolder> folderList = new List <MonitorServerFolder>(); folderList = JsonHelper.ParseFormJson <List <MonitorServerFolder> >(dataJson); IFileTypeSetService setService = BLLFactory.ServiceAccess.CreateFileTypeSetService(); setFileList = setService.GetFileTypeSetByMonitorServerID(intMonitorServerID.ToString()); string dt = Common.CommonUtil.DateTimeNowToString(); msFolderService.DeleteMonitorServerFolderByServerId(intMonitorServerID); //format folder list globalfolderList = folderList; tempRemoveLists.Clear(); //Not filter——2014-06-11 wjd commented //formatListsByFileTypeSet(intMonitorServerID.ToString()); foreach (MonitorServerFolder model in globalfolderList) { if (model != null) { model.id = null; model.monitorFilePath = model.monitorFilePath.TrimEnd('\\'); if (model.monitorFileType == "99") { //選択のはフォルダの場合 string strpath = string.Empty; if (model.monitorFileName == "") { strpath = model.monitorFilePath; } else { strpath = model.monitorFilePath + "\\" + model.monitorFileName; } if (Directory.Exists(strpath)) { FileTypeSet fset = setService.GetFileTypeSetByMonitorServerIdAndFolderName(intMonitorServerID.ToString(), model.monitorFilePath); DirectoryInfo dirInfo = new DirectoryInfo(strpath); if (fset != null) { if (fset.hiddenFileFlg == "1") {//隠しファイル if ((dirInfo.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden) { continue; } } if (fset.systemFileFlg == "1") {//システムファイル if ((dirInfo.Attributes & FileAttributes.System) == FileAttributes.System) { continue; } } } model.createDate = dt; model.updateDate = dt; model.creater = Session["LoginId"].ToString(); model.updater = Session["LoginId"].ToString(); model.monitorServerID = intMonitorServerID; model.monitorFlg = "0"; model.initFlg = "1"; model.deleteFlg = 0; result = msFolderService.InsertMonitorServerFolder(model); //Not save subfolder——2014-06-11 wjd commented //result = InsertFolder(strpath, dt.ToString(), intMonitorServerID); } } else {//選択のはファイルの場合 string pathName = model.monitorFilePath + "\\" + model.monitorFileName; FileTypeSet fset = setService.GetFileTypeSetByMonitorServerIdAndFolderName(intMonitorServerID.ToString(), model.monitorFilePath); FileInfo fileInfo = new FileInfo(pathName); if (fset != null) { if (fset.hiddenFileFlg == "1") {//隠しファイル if ((fileInfo.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden) { continue; } } if (fset.systemFileFlg == "1") {//システムファイル if ((fileInfo.Attributes & FileAttributes.System) == FileAttributes.System) { continue; } } } model.createDate = dt; model.updateDate = dt; model.creater = Session["LoginId"].ToString(); model.updater = Session["LoginId"].ToString(); model.monitorServerID = intMonitorServerID; model.monitorFlg = "1"; model.deleteFlg = 0; model.initFlg = "1"; result = msFolderService.InsertMonitorServerFolder(model); } } } /* --選択条件 不要 * foreach (FileTypeSet fts in setFileList) * { * if (Directory.Exists(fts.monitorServerFolderName)) * { * DirectoryInfo dirInfo = new DirectoryInfo(fts.monitorServerFolderName); * foreach (FileInfo file in dirInfo.GetFiles()) * { * * if (CommonUtil.IsExceptFile(file.Name, fts.includeAttribute1, fts.includeAttribute2, fts.includeAttribute3)) * { * bool bSaved = false; * foreach (MonitorServerFolder modelFolder in folderList) * { * * if (fts.monitorServerFolderName == modelFolder.monitorFilePath && file.Name == modelFolder.monitorFileName) * { * bSaved = true; * break; * } * } * if (bSaved) * { * continue; * } * MonitorServerFolder model = new MonitorServerFolder(); * //FileInfo file = new FileInfo(strFolderPath); * model.createDate = dt.ToString(); * model.updateDate = dt.ToString(); * model.creater = Session["LoginId"].ToString(); * model.updater = Session["LoginId"].ToString(); * model.monitorFlg = "1"; * model.deleteFlg = 0; * model.initFlg = "1"; * model.monitorServerID = intMonitorServerID; * model.monitorFileName = file.Name; * model.monitorFilePath = file.DirectoryName; * model.monitorFileType = file.Extension.ToString(); * result = msFolderService.InsertMonitorServerFolder(model); * } * } * * } * } */ } catch (Exception ex) { result = -10; logger.Error(ex.Message); } } Response.Write(result); Response.End(); return(null); }