예제 #1
0
파일: FtpBll.cs 프로젝트: radtek/Danfoss
        /// <summary>
        /// FTP文件添加操作
        /// </summary>
        /// <param name="msFile">内存流中的文件</param>
        /// <param name="ftpRelativePath">ftp的相对目标路径</param>
        /// <param name="hostIp">ftp主机IP</param>
        /// <param name="userNo">ftp用户名</param>
        /// <param name="userPwd">ftp用户密码</param>
        /// <param name="viewModel">文件视图对象</param>
        /// <returns>操作结果</returns>
        public string FtpAdd(MemoryStream msFile, string ftpRelativePath, string hostIp, string userNo, string userPwd, ModelView.DmsFileView viewModel)
        {
            if (viewModel == null)
            {
                return("操作对象不能为空!");
            }
            //生成文件md5值
            viewModel.file_md5 = Common.Md5Operate.GetMD5FromMemoryStream(msFile);
            string fileExtension   = System.IO.Path.GetExtension(viewModel.file_info);
            string fileOperateName = viewModel.file_md5 + "_" + System.IO.Path.GetFileNameWithoutExtension(viewModel.file_info) + fileExtension;

            if (viewModel.file_type_no.ToLower() == "08" || viewModel.file_type_no.ToLower() == "09")//bom和pms
            {
                if (!(fileExtension.ToLower() == ".xls" || fileExtension.ToLower() == ".xlsx"))
                {
                    return("文件格式不正确!");
                }
            }
            //文件格式校验
            List <string> exts = new List <string>();

            exts.Add(".doc");
            exts.Add(".docx");
            exts.Add(".xls");
            exts.Add(".xlsx");
            exts.Add(".ppt");
            exts.Add(".ppts");
            if (!exts.Contains(fileExtension.ToLower()))
            {
                return("文件格式不正确!");
            }

            //校验文件是否存在
            if (Common.FTPStreamHelper.FtpExistFile(ftpRelativePath, fileOperateName, hostIp, userNo, userPwd))
            {
                return("不能上传已存在的文件!");
            }

            if (Common.FTPStreamHelper.UploadFile(msFile, fileOperateName, ftpRelativePath, hostIp, userNo, userPwd))
            {
                Ctrl.DmsFileCtrl dfc = new DmsFileCtrl();
                if (dfc.Insert(viewModel) > 0)
                {
                    return("success");
                }
                else
                {
                    Common.FTPStreamHelper.DelFile(fileOperateName, ftpRelativePath, hostIp, userNo, userPwd);
                    return("数据写入失败!");
                }
            }
            else
            {
                return("Ftp文件上传失败!");
            }
        }
예제 #2
0
파일: FtpBll.cs 프로젝트: radtek/Danfoss
        /// <summary>
        /// FTP文件添加操作
        /// </summary>
        /// <param name="msFile">内存流中的文件</param>
        /// <param name="ftpRelativePath">ftp的相对目标路径</param>
        /// <param name="hostIp">ftp主机IP</param>
        /// <param name="userNo">ftp用户名</param>
        /// <param name="userPwd">ftp用户密码</param>
        /// <param name="viewModel">文件信息</param>
        /// <param name="fileInfo">附件信息(名称+拓展名)</param>
        /// <returns>操作结果</returns>
        public string FtpAdd(MemoryStream msFile, string ftpRelativePath, string hostIp, string userNo, string userPwd, ModelView.DmsFileView viewModel, string fileInfo)
        {
            if (string.IsNullOrEmpty(fileInfo))
            {
                return("目标文件信息无法读取!");
            }
            string fileExtension   = System.IO.Path.GetExtension(fileInfo);
            string fileOperateName = fileInfo;
            //文件格式校验
            List <string> exts = new List <string>();

            exts.Add(".doc");
            exts.Add(".docx");
            exts.Add(".xls");
            exts.Add(".xlsx");
            exts.Add(".ppt");
            exts.Add(".ppts");
            if (!exts.Contains(fileExtension.ToLower()))
            {
                return("文件格式不正确!");
            }

            //校验文件是否存在
            if (Common.FTPStreamHelper.FtpExistFile(ftpRelativePath, fileOperateName, hostIp, userNo, userPwd))
            {
                return("不能上传已存在的文件!");
            }
            if (Common.FTPStreamHelper.UploadFile(msFile, fileOperateName, ftpRelativePath, hostIp, userNo, userPwd))
            {
                viewModel.ralate_file_name = fileInfo;
                Ctrl.DmsFileCtrl dfc = new DmsFileCtrl();
                if (dfc.Update(viewModel) > 0)
                {
                    return("success");
                }
                else
                {
                    Common.FTPStreamHelper.DelFile(fileOperateName, ftpRelativePath, hostIp, userNo, userPwd);
                    return("数据写入失败!");
                }
            }
            else
            {
                return("Ftp文件上传失败!");
            }
        }
예제 #3
0
        /// <summary>
        /// 删除文件
        /// </summary>
        /// <param name="fileView">文件视图</param>
        /// <returns>删除结果</returns>
        public string DeleteFile(ModelView.DmsFileView fileView)
        {
            if (fileView == null)
            {
                return("操作目标对象为空!");
            }
            ApoActCtrl apoActCtrl = new ApoActCtrl();
            bool       b          = apoActCtrl.DeleteByRalate(fileView.file_no) > 0;

            if (b)
            {
                DmsFileCtrl dmsFileCtrl = new DmsFileCtrl();
                b = dmsFileCtrl.Delete(fileView) > 0;
                if (b)
                {
                    FtpBll ftpBll = new FtpBll();
                    //配置信息读取
                    string ftpHostIp       = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "ftpHost", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string ftpRelativePath = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "mainFtpPath", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string ftpBackupPath   = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "backupFtpPath", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string writeUserNo     = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "writeUserNo", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string writeUserPwd    = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "writeUserPwd", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string readUserNo      = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "readUserNo", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string readUserPwd     = Common.ConfigHelper.GetConfigValueFromXml("ftpSet", "readUserPwd", AppDomain.CurrentDomain.BaseDirectory + @"Config\mesWebSiteConfig.xml");
                    string tmpPath         = AppDomain.CurrentDomain.BaseDirectory + "Tmp";
                    string res             = ftpBll.FtpDelete(ftpRelativePath, ftpHostIp, writeUserNo, writeUserPwd, fileView);
                    return(res);
                }
                else
                {
                    return("文件记录删除失败!");
                }
            }
            else
            {
                return("删除动作记录失败!");
            }
        }
예제 #4
0
        /// <summary>
        /// 设定文件生效日期
        /// </summary>
        /// <param name="fileView"></param>
        /// <param name="dateStr">生效起始日期字符串</param>
        /// <returns></returns>
        public string SetValidDate(ModelView.DmsFileView fileView, string dateStr)
        {
            if (fileView == null)
            {
                return("无法设定目标文件为空的文件生效日期");
            }
            DmsFileCtrl dmsFileCtrl           = new DmsFileCtrl();
            List <ModelView.DmsFileView> list = dmsFileCtrl.GetList(fileView.file_no, fileView.eqm_no, fileView.file_type_no);
            DateTime dtTmp          = DateTime.Now;
            DateTime dtStart        = (DateTime.TryParse(dateStr, out dtTmp) ? dtTmp : DateTime.Now).Date;
            DateTime dtStop         = dtStart - new TimeSpan(0, 0, 1);
            string   validDateStart = dtStart.ToString("yyyy-MM-dd HH:mm:ss.fff");
            string   validDateEnd   = dtStop.ToString("yyyy-MM-dd HH:mm:ss.fff");
            List <ModelView.DmsFileView> list2Update = new List <ModelView.DmsFileView>();

            foreach (ModelView.DmsFileView item in list)
            {
                item.valid_date_end = validDateEnd;
                list2Update.Add(item);
            }
            fileView.valid_date_start = validDateStart;
            list2Update.Add(fileView);
            return(dmsFileCtrl.Update(list2Update) > 0 ? "success" : "生效日期数据写入失败!");
        }
예제 #5
0
파일: ApoActBll.cs 프로젝트: radtek/Danfoss
        /// <summary>
        /// 文件信息的审核通过的写入
        /// </summary>
        /// <param name="dmsFileView">要更新的文件视图</param>
        /// <returns>更新的消息</returns>
        private string UpdateFile(ModelView.DmsFileView dmsFileView)
        {
            DmsFileCtrl dmsfileCtrl = new DmsFileCtrl();

            return(dmsfileCtrl.Update(dmsFileView) > 0?"success":"文件信息写入失败!");
        }