Jonathan Ouellette 580e90f6a2 initial add
2022-09-27 14:10:30 -07:00

240 lines
8.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Reflection;
using System.Web;
namespace Fab2ApprovalSystem.Models
{
public class ECN :System.Object
{
public string Title { get; set; }
public int ECNNumber {get;set;}
[DataType(DataType.Date)]
public DateTime IssueDate {get;set;}
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? SubmitedDate { get; set; }
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? CloseDate { get; set; }
public int OriginatorID { get; set; }
public string OriginatorName { get; set; }
// important!!make sure the id of the control matches the name of the field in the model it is being binded to,
// in order to get the selected items from the control
public List<int> DepartmentIDs { get; set; }
public List<int> ModuleIDs { get; set; }
public List<int> AreaIDs { get; set; }
public List<int> TechnologyIDs { get; set; }
public List<int> AcknowledgementByIDs { get; set; }
public List<int> TrainingByIDs { get; set; }
public bool IsECN { get; set; }
public bool IsTECN { get; set; }
public bool IsEmergencyTECN { get; set; }
[DataType(DataType.Date)]
//[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? ExpirationDate { get; set; }
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? ExtensionDate { get; set; }
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? CancellationDate { get; set; }
public bool AcknowledgementRequired { get; set; }
public bool TrainingRequired { get; set; }
public int? AreaID { get; set; }
public int? TechnologyID { get; set; }
public bool PCRBRequired { get; set; }
public string PCRBNumber { get; set; }
public bool TestProgramChangeRequired { get; set; }
public bool SPCChangeRequired { get; set; }
public bool NewPartFlowRequired { get; set; }
public bool SPNChangeRequired { get; set; }
public string ImplementationDetails { get; set; }
public int ImpactOnEnvironment { get; set; }
public string ImpactOnEnvironmentDescription { get; set; }
public int ImpactOnCapacity { get; set; }
public string ImpactOnCapacityDescription { get; set; }
public bool IsMA { get; set; }
public bool IsRH { get; set; }
public bool IsAU { get; set; }
public bool IsIndustrial { get; set; }
public int MaterialConsumptionChangeRequired { get; set; }
public string MaterialConsumptionChangeDescription { get; set; }
public string ReasonForChange { get; set; }
public string DescriptionOfChange { get; set; }
public bool NotAFlowChange { get; set; }
public bool AttachECN_TECNToLots { get; set; }
public bool SPNFlowChangeAtSingleStep { get; set; }
public bool SPNFlowChangeAtMultipleSteps { get; set; }
public byte CurrentStep{ get; set; }
public bool TECNExtensionState { get; set; }
public bool Cancelled { get; set; }
public bool CancellationApproved { get; set; }
public bool CancellationInProgress { get; set; }
public DateTime? CancellationApprovalDate { get; set; }
public bool ExpirationProcessed {get;set;}
public bool ExpirationInProgress { get; set; }
public DateTime? ExpirationProcessedlDate { get; set; }
public bool ReSubmitted { get; set; }
public bool Converted { get; set; }
public string ConvertedToType { get; set; }
public int? ConvertedToNumber { get; set; }
public int? ConvertedFromNumber { get; set; }
public int WorkFlowNumber { get; set; }
public bool LockedForConversion { get; set; }
public bool ConversionRejected { get; set; }
public bool ConversionApprovalInProgress { get; set; }
public bool RecordLockIndicator { get; set; }
public int RecordLockedBy { get; set; }
public string RecordLockByName { get; set; }
public DateTime? RecordLockedDate { get; set; }
public int LastUpdatedBy { get; set; }
public DateTime? LastUpdateDate { get; set; }
public DateTime LastUpdateTimeStamp { get; set; }
public int? CategoryID { get; set; }
public bool FIChangeRequired { get; set; }
public string NumberOfLotsAffected { get; set; }
public bool? RecipeChange { get; set; }
public List<int> ProductFamilyIDs { get; set; }
public bool Deleted { get; set; }
public bool IsDocEC { get; set; }
public bool MetrologyChangeRequired { get; set; }
public ECN()
{
DepartmentIDs = new List<int>();
ModuleIDs = new List<int>();
AreaIDs = new List<int>();
TechnologyIDs = new List<int>();
AcknowledgementByIDs = new List<int>();
TrainingByIDs = new List<int>();
ProductFamilyIDs = new List<int>();
}
public override bool Equals(System.Object obj)
{
// If parameter is null return false.
if (obj == null)
{
return false;
}
// If parameter cannot be cast to Point return false.
ECN p = obj as ECN;
if ((System.Object)p == null)
{
return false;
}
// Return true if the fields match:
return (IsECN == p.IsECN) && (IsEmergencyTECN == p.IsEmergencyTECN);
}
/// <summary>
///
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
public bool Equals(ECN p)
{
// If parameter is null return false:
if ((object)p == null)
{
return false;
}
foreach (PropertyInfo pi in p.GetType().GetProperties())
{
foreach(PropertyInfo px in this.GetType().GetProperties())
{
if (pi.Name.ToLower() == px.Name.ToLower())
{
if (pi.GetValue(p).Equals(px.GetValue(this)))
break;
else
return false;
}
}
}
return false;
// Return true if the fields match:
//return (IsECN == p.IsECN) && (IsEmergencyTECN == p.IsEmergencyTECN);
}
}
public class ECNAffectedDeparmtent
{
//public int LotDispoDepartmentID { get; set; }
//public int IssueID { get; set; }
public int DepartmentID { get; set; }
public string DepartmentName { get; set; }
}
public class ECNAffectedModule
{
public int ModuleID { get; set; }
public string ModuleName { get; set; }
}
public class ECNCategory
{
public int CategoryID { get; set; }
public string CategoryName { get; set; }
}
public class ECNAttachment
{
public int AttachmentID { set; get; }
public int ECNNumber { get; set; }
public string FileName { get; set; }
public int UserID { get; set; }
// extrafield
public string FullName { get; set; }
public string UploadDate { get; set; }
public string Path { get; set; }
}
public class ECNArea
{
public int AreaID { set; get; }
public string Area { get; set; }
}
public class ECNTechnology
{
public int TechnologyID { get; set; }
public string Technology { get; set; }
}
public class ECNAcknowledgementTrainingBy
{
public int AcknowledgementTrainingByID { get; set; }
public string AcknowledgementTrainingBy { get; set; }
}
}