using Hh.Mes.Common.Infrastructure; using Hh.Mes.Common.log; using Hh.Mes.Common.Request; using Hh.Mes.POJO.Entity; using Hh.Mes.POJO.Response; using Hh.Mes.Service.Repository; using Microsoft.AspNetCore.Http; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; namespace Hh.Mes.Service.Equipment { public class EquipmentPropService : RepositorySqlSugar<base_equipment_prop> { public dynamic Load(PageReq pageReq, base_equipment_prop entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var result = new Response<List<base_equipment_prop>>(); var expression = LinqWhere(entity); var linqOrder = LinqOrder(pageReq, entity); var orderByType = pageReq.order == "desc" ? OrderByType.Desc : OrderByType.Asc; //先组合查询表达式 var query = Context.Queryable<base_equipment_prop>().Where(expression).OrderBy(linqOrder, orderByType); //Exel为ture就不分页,因为导出的话是全部导出 if (!entity.Exel && pageReq != null) { int total = 0; result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total); result.Count = total; } else { result.Result = query.ToList(); result.Count = result.Result.Count(); } return result; }, catchRetrunValue: "list"); } public dynamic Ins(base_equipment_prop entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); //新增角色 Context.Insertable(entity).ExecuteCommand(); return response; }); } public dynamic Upd(base_equipment_prop entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); Context.Updateable(entity).ExecuteCommand(); return response; }); } public dynamic DelByIds(int[] ids) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); Context.Deleteable<base_equipment_prop>(t => ids.Contains(t.id)).ExecuteCommand(); return response; }); } public Response ImportIn(IFormFile excelfile) { return null; } public Response ExportData(base_equipment_prop entity) { return Load(null, entity); } public Expression<Func<base_equipment_prop, bool>> LinqWhere(base_equipment_prop model) { try { var exp = Expressionable.Create<base_equipment_prop>(); //if (!string.IsNullOrWhiteSpace(model.dictName)) exp.And(x => x.dictName.Contains(model.dictName)); //if (!string.IsNullOrWhiteSpace(model.dictType)) exp.And(x => x.dictType.Contains(model.dictType)); if (!string.IsNullOrWhiteSpace(model.remark)) exp.And(x => x.remark.Contains(model.remark)); return exp.ToExpression();//拼接表达式 } catch (Exception ex) { throw new Exception($"{ex.Message}"); } } } }