Removed nugetSource from pipeline Removed more comments Created Static Classes for most DMO / Controller Classes Push ConfigurationManager.AppSettings to controller Align Tests with other Projects
112 lines
4.5 KiB
C#
112 lines
4.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
|
|
using Dapper;
|
|
|
|
using Fab2ApprovalSystem.Misc;
|
|
using Fab2ApprovalSystem.Models;
|
|
|
|
namespace Fab2ApprovalSystem.DMO;
|
|
|
|
public class PartsRequestDMO {
|
|
|
|
private readonly IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING);
|
|
|
|
public IEnumerable<PartsRequestList> GetPartsRequestList() {
|
|
List<PartsRequestList> r = db.Query<PartsRequestList>("PartsRequestGetList", commandType: CommandType.StoredProcedure).ToList();
|
|
return r;
|
|
}
|
|
|
|
public void Insert(PartsRequest pr) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@PRNumber", value: pr.PRNumber, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
|
parameters.Add("@OriginatorID", pr.OriginatorID);
|
|
|
|
db.Execute("PartsRequestInsert", parameters, commandType: CommandType.StoredProcedure);
|
|
|
|
pr.PRNumber = parameters.Get<int>("@PRNumber");
|
|
}
|
|
|
|
public void Update(PartsRequest pr) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@PRNumber", pr.PRNumber);
|
|
parameters.Add("@Title", pr.Title);
|
|
parameters.Add("@RequestorID", pr.RequestorID);
|
|
parameters.Add("@TechLeadID", pr.TechLeadID);
|
|
parameters.Add("@Description", pr.Description);
|
|
|
|
db.Execute("PartsRequestUpdate", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public PartsRequest Get(int PRNumber) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@PRNumber", value: PRNumber, dbType: DbType.Int32);
|
|
|
|
return db.Query<PartsRequest>("PartsRequestGet", parameters, commandType: CommandType.StoredProcedure).SingleOrDefault();
|
|
}
|
|
|
|
public IEnumerable<PartsRequestAttachmentList> GetAttachments(int prNumber) {
|
|
List<PartsRequestAttachmentList> attachments = db.Query<PartsRequestAttachmentList>(
|
|
"SELECT AttachmentID, PRNumber, FileName, A.UserID, UploadDate, U.FirstName + ' ' + U.LastName AS FullName " +
|
|
"FROM PartsRequestAttachment A " +
|
|
"INNER JOIN Users U ON U.UserID = A.UserID " +
|
|
"WHERE PRNumber = @PRNumber",
|
|
new { PRNumber = prNumber }).ToList();
|
|
return attachments;
|
|
}
|
|
|
|
public void InsertAttachment(PartsRequestAttachment attach) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@PRNumber", attach.PRNumber);
|
|
parameters.Add("@UserID", attach.UserID);
|
|
parameters.Add("@FileName", attach.FileName);
|
|
|
|
db.Execute("PartsRequestInsertAttachment", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public string GetFileName(string attachmentID) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@AttachmentID", attachmentID);
|
|
var fileName = db.Query<string>("PartsRequestGetAttachmentFileName", parameters, commandType: CommandType.StoredProcedure).Single();
|
|
return fileName;
|
|
}
|
|
|
|
public void DeleteAttachment(int attachmentID) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@AttachmentID", attachmentID);
|
|
db.Execute("PartsRequestDeleteAttachment", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public void Submit(int prNumber, int userID) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@PRNumber", prNumber);
|
|
parameters.Add("@UserID", userID);
|
|
db.Execute("PartsRequestSubmitForApproval", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public IEnumerable<ApprovalLogHistory> GetApprovalLogHistory(int prNumber) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@PRNumber", prNumber);
|
|
List<ApprovalLogHistory> approverList = db.Query<ApprovalLogHistory>("PartsRequestGetApprovalLogHistory", parameters, commandType: CommandType.StoredProcedure).ToList();
|
|
return approverList;
|
|
}
|
|
|
|
public IEnumerable<MyPartsRequestList> GetMyPartsRequests(int userID) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@UserID", userID);
|
|
|
|
IEnumerable<MyPartsRequestList> r = db.Query<MyPartsRequestList>("PartsRequestGetListByUser", parameters, commandType: CommandType.StoredProcedure);
|
|
return r.ToList();
|
|
}
|
|
|
|
public void DeleteDocument(int prNumber, int userid) {
|
|
DynamicParameters parameters = new();
|
|
parameters.Add("@UserID", userid);
|
|
parameters.Add("@PRNumber", prNumber);
|
|
|
|
db.Execute("PartsRequestDelete", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
} |