240 lines
8.0 KiB
C#
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; }
|
|
}
|
|
|
|
}
|