Tasks 184281, 184799, 184800, 184801 and 184802
Align .editorconfig files Move Controller logic to DMO classes GlobalVars.AppSettings = Models.AppSettings.GetFromConfigurationManager(); Question EditorConfig Project level editorconfig Format White Spaces AppSetting when EnvironmentVariable not set Corrective Actions Tests Schedule Actions Tests DMO Tests Controller Tests Get ready to use VSCode IDE
This commit is contained in:
@ -1,479 +1,538 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
using Dapper;
|
||||
using Fab2ApprovalSystem.Models;
|
||||
using System.Text;
|
||||
|
||||
using Fab2ApprovalSystem.Misc;
|
||||
using Fab2ApprovalSystem.Models;
|
||||
|
||||
namespace Fab2ApprovalSystem.DMO
|
||||
{
|
||||
public class TrainingDMO
|
||||
{
|
||||
private IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING);
|
||||
private static FabApprovalTrainingEntities FabApprovalDB = new FabApprovalTrainingEntities();
|
||||
namespace Fab2ApprovalSystem.DMO;
|
||||
|
||||
public int Create(int issueId)
|
||||
{
|
||||
var parameters = new DynamicParameters();
|
||||
public class TrainingDMO {
|
||||
private readonly IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING);
|
||||
#if !NET8
|
||||
private static FabApprovalTrainingEntities FabApprovalDB = new FabApprovalTrainingEntities();
|
||||
#endif
|
||||
|
||||
parameters = new DynamicParameters();
|
||||
parameters.Add("@TrainingId", dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
||||
parameters.Add("@ECNNumber", issueId);
|
||||
public int Create(int issueId) {
|
||||
DynamicParameters parameters = new();
|
||||
|
||||
this.db.Execute("InsertTrainingItem", parameters, commandType: CommandType.StoredProcedure);
|
||||
int trainingId = parameters.Get<int>("@TrainingId");
|
||||
parameters = new DynamicParameters();
|
||||
parameters.Add("@TrainingId", dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
||||
parameters.Add("@ECNNumber", issueId);
|
||||
|
||||
return trainingId;
|
||||
db.Execute("InsertTrainingItem", parameters, commandType: CommandType.StoredProcedure);
|
||||
int trainingId = parameters.Get<int>("@TrainingId");
|
||||
|
||||
return trainingId;
|
||||
}
|
||||
|
||||
public int CreateAssignment(int trainingId, int userId) {
|
||||
DynamicParameters parameters = new();
|
||||
|
||||
parameters = new DynamicParameters();
|
||||
//parameters.Add("@TrainingId", dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
||||
parameters.Add("@TrainingID", trainingId);
|
||||
parameters.Add("@UserID", userId);
|
||||
parameters.Add("@AssignmentID", dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
||||
|
||||
db.Execute("InsertTrainingAssignment", parameters, commandType: CommandType.StoredProcedure);
|
||||
int assignmentId = parameters.Get<int>("@AssignmentID");
|
||||
|
||||
return assignmentId;
|
||||
}
|
||||
|
||||
public IEnumerable<Training> GetAllTrainings() {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
IEnumerable<Training> allTrainings = (from a in db.Trainings select a).ToList();
|
||||
|
||||
return allTrainings;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public Training GetTraining(int trainingId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training trainingRecord = new Training();
|
||||
trainingRecord = (from a in db.Trainings where a.TrainingID == trainingId select a).FirstOrDefault();
|
||||
return trainingRecord;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public TrainingAssignment GetAssignment(int assignmentId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
TrainingAssignment assignmentRecord = (from a in db.TrainingAssignments where a.ID == assignmentId select a).FirstOrDefault();
|
||||
return assignmentRecord;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public int GetTrainingId(int issueId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
int ECNId = issueId;
|
||||
int trainingId = (from a in db.Trainings where a.ECN == ECNId select a.TrainingID).FirstOrDefault();
|
||||
|
||||
return trainingId;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<int> GetTrainees(int groupId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var users = (from a in db.TrainingGroupMembers where a.TrainingGroupID == groupId select a.UserID).ToList();
|
||||
|
||||
return users;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public bool isUserTrainingMember(int groupId, int userId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var users = (from a in db.TrainingGroupMembers where a.TrainingGroupID == groupId && a.UserID == userId select a).FirstOrDefault();
|
||||
|
||||
if (users == null) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
public int CreateAssignment(int trainingId, int userId)
|
||||
{
|
||||
var parameters = new DynamicParameters();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
parameters = new DynamicParameters();
|
||||
//parameters.Add("@TrainingId", dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
||||
parameters.Add("@TrainingID", trainingId);
|
||||
parameters.Add("@UserID", userId);
|
||||
parameters.Add("@AssignmentID", dbType: DbType.Int32, direction: ParameterDirection.InputOutput);
|
||||
public List<TrainingGroup> GetTrainingGroups() {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
return (from a in db.TrainingGroups select a).ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
this.db.Execute("InsertTrainingAssignment", parameters, commandType: CommandType.StoredProcedure);
|
||||
int assignmentId = parameters.Get<int>("@AssignmentID");
|
||||
public TrainingGroup GetTrainingGroupByID(int groupId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
TrainingGroup groups = (from a in db.TrainingGroups where a.TrainingGroupID == groupId select a).FirstOrDefault();
|
||||
return groups;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
return assignmentId;
|
||||
public List<int> GetECNAssignedTrainingGroups(int ECNNumber) {
|
||||
#if !NET8
|
||||
List<int> trainingGroups = (from a in FabApprovalDB.ECNTrainingBies where a.ECNNumber == ECNNumber select a.AcknowledgementTrainingByID).ToList();
|
||||
|
||||
return trainingGroups;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void AddTrainingGroupToECN(int ECNNumber, int groupId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
//ECNTrainingBy ecnTraining = new ECNTrainingBy();
|
||||
//ecnTraining.AcknowledgementTrainingByID = groupId;
|
||||
//ecnTraining.ECNNumber = ECNNumber;
|
||||
|
||||
var parameters = new DynamicParameters();
|
||||
parameters.Add("@ECNNumber", ECNNumber);
|
||||
parameters.Add("@TrainingByID", groupId);
|
||||
|
||||
this.db.Execute("ECNInsertTrainingBy", parameters, commandType: CommandType.StoredProcedure);
|
||||
|
||||
//db.ECNTrainingBies.Add(ecnTraining);
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void SetTrainingFlag(int ECNNumber) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
//ECNTrainingBy ecnTraining = new ECNTrainingBy();
|
||||
//ecnTraining.AcknowledgementTrainingByID = groupId;
|
||||
//ecnTraining.ECNNumber = ECNNumber;
|
||||
|
||||
var parameters = new DynamicParameters();
|
||||
parameters.Add("@ECNNumber", ECNNumber);
|
||||
|
||||
this.db.Execute("ECNSetTrainingFlag", parameters, commandType: CommandType.StoredProcedure);
|
||||
|
||||
//db.ECNTrainingBies.Add(ecnTraining);
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<TrainingAssignment> GetAllTrainingAssignments(int TrainingID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a;
|
||||
|
||||
RefreshTrainingData(TrainingID, TrainingData);
|
||||
|
||||
TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a;
|
||||
|
||||
return TrainingData.ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<TrainingAssignment> GetTrainingAssignments(int TrainingID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID && a.Deleted != true select a;
|
||||
|
||||
RefreshTrainingData(TrainingID, TrainingData);
|
||||
|
||||
TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a;
|
||||
|
||||
return TrainingData.ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, int userID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID && a.UserID == userID select a;
|
||||
|
||||
return TrainingData.ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<TrainingDocAck> GetAssignedDocs(int trainingAssignmentId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var docs = (from a in db.TrainingDocAcks where a.TrainingAssignmentID == trainingAssignmentId && a.Deleted != true select a).ToList();
|
||||
|
||||
return docs;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void AcknowledgeDocument(int trainingDocAckID) {
|
||||
DynamicParameters parameters = new();
|
||||
|
||||
parameters = new DynamicParameters();
|
||||
parameters.Add("@TrainingDocAckID", trainingDocAckID);
|
||||
//parameters.Add("@AttachmentID", attachmentID);
|
||||
|
||||
db.Execute("TrainingAcknowledgeDocument", parameters, commandType: CommandType.StoredProcedure);
|
||||
}
|
||||
|
||||
public void UpdateAssignmentStatus(int trainingAssignmentID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var RecordToUpdate = (from a in db.TrainingAssignments where a.ID == trainingAssignmentID select a).SingleOrDefault();
|
||||
if (RecordToUpdate.status != true) {
|
||||
RecordToUpdate.DateCompleted = DateTime.Now;
|
||||
RecordToUpdate.status = true;
|
||||
try {
|
||||
db.SaveChanges();
|
||||
} catch (InvalidOperationException e) {
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
public IEnumerable<Training> GetAllTrainings()
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
IEnumerable<Training> allTrainings = (from a in db.Trainings select a).ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
return allTrainings;
|
||||
}
|
||||
public Training GetTraining(int trainingId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training trainingRecord = new Training();
|
||||
trainingRecord = (from a in db.Trainings where a.TrainingID == trainingId select a).FirstOrDefault();
|
||||
return trainingRecord;
|
||||
}
|
||||
public TrainingAssignment GetAssignment(int assignmentId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
TrainingAssignment assignmentRecord = (from a in db.TrainingAssignments where a.ID == assignmentId select a).FirstOrDefault();
|
||||
return assignmentRecord;
|
||||
}
|
||||
public int GetTrainingId(int issueId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
int ECNId = issueId;
|
||||
int trainingId = (from a in db.Trainings where a.ECN == ECNId select a.TrainingID).FirstOrDefault();
|
||||
public int GetTrainingIdByAssignment(int trainingAssignmentID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
int trainingID = (from a in db.TrainingAssignments where a.ID == trainingAssignmentID select a.TrainingID).SingleOrDefault();
|
||||
|
||||
return trainingId;
|
||||
}
|
||||
public List<int> GetTrainees(int groupId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var users = (from a in db.TrainingGroupMembers where a.TrainingGroupID == groupId select a.UserID).ToList();
|
||||
return trainingID;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
return users;
|
||||
}
|
||||
public bool isUserTrainingMember(int groupId, int userId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var users = (from a in db.TrainingGroupMembers where a.TrainingGroupID == groupId && a.UserID == userId select a).FirstOrDefault();
|
||||
public void UpdateTrainingStatus(int trainingId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training training = (from a in db.Trainings where a.TrainingID == trainingId select a).SingleOrDefault();
|
||||
|
||||
if (users == null)
|
||||
{
|
||||
if (training != null) {
|
||||
training.CompletedDate = DateTime.Now;
|
||||
training.Status = true;
|
||||
|
||||
try {
|
||||
db.SaveChanges();
|
||||
} catch (InvalidOperationException e) {
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void reOpenTraining(int trainingId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training training = (from a in db.Trainings where a.TrainingID == trainingId select a).SingleOrDefault();
|
||||
|
||||
if (training != null) {
|
||||
training.CompletedDate = null;
|
||||
training.Status = false;
|
||||
|
||||
try {
|
||||
db.SaveChanges();
|
||||
} catch (InvalidOperationException e) {
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public bool CheckTrainingStatus(int trainingAssignmentID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
bool isFinished = true;
|
||||
int trainingID = (from a in db.TrainingAssignments where a.ID == trainingAssignmentID select a.TrainingID).SingleOrDefault();
|
||||
var trainingAssignments = from a in db.TrainingAssignments where a.TrainingID == trainingID && a.Deleted != true select a;
|
||||
|
||||
foreach (var training in trainingAssignments) {
|
||||
if (training.status == false) {
|
||||
isFinished = false;
|
||||
}
|
||||
}
|
||||
return isFinished;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public bool CheckTrainingAssignmentStatus(int trainingAssignmentID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
bool isFinished = true;
|
||||
//TrainingDocAck docsAssigned = null;
|
||||
|
||||
var docsAssigned = from a in db.TrainingDocAcks where a.TrainingAssignmentID == trainingAssignmentID && a.Deleted != true select a;
|
||||
|
||||
foreach (var doc in docsAssigned) {
|
||||
if (doc.Reviewed == false) {
|
||||
isFinished = false;
|
||||
}
|
||||
}
|
||||
|
||||
return isFinished;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public bool IsUserAssigned(int userId, int trainingId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
bool userHasAssignment = false;
|
||||
|
||||
var assignments = (from a in db.TrainingAssignments where a.TrainingID == trainingId && a.UserID == userId && a.Deleted != true select a).ToList();
|
||||
|
||||
if (assignments.Count() > 0) {
|
||||
userHasAssignment = true;
|
||||
}
|
||||
|
||||
return userHasAssignment;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<Training> GetTrainings() {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainings = from a in db.Trainings select a;
|
||||
|
||||
return trainings.ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<TrainingAssignment> GetTrainingAssignmentsByUserID(int userID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainingAssignments = from a in db.TrainingAssignments where a.UserID == userID && a.Deleted != true select a;
|
||||
|
||||
return trainingAssignments.ToList();
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void DeleteTrainingAssignment(int trainingAssignmentId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainingAssignments = from a in db.TrainingAssignments where a.ID == trainingAssignmentId select a;
|
||||
|
||||
foreach (var item in trainingAssignments) {
|
||||
item.Deleted = true;
|
||||
item.DeletedDate = DateTime.Now;
|
||||
}
|
||||
try {
|
||||
db.SaveChanges();
|
||||
} catch (InvalidOperationException e) {
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void DeleteTrainingDocAck(int trainingAssignmentId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainingDocAcks = from a in db.TrainingDocAcks where a.TrainingAssignmentID == trainingAssignmentId select a;
|
||||
|
||||
foreach (var item in trainingDocAcks) {
|
||||
item.Deleted = true;
|
||||
item.DeletedDate = DateTime.Now;
|
||||
}
|
||||
try {
|
||||
db.SaveChanges();
|
||||
} catch (InvalidOperationException e) {
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void DeleteTraining(int trainingId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training training = (from a in db.Trainings where a.TrainingID == trainingId select a).FirstOrDefault();
|
||||
|
||||
if (training != null) {
|
||||
training.Deleted = true;
|
||||
training.DeletedDate = DateTime.Now;
|
||||
}
|
||||
|
||||
List<TrainingAssignment> trainingAssignments = (from a in db.TrainingAssignments where a.TrainingID == trainingId select a).ToList();
|
||||
db.SaveChanges();
|
||||
foreach (TrainingAssignment trainingAssignment in trainingAssignments) {
|
||||
DeleteTrainingAssignment(trainingAssignment.ID);
|
||||
DeleteTrainingDocAck(trainingAssignment.ID);
|
||||
//db.SaveChanges();
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public void DeleteAssignmentByUserId(int userId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
|
||||
var userAssignments = (from a in db.TrainingAssignments where a.UserID == userId select a).ToList();
|
||||
|
||||
foreach (var item in userAssignments) {
|
||||
//get document assignments
|
||||
var docAssignments = (from a in db.TrainingDocAcks where a.TrainingAssignmentID == item.TrainingID select a).ToList();
|
||||
//delete each docAssignment
|
||||
foreach (var docAssignment in docAssignments) {
|
||||
DeleteTrainingDocAck(docAssignment.ID);
|
||||
}
|
||||
DeleteTrainingAssignment(item.ID);
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public bool CheckValidDocAck(int docAckId) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
TrainingDocAck ack = (from a in db.TrainingDocAcks where a.ID == docAckId select a).FirstOrDefault();
|
||||
|
||||
//TODO Check the user is valid
|
||||
|
||||
//Check that the assignment exists
|
||||
if (ack != null) {
|
||||
//Check that the assignment isn't deleted
|
||||
if (ack.Deleted == true) {
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Check that the assignment isn't completed
|
||||
else if (ack.Reviewed == true) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
public List<TrainingGroup> GetTrainingGroups()
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
return (from a in db.TrainingGroups select a).ToList();
|
||||
}
|
||||
public TrainingGroup GetTrainingGroupByID(int groupId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
TrainingGroup groups = (from a in db.TrainingGroups where a.TrainingGroupID == groupId select a).FirstOrDefault();
|
||||
return groups;
|
||||
}
|
||||
public List<int> GetECNAssignedTrainingGroups(int ECNNumber)
|
||||
{
|
||||
List<int> trainingGroups = (from a in FabApprovalDB.ECNTrainingBies where a.ECNNumber == ECNNumber select a.AcknowledgementTrainingByID).ToList();
|
||||
|
||||
return trainingGroups;
|
||||
}
|
||||
public void AddTrainingGroupToECN(int ECNNumber, int groupId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
//ECNTrainingBy ecnTraining = new ECNTrainingBy();
|
||||
//ecnTraining.AcknowledgementTrainingByID = groupId;
|
||||
//ecnTraining.ECNNumber = ECNNumber;
|
||||
|
||||
var parameters = new DynamicParameters();
|
||||
parameters.Add("@ECNNumber", ECNNumber);
|
||||
parameters.Add("@TrainingByID", groupId);
|
||||
|
||||
this.db.Execute("ECNInsertTrainingBy", parameters, commandType: CommandType.StoredProcedure);
|
||||
|
||||
|
||||
|
||||
|
||||
//db.ECNTrainingBies.Add(ecnTraining);
|
||||
|
||||
}
|
||||
public void SetTrainingFlag(int ECNNumber)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
//ECNTrainingBy ecnTraining = new ECNTrainingBy();
|
||||
//ecnTraining.AcknowledgementTrainingByID = groupId;
|
||||
//ecnTraining.ECNNumber = ECNNumber;
|
||||
|
||||
var parameters = new DynamicParameters();
|
||||
parameters.Add("@ECNNumber", ECNNumber);
|
||||
|
||||
this.db.Execute("ECNSetTrainingFlag", parameters, commandType: CommandType.StoredProcedure);
|
||||
|
||||
|
||||
|
||||
|
||||
//db.ECNTrainingBies.Add(ecnTraining);
|
||||
|
||||
}
|
||||
public List<TrainingAssignment> GetAllTrainingAssignments(int TrainingID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a;
|
||||
|
||||
RefreshTrainingData(TrainingID, TrainingData);
|
||||
|
||||
TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a;
|
||||
|
||||
return TrainingData.ToList();
|
||||
}
|
||||
public List<TrainingAssignment> GetTrainingAssignments(int TrainingID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID && a.Deleted != true select a;
|
||||
|
||||
RefreshTrainingData(TrainingID, TrainingData);
|
||||
|
||||
TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a;
|
||||
|
||||
return TrainingData.ToList();
|
||||
}
|
||||
public List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, int userID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID && a.UserID == userID select a;
|
||||
|
||||
return TrainingData.ToList();
|
||||
}
|
||||
public List<TrainingDocAck> GetAssignedDocs(int trainingAssignmentId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var docs = (from a in db.TrainingDocAcks where a.TrainingAssignmentID == trainingAssignmentId && a.Deleted != true select a).ToList();
|
||||
|
||||
return docs;
|
||||
}
|
||||
public void AcknowledgeDocument(int trainingDocAckID)
|
||||
{
|
||||
var parameters = new DynamicParameters();
|
||||
|
||||
parameters = new DynamicParameters();
|
||||
parameters.Add("@TrainingDocAckID", trainingDocAckID);
|
||||
//parameters.Add("@AttachmentID", attachmentID);
|
||||
|
||||
this.db.Execute("TrainingAcknowledgeDocument", parameters, commandType: CommandType.StoredProcedure);
|
||||
|
||||
}
|
||||
public void UpdateAssignmentStatus(int trainingAssignmentID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var RecordToUpdate = (from a in db.TrainingAssignments where a.ID == trainingAssignmentID select a).SingleOrDefault();
|
||||
if(RecordToUpdate.status != true)
|
||||
{
|
||||
RecordToUpdate.DateCompleted = DateTime.Now;
|
||||
RecordToUpdate.status = true;
|
||||
try
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public int GetTrainingIdByAssignment(int trainingAssignmentID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
int trainingID = (from a in db.TrainingAssignments where a.ID == trainingAssignmentID select a.TrainingID).SingleOrDefault();
|
||||
|
||||
return trainingID;
|
||||
}
|
||||
public void UpdateTrainingStatus(int trainingId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training training = (from a in db.Trainings where a.TrainingID == trainingId select a).SingleOrDefault();
|
||||
|
||||
if (training != null)
|
||||
{
|
||||
training.CompletedDate = DateTime.Now;
|
||||
training.Status = true;
|
||||
|
||||
try
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void reOpenTraining(int trainingId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training training = (from a in db.Trainings where a.TrainingID == trainingId select a).SingleOrDefault();
|
||||
|
||||
if (training != null)
|
||||
{
|
||||
training.CompletedDate = null;
|
||||
training.Status = false;
|
||||
|
||||
try
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool CheckTrainingStatus(int trainingAssignmentID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
bool isFinished = true;
|
||||
int trainingID = (from a in db.TrainingAssignments where a.ID == trainingAssignmentID select a.TrainingID).SingleOrDefault();
|
||||
var trainingAssignments = from a in db.TrainingAssignments where a.TrainingID == trainingID && a.Deleted != true select a;
|
||||
|
||||
foreach (var training in trainingAssignments)
|
||||
{
|
||||
if (training.status == false)
|
||||
{
|
||||
isFinished = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return isFinished;
|
||||
}
|
||||
|
||||
public bool CheckTrainingAssignmentStatus(int trainingAssignmentID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
bool isFinished = true;
|
||||
//TrainingDocAck docsAssigned = null;
|
||||
|
||||
var docsAssigned = from a in db.TrainingDocAcks where a.TrainingAssignmentID == trainingAssignmentID && a.Deleted != true select a;
|
||||
|
||||
|
||||
|
||||
|
||||
foreach (var doc in docsAssigned)
|
||||
{
|
||||
if (doc.Reviewed == false)
|
||||
{
|
||||
isFinished = false;
|
||||
}
|
||||
}
|
||||
|
||||
return isFinished;
|
||||
}
|
||||
public bool IsUserAssigned(int userId, int trainingId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
bool userHasAssignment = false;
|
||||
|
||||
var assignments = (from a in db.TrainingAssignments where a.TrainingID == trainingId && a.UserID == userId && a.Deleted != true select a).ToList();
|
||||
|
||||
if(assignments.Count() > 0)
|
||||
{
|
||||
userHasAssignment = true;
|
||||
}
|
||||
|
||||
return userHasAssignment;
|
||||
}
|
||||
public List<Training> GetTrainings()
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainings = from a in db.Trainings select a;
|
||||
|
||||
return trainings.ToList();
|
||||
}
|
||||
public List<TrainingAssignment> GetTrainingAssignmentsByUserID(int userID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainingAssignments = from a in db.TrainingAssignments where a.UserID == userID && a.Deleted != true select a;
|
||||
|
||||
return trainingAssignments.ToList();
|
||||
}
|
||||
|
||||
public void DeleteTrainingAssignment(int trainingAssignmentId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainingAssignments = from a in db.TrainingAssignments where a.ID == trainingAssignmentId select a;
|
||||
|
||||
foreach (var item in trainingAssignments)
|
||||
{
|
||||
item.Deleted = true;
|
||||
item.DeletedDate = DateTime.Now;
|
||||
}
|
||||
try
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
public void DeleteTrainingDocAck(int trainingAssignmentId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
var trainingDocAcks = from a in db.TrainingDocAcks where a.TrainingAssignmentID == trainingAssignmentId select a;
|
||||
|
||||
foreach (var item in trainingDocAcks)
|
||||
{
|
||||
item.Deleted = true;
|
||||
item.DeletedDate = DateTime.Now;
|
||||
}
|
||||
try
|
||||
{
|
||||
db.SaveChanges();
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
{
|
||||
string exception = e.ToString();
|
||||
Console.WriteLine(e);
|
||||
}
|
||||
}
|
||||
public void DeleteTraining(int trainingId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
Training training = (from a in db.Trainings where a.TrainingID == trainingId select a).FirstOrDefault();
|
||||
|
||||
if (training != null)
|
||||
{
|
||||
training.Deleted = true;
|
||||
training.DeletedDate = DateTime.Now;
|
||||
}
|
||||
|
||||
List<TrainingAssignment> trainingAssignments = (from a in db.TrainingAssignments where a.TrainingID == trainingId select a).ToList();
|
||||
db.SaveChanges();
|
||||
foreach (TrainingAssignment trainingAssignment in trainingAssignments)
|
||||
{
|
||||
DeleteTrainingAssignment(trainingAssignment.ID);
|
||||
DeleteTrainingDocAck(trainingAssignment.ID);
|
||||
//db.SaveChanges();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
public void DeleteAssignmentByUserId(int userId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
|
||||
var userAssignments = (from a in db.TrainingAssignments where a.UserID == userId select a).ToList();
|
||||
|
||||
foreach (var item in userAssignments)
|
||||
{
|
||||
//get document assignments
|
||||
var docAssignments = (from a in db.TrainingDocAcks where a.TrainingAssignmentID == item.TrainingID select a).ToList();
|
||||
//delete each docAssignment
|
||||
foreach (var docAssignment in docAssignments)
|
||||
{
|
||||
DeleteTrainingDocAck(docAssignment.ID);
|
||||
}
|
||||
DeleteTrainingAssignment(item.ID);
|
||||
}
|
||||
}
|
||||
public bool CheckValidDocAck(int docAckId)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
TrainingDocAck ack = (from a in db.TrainingDocAcks where a.ID == docAckId select a).FirstOrDefault();
|
||||
|
||||
//TODO Check the user is valid
|
||||
|
||||
//Check that the assignment exists
|
||||
if (ack != null)
|
||||
{
|
||||
//Check that the assignment isn't deleted
|
||||
if (ack.Deleted == true)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
//Check that the assignment isn't completed
|
||||
else if (ack.Reviewed == true)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
public List<Training> GetAllOpenTrainings()
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
List<Training> openTrainings = (from a in db.Trainings where a.Status != true && a.Deleted != true select a).ToList();
|
||||
return openTrainings;
|
||||
}
|
||||
public List<TrainingAssignment> GetOpenAssignmentsByTrainingID(int trainingID)
|
||||
{
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
List<TrainingAssignment> openAssignments = (from a in FabApprovalDB.TrainingAssignments where a.TrainingID == trainingID && a.status != true && a.Deleted != true select a).ToList();
|
||||
return openAssignments;
|
||||
}
|
||||
|
||||
private void RefreshTrainingData(int TrainingID, IQueryable<TrainingAssignment> TrainingData)
|
||||
{
|
||||
bool assignmentIsIncomplete = false;
|
||||
UserAccountDMO userAccountDMO = new UserAccountDMO();
|
||||
foreach (TrainingAssignment assignment in TrainingData)
|
||||
{
|
||||
LoginModel userModel = userAccountDMO.GetUserByID(assignment.UserID);
|
||||
if (!userModel.IsActive) UpdateAssignmentStatus(assignment.ID);
|
||||
if (assignment.Deleted != true && (assignment.DateCompleted is null || assignment.DateCompleted > DateTime.Now))
|
||||
assignmentIsIncomplete = true;
|
||||
}
|
||||
|
||||
if (!assignmentIsIncomplete)
|
||||
UpdateTrainingStatus(TrainingID);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public List<Training> GetAllOpenTrainings() {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
List<Training> openTrainings = (from a in db.Trainings where a.Status != true && a.Deleted != true select a).ToList();
|
||||
return openTrainings;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
public List<TrainingAssignment> GetOpenAssignmentsByTrainingID(int trainingID) {
|
||||
#if !NET8
|
||||
FabApprovalTrainingEntities db = new FabApprovalTrainingEntities();
|
||||
List<TrainingAssignment> openAssignments = (from a in FabApprovalDB.TrainingAssignments where a.TrainingID == trainingID && a.status != true && a.Deleted != true select a).ToList();
|
||||
return openAssignments;
|
||||
#else
|
||||
throw new NotImplementedException();
|
||||
#endif
|
||||
}
|
||||
|
||||
private void RefreshTrainingData(int TrainingID, IQueryable<TrainingAssignment> TrainingData) {
|
||||
bool assignmentIsIncomplete = false;
|
||||
UserAccountDMO userAccountDMO = new();
|
||||
foreach (TrainingAssignment assignment in TrainingData) {
|
||||
LoginModel userModel = userAccountDMO.GetUserByID(assignment.UserID);
|
||||
if (!userModel.IsActive)
|
||||
UpdateAssignmentStatus(assignment.ID);
|
||||
if (assignment.Deleted != true && (assignment.DateCompleted is null || assignment.DateCompleted > DateTime.Now))
|
||||
assignmentIsIncomplete = true;
|
||||
}
|
||||
|
||||
if (!assignmentIsIncomplete)
|
||||
UpdateTrainingStatus(TrainingID);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user