using System;
using System.Linq;
using System.Text;
using System.Data.Common;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Threading.Tasks;
using YiSha.Util;
using YiSha.Util.Extension;
using YiSha.Util.Model;
using YiSha.Data;
using YiSha.Data.Repository;
using YiSha.Enum;
using System.ComponentModel.DataAnnotations.Schema;
using YiSha.Entity.TK;
using YiSha.Model.Param.TK;
using YiSha.IService.TK;
using YiSha.Web.Code;
using YiSha.Model.Result.TK;
using YiSha.Enum.ZX;
namespace YiSha.Service.TK
{
///
/// 创 建:cmzx
/// 日 期:2021-04-20 16:57
/// 描 述:图库管理服务实现类(部分类)
///
public partial class GalleryManagerModelsService
{
private IRepositoryFactory _baseRepository;
public GalleryManagerModelsService(IRepositoryFactory baseRepository)
{
_baseRepository = baseRepository;
}
///
/// 获取分页数据
///
/// 请求参数
/// 分页条件
///
public async Task> GetPageListPartial(GalleryManagerModelsListParam param, Pagination pagination)
{
var parameters = new List();
var sql = SqlPageList(param, pagination, out parameters);
var list = await _baseRepository.BaseRepository(dbConnectType).FindList(sql, parameters.ToArray());
return list.ToList();
}
///
/// 保存数据(由于之前数据库设计不规范,无法实现在新增、修改时保存正确的操作用户信息,每张表的创建时间和创建人id、创建人姓名都不一样,且这些字段是必填项)
///
/// 实体参数
///
public async Task SaveFormPartial(GalleryManagerModelsEntity entity)
{
OperatorInfo user = await Operator.Instance.Current(entity.Token);
if (entity.Id.IsNullOrZero())
{
entity.createTime = DateTime.Now;
entity.createUserId = user?.UserId;
entity.createUserName = user?.UserName;
return await _baseRepository.BaseRepository(dbConnectType).Insert(entity);
}
else
{
return await _baseRepository.BaseRepository(dbConnectType).Update(entity);
}
}
#region 私有方法
///
/// 列表条件过滤
/// 建议该方法放在Partial部分类中,因为代码生成时当前类会被覆盖(该方法在生成时将会被注释)
///
///
///
private Expression> ListFilterPartial(GalleryManagerModelsListParam param)
{
var expression = LinqExtensions.True();
if (param != null)
{
}
return expression;
}
///
/// 获取分页Sql语句
///
///
///
private string SqlPageList(GalleryManagerModelsListParam param, Pagination pagination, out List parameters)
{
parameters = new List();
var where = new StringBuilder();
where.Append($" 1 = 1 and isDelete = {TkIsDeleteEnum.正常.ParseToInt()} ");
if (param != null)
{
if (!string.IsNullOrEmpty(param.GalleryName))
{
where.Append(" and galleryName like @GalleryName ");
parameters.Add(DbParameterExtension.CreateDbParameter("@GalleryName", $"%{param.GalleryName}%", dbConnectType));
}
//if (param.ViewType != null)
//{
// where.Append(" and ViewType = @ViewType ");
// parameters.Add(DbParameterExtension.CreateDbParameter("@ViewType", param.ViewType.ParseToInt(), dbConnectType));
//}
}
//获取分页数据Sql
var pageSql = $@"select * from galleryManagerModels where {where.ToString()}";
//统计总数据Sql
var totalSql = $@"select count(1) from galleryManagerModels where {where.ToString()}";
pageSql = SqlserverHelper.GetInstance.SqlPageList(pageSql, totalSql, pagination);
return pageSql;
}
#endregion
}
}