爱思开
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.
 
 
 
 
 

86 lines
2.7 KiB

using NFine.Domain.Entity.SystemManage;
using NFine.Domain.IRepository.SystemManage;
using NFine.Repository;
using NFine.Repository.SystemManage;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace NFine.Application.SystemManage
{
public class OrganizeApp : RepositoryFactory<OrganizeEntity>
{
private IOrganizeRepository service = new OrganizeRepository();
public List<OrganizeEntity> GetList()
{
List<OrganizeEntity> List = service.IQueryable().OrderBy(t => t.F_CreatorTime).ToList();
DataTable dt = GetOrganizeType();
Dictionary<string, string> type = new Dictionary<string, string>();
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow dr in dt.Rows)
{
type.Add(dr["F_ItemCode"].ToString(), dr["F_ItemName"].ToString());
}
}
if (List != null && List.Count > 0)
{
for (int i = 0; i < List.Count; i++)
{
List[i].F_CategoryId = type[List[i].F_CategoryId];
}
}
return List;
}
public OrganizeEntity GetForm(string keyValue)
{
return service.FindEntity(keyValue);
}
public DataTable GetOrganizeType()
{
DataTable dt = new DataTable();
string sql = @" SELECT detail.F_ItemCode F_ItemCode ,detail.F_ItemName F_ItemName
FROM Sys_SRM_Items item
inner join Sys_SRM_ItemsDetail detail on detail.F_ItemId=item.F_Id
WHERE item.F_EnCode='OrganizeType'
and detail.F_EnabledMark='1'
order BY detail.F_SortCode
";
return Repository().FindTableBySql(sql);
}
public void DeleteForm(string keyValue)
{
if (service.IQueryable().Count(t => t.F_ParentId.Equals(keyValue)) > 0)
{
throw new Exception("删除失败!操作的对象包含了下级数据。");
}
else
{
service.Delete(t => t.F_Id == keyValue);
}
}
public void SubmitForm(OrganizeEntity organizeEntity, string keyValue)
{
if (!string.IsNullOrEmpty(keyValue))
{
organizeEntity.Modify(keyValue);
service.Update(organizeEntity);
}
else
{
organizeEntity.Create();
service.Insert(organizeEntity);
}
}
}
}