using AutoMapper;
using Kean.Domain.Wcs.Models;
using Kean.Infrastructure.Database;
using Kean.Infrastructure.Database.Repository.Default;
using Kean.Infrastructure.Database.Repository.Default.Entities;
using Kean.Infrastructure.Database.Repository.Default.Entities.Interface;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Kean.Infrastructure.Repository
{
///
/// 控制仓库
///
public class WcsRepository :
Domain.Wcs.Repositories.IWcsRepository
{
private readonly IMapper _mapper; // 模型映射
private readonly IDefaultDb _database; // 默认数据库
///
/// 构造函数
///
public WcsRepository(
IMapper mapper,
IDefaultDb database)
{
_mapper = mapper;
_database = database;
}
/*
* 实现 Kean.Domain.Wcs.Repositories.IWcsRepository.GetInputs 方法
*/
public async Task> GetInputs()
{
return _mapper.Map>(await _database.From().Where(r=>r.APPLY_TASK_STATUS == 0).Select());
}
/*
* 实现 Kean.Domain.Wcs.Repositories.IWcsRepository.RemoveInput 方法
*/
public async Task RemoveInput(int id)
{
await _database.From()
.Where(a => a.CONTROL_APPLY_ID == id)
.Delete();
}
/*
* 实现 Kean.Domain.Wcs.Repositories.IWcsRepository.LogInput 方法
*/
public async Task LogInput(Input input)
{
var entity = _mapper.Map(input);
entity.UPDATE_TIME = entity.CREATE_TIME = DateTime.Now;
await _database.From().Add(entity);
}
/*
* 实现 Kean.Domain.Wcs.Repositories.IWcsRepository.GetOutputs 方法
*/
public async Task> GetOutputs()
{
return _mapper.Map>(await _database.From().Select());
}
/*
* 实现 Kean.Domain.Wcs.Repositories.IWcsRepository.GetOutput 方法
*/
public async Task