EquipmentApp.cs 3.08 KB
using Hh.Mes.Common.Infrastructure;
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Response;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using System;
using System.Linq;
using System.Linq.Expressions;
using WebRepository;

namespace WebApp
{
    /// <summary>
    /// 设备列表
    /// </summary>

    public partial class EquipmentApp
    {
        private IUnitWork _unitWork;
        public IRepository<Equipment> _app;
        private static IHostingEnvironment _hostingEnvironment;
        

        public EquipmentApp(IUnitWork unitWork, IRepository<Equipment> repository, IHostingEnvironment hostingEnvironment)
        {
            _unitWork = unitWork;
            _app = repository;
            _hostingEnvironment = hostingEnvironment;
        }
        
        public EquipmentApp SetLoginInfo(LoginInfo loginInfo)
        {
            _app._loginInfo = loginInfo;
            return this;
        }
        
        public Response Load(PageReq pageRequest, Equipment entity)
        {
            return _app.Load(pageRequest, entity);
        }

        public void Ins(Equipment entity)
        {
            if (!string.IsNullOrEmpty(entity.LineCode))
            {
                entity.LineId = _unitWork.FindSingle<Line>(u => u.LineCode.Equals(entity.LineCode)).Id;
            }
            if (!string.IsNullOrEmpty(entity.StationCode))
            {
                entity.StationId = _unitWork.FindSingle<Station>(u => u.Code.Equals(entity.StationCode)).Id;
            }
            _app.Add(entity);
        }

        public void Upd(Equipment entity)
        {
            if (!string.IsNullOrEmpty(entity.LineCode))
            {
                entity.LineId = _unitWork.FindSingle<Line>(u => u.LineCode.Equals(entity.LineCode)).Id;
            }
            if (!string.IsNullOrEmpty(entity.StationCode))
            {
                entity.StationId = _unitWork.FindSingle<Station>(u => u.Code.Equals(entity.StationCode)).Id;
            }
            _app.Update(entity);
        }

        public void DelByIds(int[] ids)
        {
            _app.Delete(u => ids.Contains(u.Id.Value));
        }
        
        public Equipment FindSingle(Expression<Func<Equipment, bool>> exp)
        {
            return _app.FindSingle(exp);
        }

        public IQueryable<Equipment> Find(Expression<Func<Equipment, bool>> exp)
        {
            return _app.Find(exp);
        }

        public Response ImportIn(IFormFile excelfile)
        {
            return null;
        }

        public Response ExportData(Equipment entity)
        {
            return _app.ExportData(entity);
        }

        public Response Query(Equipment entity)
        {
            var result = new Response();
            var data = _app.Find(EntityToExpression<Equipment>.GetExpressions(entity));

            GetData(data, result);
            result.Count = data.Count();

            return result;
        }

        public void GetData(IQueryable<Equipment> data, Response result, PageReq pageRequest = null)
        {
            _app.GetData(data, result, pageRequest);
        }
    }
}