//-----------------------------------------------------------------------
//
// * Copyright (C) HT.Cloud.Framework All Rights Reserved
// * version : 1.0
// * author : HT.Cloud.Framework
// * FileName: Notice.cs
// * history : Created by T4 04/13/2020 16:51:21
//
//-----------------------------------------------------------------------
using SqlSugar;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using HT.Cloud.Code;
using HT.Cloud.DataBase;
using HT.Cloud.Domain.SystemOrganize;
namespace HT.Cloud.Service.SystemOrganize
{
public class NoticeService : BaseService, IDenpendency
{
public NoticeService(ISqlSugarClient context) : base(context)
{
}
public async Task> GetList(string keyword)
{
var query = repository.IQueryable();
if (!string.IsNullOrEmpty(keyword))
{
query = query.Where(a => a.F_Title.Contains(keyword) || a.F_Content.Contains(keyword));
}
return await query.Where(a => a.F_DeleteMark == false).ToListAsync();
}
public async Task> GetLookList(SoulPage pagination, string keyword = "")
{
//反格式化显示只能用"等于",其他不支持
Dictionary> dic = new Dictionary>();
Dictionary enabledDic = new Dictionary();
enabledDic.Add("1", "有效");
enabledDic.Add("0", "无效");
dic.Add("F_EnabledMark", enabledDic);
pagination = ChangeSoulData(dic, pagination);
var query = repository.IQueryable().Where(a => a.F_DeleteMark == false);
if (!string.IsNullOrEmpty(keyword))
{
query = query.Where(a => a.F_Title.Contains(keyword) || a.F_Content.Contains(keyword));
}
//权限过滤(保证分页参数存在)
query = GetDataPrivilege("a", "", query);
return await query.ToPageListAsync(pagination);
}
public async Task GetLookForm(string keyValue)
{
var data = await repository.FindEntity(keyValue);
return GetFieldsFilterData(data);
}
public async Task GetForm(string keyValue)
{
var data = await repository.FindEntity(keyValue);
return data;
}
public async Task SubmitForm(NoticeEntity entity, string keyValue)
{
if (!string.IsNullOrEmpty(keyValue))
{
entity.Modify(keyValue);
await repository.Update(entity);
}
else
{
entity.F_CreatorUserName = currentuser.UserName;
entity.F_DeleteMark = false;
entity.Create();
await repository.Insert(entity);
}
}
public async Task DeleteForm(string keyValue)
{
var ids = keyValue.Split(',');
await repository.Delete(a => ids.Contains(a.F_Id));
}
}
}