米其林项目Giraf的新接口,采用WebAPI形式,会应用在上海玉兰及波兰米其林项目中
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
3.2 KiB

using Microsoft.EntityFrameworkCore;
using WMS_GIRAF_Interface.Data;
using WMS_GIRAF_Interface.Entities;
using WMS_GIRAF_Interface.Repositories.Interface;
namespace WMS_GIRAF_Interface.Repositories.Implement;
public class ManageMainRepository: IManageMainRepository
{
private readonly MichelinDbContext _context;
private readonly ILogger<ManageMainRepository> _logger;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="context"></param>
public ManageMainRepository(MichelinDbContext context, ILogger<ManageMainRepository> logger)
{
_context = context;
_logger = logger;
}
/// <summary>
/// 获取管理任务信息
/// </summary>
/// <param name="type">查询类型</param>
/// <param name="filterInfo">筛选信息</param>
/// <returns></returns>
public MANAGE_MAIN? GetManageMain(string type, string filterInfo)
{
MANAGE_MAIN? manageMain = type switch
{
"barcode" => _context.Manage_Main.FirstOrDefault(x => x.STOCK_BARCODE == filterInfo),
"requestNumber" => _context.Manage_Main.FirstOrDefault(x => x.requestNumber == filterInfo),
_ => _context.Manage_Main.FirstOrDefault(x => x.STOCK_BARCODE == filterInfo)
};
return manageMain;
}
/// <summary>
/// 添加manageMain
/// </summary>
/// <param name="manageMain"></param>
/// <param name="manageId"></param>
/// <returns></returns>
public bool AddManageMain(MANAGE_MAIN manageMain, out int manageId)
{
try
{
manageId = 0;
if (manageMain == null)
{
return false;
}
_context.Manage_Main.Add(manageMain);
_context.SaveChanges();
_logger.LogInformation($"Catch Manage main info({manageMain.STOCK_BARCODE});");
var managemain = _context.Manage_Main.Where(x => x.STOCK_BARCODE == manageMain.STOCK_BARCODE).AsNoTracking().FirstOrDefault();
if (managemain != null)
{
manageId = managemain.MANAGE_ID;
}
return true;
}
catch (Exception e)
{
if (manageMain != null) _logger.LogError($"插入main数据出现问题:桶信息:{manageMain.STOCK_BARCODE};错误信息:{e.Message}");
throw;
}
}
public bool UpdateManageMain(MANAGE_MAIN manageMain)
{
if (manageMain == null || manageMain.MANAGE_ID == 0)
{
throw new ArgumentNullException(nameof(UpdateManageMain));
}
_context.Manage_Main.Update(manageMain);
_logger.LogInformation($"Update Manage main info({manageMain.STOCK_BARCODE});");
_context.SaveChanges();
return true;
}
/// <summary>
/// 删除主任务
/// </summary>
/// <param name="manageMain"></param>
/// <returns></returns>
public void DeleteManageMain(MANAGE_MAIN manageMain)
{
if (manageMain == null)
{
throw new ArgumentNullException(nameof(manageMain));
}
_context.Manage_Main.Remove(manageMain);
_logger.LogInformation($"Deleted Manage main info({manageMain.STOCK_BARCODE});");
_context.SaveChanges();
}
}