Moved System.IO references from DMO classes to Static Helpers
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
This commit is contained in:
524
Fab2ApprovalSystem/Misc/ECNHelper.cs
Normal file
524
Fab2ApprovalSystem/Misc/ECNHelper.cs
Normal file
@ -0,0 +1,524 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
using Fab2ApprovalSystem.DMO;
|
||||
using Fab2ApprovalSystem.Models;
|
||||
using Fab2ApprovalSystem.ViewModels;
|
||||
|
||||
namespace Fab2ApprovalSystem.Misc;
|
||||
|
||||
public class ECNHelper {
|
||||
|
||||
private const string ECN_PREFIX = "ECN_";
|
||||
private const string TECN_PREFIX = "TECN_";
|
||||
private const string ETECN_PREFIX = "ETECN_";
|
||||
|
||||
public static bool IsITAR(ECN ecn) {
|
||||
if (ecn.IsRH && !ecn.IsAU && !ecn.IsIndustrial && !ecn.IsMA) {
|
||||
return true;
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
|
||||
public static string NotifyEmergencyTECNApproval(AppSettings appSettings, int ecnNumber, DateTime? expDate, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
string senderName = "E-TECN";
|
||||
string userEmail = string.Empty;
|
||||
string subject = "E-TECN Approved";
|
||||
string emailTemplate = "ETECNApproved.txt";
|
||||
List<string> emailIst = MiscDMO.GetEmergencyTECNApprovalNotifyList(ecnNumber).Distinct().ToList();
|
||||
string ecnFolderPath = appSettings.AttachmentFolder + "E-TECNZipped\\" + ETECN_PREFIX + ecnNumber.ToString() + ".zip";
|
||||
subject = "E-TECN Approved notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[5];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = "E-TECN";
|
||||
emailparams[4] = expDate is null ? string.Empty : expDate.Value.ToString();
|
||||
|
||||
if (IsITAR(ecn))
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, emailparams);
|
||||
else
|
||||
en.SendNotificationEmailWithAttachment(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, ecnFolderPath, emailparams);
|
||||
|
||||
emailSentList = string.Join(", ", emailIst.Distinct().ToArray());
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyApproversForCancellation(AppSettings appSettings, int ecnNumber, byte currentStep, int documentType, string ecnTypeString, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "TECNCancellationApproval.txt";
|
||||
List<string> emailIst = MiscDMO.GetApproverEmailListByDocument(@ecnNumber, currentStep, documentType).Distinct().ToList();
|
||||
string subject = ecnTypeString + " Cancellation Approval Required - " + ecnNumber + " for " + ecn.Title + ", Cancellation initiated on :" + ecn.CancellationDate;
|
||||
foreach (string email in emailIst) {
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList += email + ",";
|
||||
}
|
||||
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyApproversForRecall(AppSettings appSettings, int ecnNumber, byte currentStep, int documentType, string ecnTypeString, string recallComments, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
|
||||
List<string> emailIst = MiscDMO.GetApproverEmailListByDocument(@ecnNumber, currentStep, documentType).Distinct().ToList();
|
||||
emailIst.Add("Jeanne.McIntyre@infineon.com");
|
||||
emailIst.Add("Jonathan.Ouellette@infineon.com");
|
||||
string emailTemplate = "ECNRecallApproval.txt";
|
||||
string userEmail = string.Empty;
|
||||
string subject = ecnTypeString + " Recalled - " + ecnNumber + " for " + ecn.Title + ", Recall initiated on :" + DateTime.Now.ToString();
|
||||
string senderName = ecnTypeString;
|
||||
|
||||
foreach (string email in emailIst) {
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[5];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
emailparams[4] = recallComments;
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList += email + ",";
|
||||
}
|
||||
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyApproversForExpiration(AppSettings appSettings, int ecnNumber, byte currentStep, int documentType, string ecnTypeString, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "TECNExpirationApproval.txt";
|
||||
List<string> emailIst = MiscDMO.GetApproverEmailListByDocument(@ecnNumber, currentStep, documentType).Distinct().ToList();
|
||||
string subject = " TECN Expiration Approval Reqquired - " + ecnTypeString + "# " + ecnNumber + " for " + ecn.Title + ", Expired:" + ecn.ExpirationDate;
|
||||
|
||||
foreach (string email in emailIst) {
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
userEmail = email;
|
||||
#if (DEBUG)
|
||||
userEmail = GlobalVars.SENDER_EMAIL;
|
||||
#endif
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList += email + ",";
|
||||
}
|
||||
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyTECNCancellation(AppSettings appSettings, UserAccountDMO userDMO, int ecnNumber, string ecnFolderPath, ECN ecn, List<int> notificationUserList) {
|
||||
string emailSentList = "";
|
||||
List<string> emailIst = MiscDMO.GetTECNCancelledApprovalNotifyList(ecnNumber).Distinct().ToList();
|
||||
foreach (int userId in notificationUserList) {
|
||||
string email = userDMO.GetUserEmailByID(userId);
|
||||
if (email != null && !emailIst.Contains(email))
|
||||
emailIst.Add(email);
|
||||
}
|
||||
|
||||
string subject = string.Empty;
|
||||
string userEmail = string.Empty;
|
||||
string emailTemplate = "TECNCancelled.txt";
|
||||
if (ecn.CancellationApprovalDate == null) {
|
||||
subject = "TECN Cancellation Initiated Notice - " + ecnNumber + " for " + ecn.Title + ", Cancellation Initiated on:" + DateTime.Now;
|
||||
} else {
|
||||
subject = "TECN Cancellation Approved Notice - " + ecnNumber + " for " + ecn.Title + ", Cancelled:" + ecn.CancellationApprovalDate;
|
||||
}
|
||||
string senderName = "ECN";
|
||||
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[5];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = "TECN";
|
||||
emailparams[4] = DateTime.Now.ToString();
|
||||
|
||||
#if (DEBUG)
|
||||
userEmail = GlobalVars.SENDER_EMAIL;
|
||||
#endif
|
||||
|
||||
if (IsITAR(ecn))
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, emailparams);
|
||||
else
|
||||
en.SendNotificationEmailWithAttachment(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, ecnFolderPath, emailparams);
|
||||
emailSentList = string.Join(", ", emailIst.Distinct().ToArray());
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyTECNAutoCancellation(AppSettings appSettings, int ecnNumber, int tecnNumber, List<string> attachments, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
string senderName = "ECN";
|
||||
string subject = string.Empty;
|
||||
string userEmail = string.Empty;
|
||||
string emailTemplate = "TECNAutoCancelled.txt";
|
||||
List<string> emailIst = MiscDMO.GetTECNCancelledApprovalNotifyList(ecnNumber).Distinct().ToList();
|
||||
subject = "TECN Conversion and Cancellation Notice - " + tecnNumber + " for " + ecn.Title + ", Converted on:" + DateTime.Now;
|
||||
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[6];
|
||||
emailparams[0] = tecnNumber.ToString();
|
||||
emailparams[1] = tecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = "TECN";
|
||||
emailparams[4] = DateTime.Now.ToString();
|
||||
emailparams[5] = ecnNumber.ToString();
|
||||
|
||||
#if (DEBUG)
|
||||
userEmail = GlobalVars.SENDER_EMAIL;
|
||||
#endif
|
||||
|
||||
if (IsITAR(ecn))
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, emailparams);
|
||||
else
|
||||
en.SendNotificationEmailWithAttachments(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, attachments, emailparams);
|
||||
emailSentList = string.Join(", ", emailIst.Distinct().ToArray());
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyTECNExpiration(AppSettings appSettings, int ecnNumber, string ecnFolderPath, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
string senderName = "ECN";
|
||||
string userEmail = string.Empty;
|
||||
string emailTemplate = "TECNExpired.txt";
|
||||
List<string> emailIst = MiscDMO.GetEmergencyTECNApprovalNotifyList(ecnNumber).Distinct().ToList();
|
||||
string subject = "TECN Expiration Approved Notice - " + ecnNumber + " for " + ecn.Title + ", Expired:" + ecn.ExpirationDate;
|
||||
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[5];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = "TECN";
|
||||
emailparams[4] = ecn.ExpirationDate.Value.ToShortDateString();
|
||||
|
||||
if (IsITAR(ecn))
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, emailparams);
|
||||
else
|
||||
en.SendNotificationEmailWithAttachment(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, emailIst, null, subject, ecnFolderPath, emailparams);
|
||||
|
||||
emailSentList = string.Join(", ", emailIst.Distinct().ToArray());
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static void ReAssignApproval(AppSettings appSettings, int issueID, string ecnTypeString, string email, ECN ecn) {
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "ECNReAssigned.txt";
|
||||
string subject = ecnTypeString + " Re-Assignment";
|
||||
|
||||
subject = ecnTypeString + " Re-Assignment" + " - Email would be sent to " + email + " for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = issueID.ToString();
|
||||
emailparams[1] = issueID.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
}
|
||||
|
||||
public static string AddEECNApproval(AppSettings appSettings, int ecnNumber, string emailSentList, string emailArray, ECN ecn) {
|
||||
string senderName = "E-TECN";
|
||||
string userEmail = string.Empty;
|
||||
string subject = "E-TECN Assignment";
|
||||
string emailTemplate = "ECNAssigned.txt";
|
||||
string[] emailIst = emailArray.Split(new char[] { '~' });
|
||||
foreach (string email in emailIst) {
|
||||
if (email.Length > 0) {
|
||||
subject = "E-TECN Assignment notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = "E-TECN";
|
||||
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList += email + ",";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string AddAdditionalApproval(AppSettings appSettings, int issueID, string ecnTypeString, string emailSentList, string emailArray, ECN ecn) {
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "ECNAssigned.txt";
|
||||
string subject = ecnTypeString + " Assignment";
|
||||
string[] emailIst = emailArray.Split(new char[] { '~' });
|
||||
foreach (string email in emailIst) {
|
||||
if (email.Length > 0) {
|
||||
subject = ecnTypeString + "Assignment notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = issueID.ToString();
|
||||
emailparams[1] = issueID.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
|
||||
userEmail = email;
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList += email + ",";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static void ReAssignApproverByAdmin(AppSettings appSettings, int issueID, string ecnTypeString, string email, ECN ecn) {
|
||||
string subject;
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "ECNReAssigned.txt";
|
||||
|
||||
subject = ecnTypeString + " Re-Assignment" + " - ECN #" + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = issueID.ToString();
|
||||
emailparams[1] = issueID.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
}
|
||||
|
||||
public static string NotifyTECNExtensionRejectionToOrginator(AppSettings appSettings, int issueID, string ecnTypeString, List<string> emailIst, ECN ecn, string username) {
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string subject = ecnTypeString + " Rejection";
|
||||
string emailTemplate = "TECNExtensionReject.txt";
|
||||
|
||||
foreach (string email in emailIst) {
|
||||
subject = ecnTypeString + " Extension Rejection notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[5];
|
||||
emailparams[0] = issueID.ToString();
|
||||
emailparams[1] = issueID.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = username;
|
||||
emailparams[4] = ecnTypeString;
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
}
|
||||
|
||||
return userEmail;
|
||||
}
|
||||
|
||||
public static string NotifyRejectionToOrginator(AppSettings appSettings, int issueID, string ecnTypeString, string comments, List<string> emailIst, ECN ecn, string username) {
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "ECNReject.txt";
|
||||
string subject = ecnTypeString + " Rejection";
|
||||
|
||||
foreach (string email in emailIst) {
|
||||
subject = ecnTypeString + " Rejection notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[6];
|
||||
emailparams[0] = issueID.ToString();
|
||||
emailparams[1] = issueID.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = username;
|
||||
emailparams[4] = ecnTypeString;
|
||||
emailparams[5] = comments;
|
||||
userEmail = email;
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
}
|
||||
|
||||
return userEmail;
|
||||
}
|
||||
|
||||
public static string NotifyApprovers(AppSettings appSettings, int ecnNumber, string ecnTypeString, string emailSentList, ECN ecn, List<string> emailIst) {
|
||||
string subject = string.Empty;
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "ECNAssigned.txt";
|
||||
|
||||
subject = ecnTypeString + " Assignment notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
foreach (string email in emailIst) {
|
||||
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
userEmail = email;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList += email + ",";
|
||||
}
|
||||
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifyAdmin(AppSettings appSettings, int ecnNumber, string ecnTypeString, ECN ecn, int id) {
|
||||
string emailSentList;
|
||||
string subject = string.Empty;
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
string emailTemplate = "ECNApproved.txt";
|
||||
string ecnCreatedByEmail = MiscDMO.GetEmail(id);
|
||||
|
||||
subject = ecnTypeString + " Approval notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
userEmail = ecnCreatedByEmail;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList = ecnCreatedByEmail;
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string NotifySubmitter(AppSettings appSettings, int ecnNumber, string ecnTypeString, ECN ecn) {
|
||||
string emailSentList;
|
||||
string subject = string.Empty;
|
||||
string userEmail = string.Empty;
|
||||
string senderName = ecnTypeString;
|
||||
int ecnCreatedById = ecn.OriginatorID;
|
||||
string emailTemplate = "ECNApproved.txt";
|
||||
string ecnCreatedByEmail = MiscDMO.GetEmail(ecnCreatedById);
|
||||
|
||||
subject = ecnTypeString + " Approval notice for Number " + ecn.ECNNumber + ", - " + ecn.Title;
|
||||
|
||||
EmailNotification en = new(appSettings, subject);
|
||||
string[] emailparams = new string[4];
|
||||
emailparams[0] = ecnNumber.ToString();
|
||||
emailparams[1] = ecnNumber.ToString();
|
||||
emailparams[2] = GlobalVars.hostURL;
|
||||
emailparams[3] = ecnTypeString;
|
||||
userEmail = ecnCreatedByEmail;
|
||||
|
||||
en.SendNotificationEmail(emailTemplate, GlobalVars.SENDER_EMAIL, senderName, userEmail, null, subject, emailparams);
|
||||
emailSentList = ecnCreatedByEmail;
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static bool CreateZip(AppSettings appSettings, ECNPdf ecn, string UserId) {
|
||||
try {
|
||||
string sourceDirectory = appSettings.AttachmentFolder + "ECN\\" + ecn.ECNNumber.ToString() + "\\";
|
||||
string outputFullFilePath = "";
|
||||
|
||||
string outputFileName;
|
||||
if (ecn.IsTECN) {
|
||||
if (ecn.ExtensionDate != null)
|
||||
outputFileName = TECN_PREFIX + ecn.ECNNumber.ToString() + "_Extension.zip";
|
||||
else
|
||||
outputFileName = TECN_PREFIX + ecn.ECNNumber.ToString() + ".zip";
|
||||
|
||||
outputFullFilePath = appSettings.AttachmentFolder + "\\ECNZipped\\" + outputFileName;
|
||||
} else if (ecn.IsEmergencyTECN) // Transfer it to different folder , coz documentum does not need to have a Workflow Item created for Emergency TECN
|
||||
{
|
||||
outputFileName = ETECN_PREFIX + ecn.ECNNumber.ToString() + ".zip";
|
||||
outputFullFilePath = appSettings.AttachmentFolder + "\\E-TECNZipped\\" + outputFileName;
|
||||
} else {
|
||||
outputFileName = ECN_PREFIX + ecn.ECNNumber.ToString() + ".zip";
|
||||
outputFullFilePath = appSettings.AttachmentFolder + "\\ECNZipped\\" + outputFileName;
|
||||
}
|
||||
|
||||
Zipper zip = new();
|
||||
zip.CreateZip(outputFullFilePath, sourceDirectory);
|
||||
} catch (Exception ex) {
|
||||
EventLogDMO.Add(new WinEventLog() { IssueID = ecn.ECNNumber, UserID = UserId, DocumentType = ecn.IsECN ? "ECN" : (ecn.IsEmergencyTECN ? "E-TECN" : "TECN"), OperationType = "Error", Comments = ex.Message });
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static string AddEECNApproval(AppSettings appSettings, string userId, WorkflowDMO wfDMO, int ecnNumber, out byte step, string engUserIDs, string OpUserIDs, ECN ecn) {
|
||||
string emailSentList = "";
|
||||
step = 1;
|
||||
string emailArray = "";
|
||||
try {
|
||||
emailArray = wfDMO.AddEECNApproval(ecnNumber, step, (int)GlobalVars.DocumentType.EECN, engUserIDs, OpUserIDs);
|
||||
} catch (Exception e) {
|
||||
string detailedException = "";
|
||||
try {
|
||||
detailedException = e.InnerException.ToString();
|
||||
} catch {
|
||||
detailedException = e.Message;
|
||||
}
|
||||
string exceptionString = e.Message.ToString().Trim().Length > 500 ? "Issue=" + ecnNumber.ToString() + " Step:" + step + " " + " Userid:" + engUserIDs + " - " + OpUserIDs + " - " + e.Message.ToString().Substring(0, 250) : e.Message.ToString();
|
||||
Functions.WriteEvent(appSettings, userId + "\r\n AddEECNApproval\r\n" + detailedException, System.Diagnostics.EventLogEntryType.Error);
|
||||
EventLogDMO.Add(new WinEventLog() { IssueID = ecnNumber, UserID = userId, DocumentType = "E-TECN ", OperationType = "Error", Comments = "AddEECNApproval - " + exceptionString });
|
||||
throw new Exception(e.Message);
|
||||
}
|
||||
emailSentList = AddEECNApproval(appSettings, ecnNumber, emailSentList, emailArray, ecn);
|
||||
return emailSentList;
|
||||
}
|
||||
|
||||
public static string AttachSave(AppSettings appSettings, ECN_DMO ecnDMO, int ecnNumber, string returnString, int userId, string fullFileName, Stream stream) {
|
||||
// Some browsers send file names with full path.
|
||||
// We are only interested in the file name.
|
||||
var fileName = Path.GetFileName(fullFileName);
|
||||
|
||||
string ecnFolderPath = appSettings.AttachmentFolder + "ECN\\" + ecnNumber.ToString();
|
||||
|
||||
DirectoryInfo di = new(ecnFolderPath);
|
||||
if (!di.Exists)
|
||||
try {
|
||||
di.Create();
|
||||
} catch {
|
||||
returnString = "Error creating ECN directory.";
|
||||
}
|
||||
if (returnString == "") {
|
||||
var physicalPath = Path.Combine(ecnFolderPath, fileName);
|
||||
if (!File.Exists(physicalPath)) {
|
||||
using (FileStream fileStream = new(physicalPath, FileMode.Create, FileAccess.Write)) {
|
||||
stream.CopyTo(fileStream);
|
||||
}
|
||||
ECNAttachment attach = new() {
|
||||
ECNNumber = ecnNumber,
|
||||
FileName = fileName,
|
||||
UserID = userId,
|
||||
};
|
||||
if (File.Exists(physicalPath)) {
|
||||
ecnDMO.InsertECNAttachment(attach);
|
||||
} else {
|
||||
returnString = "File was not uploaded to server.";
|
||||
}
|
||||
} else {
|
||||
returnString = "Cannot have duplicate file names.";
|
||||
}
|
||||
}
|
||||
|
||||
return returnString;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user