WebStartApp.cs 3.35 KB
using Infrastructure;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using WebRepository;

namespace WebApp
{
    /// <summary>
	/// 站台表
	/// </summary>
    
    public partial class WebStartApp
    {
        private IUnitWork _unitWork;
        public IRepository<WebStart> _app;
        private static IHostingEnvironment _hostingEnvironment;
        ExcelHelper imp = new ExcelHelper(_hostingEnvironment);

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

        public void Ins(WebStart entity)
        {
            _app.Add(entity);
        }

        public void Upd(WebStart entity)
        {
            _app.Update(entity);
        }

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

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

        public TableData ExportData(WebStart entity)
        {
            return _app.ExportData(entity);
        }

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

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

            return result;
        }

        public void GetData(IQueryable<WebStart> data, TableData result, PageReq pageRequest = null)
        {
            _app.GetData(data, result, pageRequest);
        }
        //更改接口状态
        public TableData ChangeStart(WebStart WebStart)
        {
            TableData tab = new TableData();
            tab.code = 200;
            try
            {
                WebStart webStart = _unitWork.Find<WebStart>(n => n.Id == WebStart.Id).FirstOrDefault();
                if (webStart != null)
                {
                    //关闭
                    if (webStart.IsStart ?? false)
                    {
                        webStart.IsStart = false;
                        _unitWork.Update(webStart);
                    }
                    //开启
                    else
                    {
                        webStart.IsStart = true;
                        _unitWork.Update(webStart);
                    }
                }
                else
                {
                    tab.data = 300;
                    tab.msg = "未找到该物料接口信息!!";
                }
            }
            catch (Exception ex)
            {
                tab.data = 300;
                tab.msg = ex.Message;
            }
            return tab;
        }
    }
}