130 lines
5.0 KiB
C#
130 lines
5.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using Fab2ApprovalSystem.Models;
|
|
using Dapper;
|
|
using System.Transactions;
|
|
using Fab2ApprovalSystem.Misc;
|
|
|
|
namespace Fab2ApprovalSystem.DMO
|
|
{
|
|
public class PartsRequestDMO
|
|
{
|
|
private IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING);
|
|
|
|
WorkflowDMO wfDMO = new WorkflowDMO();
|
|
|
|
public IEnumerable<PartsRequestList> GetPartsRequestList()
|
|
{
|
|
var r = this.db.Query<PartsRequestList>("PartsRequestGetList", commandType: CommandType.StoredProcedure).ToList();
|
|
return r;
|
|
}
|
|
|
|
public void Insert(PartsRequest pr)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@PRNumber", value: pr.PRNumber, dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
|
parameters.Add("@OriginatorID", pr.OriginatorID);
|
|
|
|
this.db.Execute("PartsRequestInsert", parameters, commandType: CommandType.StoredProcedure);
|
|
|
|
pr.PRNumber = parameters.Get<int>("@PRNumber");
|
|
}
|
|
|
|
public void Update(PartsRequest pr)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
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);
|
|
|
|
this.db.Execute("PartsRequestUpdate", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public PartsRequest Get(int PRNumber)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@PRNumber", value: PRNumber, dbType: DbType.Int32);
|
|
|
|
return this.db.Query<PartsRequest>("PartsRequestGet", parameters, commandType: CommandType.StoredProcedure).SingleOrDefault();
|
|
}
|
|
|
|
public IEnumerable<PartsRequestAttachmentList> GetAttachments(int prNumber)
|
|
{
|
|
var attachments = this.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)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@PRNumber", attach.PRNumber);
|
|
parameters.Add("@UserID", attach.UserID);
|
|
parameters.Add("@FileName", attach.FileName);
|
|
|
|
this.db.Execute("PartsRequestInsertAttachment", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public string GetFileName(string attachmentID)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@AttachmentID", attachmentID);
|
|
var fileName = this.db.Query<string>("PartsRequestGetAttachmentFileName", parameters, commandType: CommandType.StoredProcedure).Single();
|
|
return fileName;
|
|
}
|
|
|
|
public void DeleteAttachment(int attachmentID)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@AttachmentID", attachmentID);
|
|
this.db.Execute("PartsRequestDeleteAttachment", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
public void Submit(int prNumber, int userID)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@PRNumber", prNumber);
|
|
parameters.Add("@UserID", userID);
|
|
this.db.Execute("PartsRequestSubmitForApproval", parameters, commandType: CommandType.StoredProcedure );
|
|
}
|
|
|
|
public IEnumerable<ApprovalLogHistory> GetApprovalLogHistory(int prNumber)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@PRNumber", prNumber);
|
|
var approverList = this.db.Query<ApprovalLogHistory>("PartsRequestGetApprovalLogHistory", parameters, commandType: CommandType.StoredProcedure).ToList();
|
|
return approverList;
|
|
}
|
|
|
|
public IEnumerable<MyPartsRequestList> GetMyPartsRequests(int userID)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@UserID", userID);
|
|
|
|
var r = this.db.Query<MyPartsRequestList>("PartsRequestGetListByUser", parameters, commandType: CommandType.StoredProcedure);
|
|
return r.ToList();
|
|
}
|
|
|
|
public void DeleteDocument(int prNumber, int userid)
|
|
{
|
|
var parameters = new DynamicParameters();
|
|
parameters.Add("@UserID", userid);
|
|
parameters.Add("@PRNumber", prNumber);
|
|
|
|
this.db.Execute("PartsRequestDelete", parameters, commandType: CommandType.StoredProcedure);
|
|
}
|
|
|
|
}
|
|
}
|