You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haoliang-net/src/CncRepository/Impl/WorkerMachineRepository.cs

63 lines
2.3 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Dapper;
using CncModels.Entity;
using CncRepository.Base;
using CncRepository.Interface;
namespace CncRepository.Impl
{
/// <summary>
/// 工人-机床绑定实现
/// </summary>
public class WorkerMachineRepository : BusinessRepository, IWorkerMachineRepository
{
public WorkerMachineRepository(string connectionString) : base(connectionString) { }
public WorkerMachine GetByMachineId(int machineId)
{
using (var conn = CreateConnection())
{
var sql = @"SELECT Id as Id, WorkerId as WorkerId, MachineId as MachineId, CreatedAt as CreatedAt FROM cnc_worker_machine WHERE MachineId = @MachineId";
return conn.QuerySingleOrDefault<WorkerMachine>(sql, new { MachineId = machineId });
}
}
public List<WorkerMachine> GetByWorkerId(int workerId)
{
using (var conn = CreateConnection())
{
var sql = @"SELECT Id as Id, WorkerId as WorkerId, MachineId as MachineId, CreatedAt as CreatedAt FROM cnc_worker_machine WHERE WorkerId = @WorkerId";
return conn.Query<WorkerMachine>(sql, new { WorkerId = workerId }).ToList();
}
}
public int Create(int workerId, int machineId)
{
using (var conn = CreateConnection())
{
var sql = @"INSERT INTO cnc_worker_machine (WorkerId, MachineId, CreatedAt) VALUES (@WorkerId, @MachineId, NOW()); SELECT LAST_INSERT_ID();";
return conn.QuerySingle<int>(sql, new { WorkerId = workerId, MachineId = machineId });
}
}
public bool DeleteByMachineId(int machineId)
{
using (var conn = CreateConnection())
{
var sql = @"DELETE FROM cnc_worker_machine WHERE MachineId = @MachineId";
return conn.Execute(sql, new { MachineId = machineId }) > 0;
}
}
public bool DeleteByWorkerId(int workerId)
{
using (var conn = CreateConnection())
{
var sql = @"DELETE FROM cnc_worker_machine WHERE WorkerId = @WorkerId";
return conn.Execute(sql, new { WorkerId = workerId }) > 0;
}
}
}
}