天津投入产出系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

302 lines
8.2 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QMAPP.Entity.Sys;
using QMAPP.DAL.Sys;
using QMFrameWork.Data;
using System.Data;
using QMAPP.Entity;
namespace QMAPP.BLL.Sys
{
/// <summary>
/// 文件管理逻辑层
/// 创建者:王丹丹
/// 创建时间:2015-03-17
/// </summary>
public class FileInfoBLL : BaseBLL
{
#region 获取信息
/// <summary>
/// 获取信息
/// </summary>
/// <param name="">条件</param>
/// <returns>信息</returns>
public FileInfo Get(FileInfo model)
{
try
{
return new FileInfoDAL().Get(model);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 根据文件类型获取文件信息
/// <summary>
/// 获取信息
/// </summary>
/// <param name="">条件</param>
/// <returns>信息</returns>
public IList<FileInfo> GetListModel(FileType model)
{
try
{
return new FileInfoDAL().GetList(model);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 获取列表
/// <summary>
/// 获取列表
/// </summary>
/// <param name="condition">条件</param>
/// <param name="page">数据页</param>
/// <returns>数据页</returns>
public DataPage GetList(FileInfo condition, DataPage page)
{
try
{
return new FileInfoDAL().GetList(condition, page);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 信息是否重复
/// <summary>
/// 判断名称是否存在
/// </summary>
/// <param name="info"></param>
/// <returns>true:已存在;fasel:不存在。</returns>
public bool ExistsFileInfo(FileInfo model)
{
try
{
return new FileInfoDAL().ExistsFileInfo(model);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 插入文件信息
/// <summary>
/// 插入文件信息
/// </summary>
/// <param name="model">文件信息</param>
/// <returns>插入行数</returns>
public int Insert(FileInfo model)
{
try
{
//基本信息
model.PID = Guid.NewGuid().ToString();
model.CREATEUSER = this.LoginUser.UserID;
model.CREATEDATE = DateTime.Now;
FileInfoDAL cmdDAL = new FileInfoDAL();
//校验文件名称是否
if (ExistsFileInfo(model) == true)
{
return -1;
}
int ret=new FileInfoDAL().Insert(model);
if (ret > 0)
{
SendFileIntoNotice(model);
}
return ret;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 更新信息
/// <summary>
/// 更新信息
/// </summary>
/// <param name=""></param>
/// <returns>更新行数</returns>
public int Update(FileInfo model)
{
try
{
int ret=new FileInfoDAL().Update(model);
if (ret > 0)
{
SendFileIntoNotice(model);
}
return ret;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 删除
/// <summary>
/// 删除文件
/// </summary>
/// <param strs="">文件类型主键串</param>
/// <returns>删除个数</returns>
public int Delete(string strs)
{
int count = 0;
string[] list = strs.Split(":".ToCharArray());
try
{
foreach (string str in list)
{
count += this.DeleteFileInfo(new FileInfo { PID = str });
}
return count;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 删除文件
/// </summary>
/// <param name="">信息</param>
/// <returns>删除个数</returns>
public int DeleteFileInfo(FileInfo model)
{
int count = 0;
try
{
count = new FileInfoDAL().Delete(model);
return count;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 判断附件路径是否存在
public bool ExistsFile(string newFilePath)
{
bool issuccess = true;
if (!System.IO.File.Exists(newFilePath))
{
issuccess = false;
}
return issuccess;
}
#endregion
#region 删除附件
public void DeleteFile(string FilePath)
{
if (System.IO.File.Exists(FilePath))
{
System.IO.File.Delete(FilePath); ;
}
}
#endregion
#region 获取导出的数据
/// <summary>
/// 获取导出的数据
/// </summary>
/// <param name="user">查询条件</param>
/// <returns>数据</returns>
public DataTable GetExportData(FileInfo model)
{
DataTable dt = new DataTable();
FileInfoDAL nmDal = new FileInfoDAL();
try
{
dt = nmDal.GetExportData(model);
return dt;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 将文件对象生成对应的通知并创建
private DataResult SendFileIntoNotice(FileInfo model)
{
try
{
NoticeInfo notice = new NoticeInfo();
FileType fileType = new FileType();
fileType.TYPENO = model.TYPENO;
fileType = new FileTypeBLL().Get(fileType);
notice.NOTICETITLE = "文件管理中的文件分类 '" + fileType.TYPENAME + " '下的文件 '" + model.FILENAME + " ' 被创建或修改!";
notice.NOTICECONTEXT = "文件管理中的文件分类 '" +fileType.TYPENAME + " '下的文件 '" + model.FILENAME + " ' 被创建或修改!";
List<User> users = new UserManageDAL().GetAllUser(null);
StringBuilder strUsers = new StringBuilder();
foreach (User itemUser in users)
{
strUsers.Append(itemUser.UserID + ",");
}
if (strUsers.Length > 0)
{
notice.SENDAIM = strUsers.ToString();
notice.SENDAIM = notice.SENDAIM.Substring(0, notice.SENDAIM.Length - 1);
}
else
{
notice.SENDAIM = string.Empty;
}
notice.SENDFLG = "0";
notice.SENDTIME = System.DateTime.Now;
notice.USETIME = System.DateTime.Now;
notice.OUTTIME = DateTime.Now.AddDays(2);
notice.CREATEUSER = this.LoginUser.UserID;
notice.CREATEDATE = DateTime.Now;
notice.UPDATEUSER = this.LoginUser.UserID;
notice.UPDATEDATE = DateTime.Now;
notice.CANREPLY = "0";
notice.NOTICETYPE = "1";
return new NoticeManageBll().Save(notice);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
}
}