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

463 lines
15 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace Fab2ApprovalSystem.Models
{
/// <summary>
///
/// </summary>
[Serializable]
public class LTWorkRequest
{
public int ID{ get; set; }
public int SWRNumber{ get; set; }
public bool RecordLockIndicator{ get; set; }
public int RecordLockedBy { get; set; }
public string RecordLockByName { get; set; }
public byte CurrentStep { get; set; }
public int Revision{ get; set; }
public bool IsCurrentRevision { get; set; }
public int OriginatorID{ get; set; }
public DateTime? OriginatedDate { get; set; }
public DateTime? SubmitedDate { get; set; }
public DateTime? CloseDate { get; set; }
public int Status{ get; set; }
public bool IsITAR{ get; set; }
public string Title{ get; set; }
public char? LotType{ get; set; }
public string PCRBNumber{ get; set; }
public int? EngLotStartRequired{ get; set; }
public int? LotTypeConversion{ get; set; }
public int? QualLot{ get; set; }
public string PurposeOfRequest{ get; set; }
public DateTime? PlannedLotStartDate{ get; set; }
public DateTime? PlannedScheduledCloseDate{ get; set; }
public string ChargeDepartment{ get; set; }
public string AllocationToUse{ get; set; }
public int? PredictedCyleTime{ get; set; }
public string ChargesForRawWafers{ get; set; }
public string DeptChargedForRawWafers{ get; set; }
public string DeptOwnerForRawWafers{ get; set; }
public string FabCost{ get; set; }
public string DeptChargedForFabCost{ get; set; }
public string SignOn{ get; set; }
public string Verb1{ get; set; }
public DateTime? EstimatedBinCLoseDate { get; set; }
public int? TotalQty { get; set; }
public int? StartQty{ get; set; }
public string Verb2{ get; set; }
public string WIPArea{ get; set; }
public DateTime? LotStartDate{ get; set; }
public string LotNumber { get; set; }
public string WIPPartNumber{ get; set; }
public string PartDescription { get; set; }
public string DefaultEPISiliconPartNumber { get; set; }
public string ProcessFlow{ get; set; }
public string EmployeeID{ get; set; }
public string VerbComment{ get; set; }
public int? RecordSiliconLotInSPNTapeTagTotrav { get;set;}
public string SiliconLotNoCassette1 { get; set; }
public bool SiliconOnHand { get; set; }
public DateTime? SiliconExpectedDueDate { get; set; }
public string SiliconComments { get; set; }
public bool ReticleOnHand { get; set; }
public DateTime? ReticleExpectedDueDate { get; set; }
public string ReticleComments { get; set; }
public bool SPNTransferOnHand { get; set; }
public DateTime? SPNTransferExpectedDueDate { get; set; }
public string SPNTransferComments { get; set; }
public bool ProbeCardOnHand { get; set; }
public DateTime? ProbeCardExpectedDueDate { get; set; }
public string ProbeCardComments { get; set; }
public bool ProbeRecipeOnHand { get; set; }
public DateTime? ProbeRecipeExpectedDueDate { get; set; }
public string ProbeRecipeComments { get; set; }
public bool ProcessChangeDetailsOnHand { get; set; }
public DateTime? ProcessChangeDetailsDueDate { get; set; }
public string LotStartCheckListComments { get; set; }
public LTHoldStep LTHoldStep { get; set; }
public LTWorkRequestAttachment WorkRequestAttachment { get; set; }
public int LotCount { get; set; }
// View Model attributes
public List<int> DepartmentIDs { get; set; }
public List<int> ModuleIDs { get; set; }
public string OriginatorName { get; set; }
public string RevisionComments { get; set; }
public LTMaterial LTMaterial { get; set; }
public int PreviousWorkRequestID { get; set; }
public int WorkFlowNumber { get; set; }
public string ApprovalStatus
{
get
{
return Status == 1? "Approved" : "Pending";
}
}
public LTWorkRequest()
{
DepartmentIDs = new List<int>();
ModuleIDs = new List<int>();
LTHoldStep = new LTHoldStep();
LTMaterial = new LTMaterial();
}
}
public class LTMaterial
{
public int ID { get; set; }
[Display(Name = "WIP Part #")]
public string WIPPartNumber { get; set; }
[Display(Name = "EPI Silicon Part#")]
public string EPISiliconPartNumber { get; set; }
public int Quantity { get; set; }
public string Supplier { get; set; }
public string Source { get; set; }
public int LTWorkRequestID { get; set; }
public int PreviousMaterialID { get; set; }
}
/// <summary>
///
/// </summary>
public class LTAffectedDepartment
{
public int ID { get; set; }
public int DepartmentID { get; set; }
public int LTWorkRequestID { get; set; }
}
/// <summary>
///
/// </summary>
public class LTAffectedModule
{
public int ID { get; set; }
public int ModuleID { get; set; }
public int LTWorkRequestID { get; set; }
}
/// <summary>
///
/// </summary>
//public class LTMaterial
//{
// public int ID { get; set; }
// public string WIPPartNumber { get; set; }
// public string Description { get; set; }
// public string EPISiliconPartNumber { get; set; }
// public int Quantity { get; set; }
// public string Supplier { get; set; }
// public int LTWorkRequestID { get; set; }
// public LTMaterial()
// {
// Description = "";
// }
//}
/// <summary>
///
/// </summary>
public class LTLotStartCheckList
{
public int ID { get; set; }
public string Item { get; set; }
public bool OnHand { get; set; }
public DateTime? ExpectedDueDate { get; set; }
public int LTWorkRequestID { get; set; }
public string Comments { get; set; }
}
/// <summary>
///
/// </summary>
public class LTHoldStep
{
public int ID { get; set; }
public string BaseFlow { get; set; }
public string Location { get; set; }
[Display(Name="Seq")]
public string OperSequence { get; set; }
public string Operation { get; set; }
public string OperationDescription { get; set; }
public string ChangeInstructions { get; set; }
public string FileNames { get; set; }
public int LTWorkRequestID { get; set; }
public int UpdatedBy { get; set; }
public LTWorkRequestAttachment LTWorkRequestAttachment { get; set; }
public int Revision { get; set; }
public int SWRNumber { get; set; }
public int currentStep { get; set; }
public int PreviousHoldStepID { get; set; }
public LTHoldStep()
{
LTWorkRequestAttachment = new LTWorkRequestAttachment();
}
}
/// <summary>
///
/// </summary>
public class LTWorkRequestAttachment
{
public int ID { get; set; }
public string FileGUID { get; set; }
public string FileName { get; set; }
public string DocType { get; set; }
public string Comments { get; set; }
public DateTime? UploadDateTime { get; set; }
public int LTHoldStepID { get; set; }
public string UploadedByName { get; set; }
public int UploadedByID { get; set; }
public int Revision { get; set; }
public int WorkRequestID { get; set; }
public int SWRNumber { get; set; }
public string FileExtension { get; set; }
public int PreviousWorkRequestAttachmentID { get; set; }
}
/// <summary>
///
/// </summary>
public class LTLotTravelerHeaderViewModel
{
public int ID { get; set; }
public int SWRNumber { get; set; }
public string LotNumber { get; set; }
public string Title { get; set; } //
public string Status { get; set; } //
public string Originator { get; set; } //
public string WIPPartNumber { get; set; }
public string PartDescription { get; set; }
public string BaseFlow { set; get; }
public bool IsITAR { set; get; }
public DateTime? LastUpdate { get; set; }
public string LastUpdatedBy { get; set; }
public string PurposeOfRequest { get; set; }
//public int Quantity { get; set; }
//public bool TravelerAttachedToLot { get; set; }
public int LotTravCurrentRevision { get; set; }
public LTLotTravelerHoldSteps LTLotTravelerHoldStep { get; set; }
public bool IsCurrentRevision { get; set; }
//public string Comments { get; set; }
public int LTWorkRequestID { get; set; }
public int LotTravRevID { get; set; }
public bool RecordLockIndicator { get; set; }
public int RecordLockedBy { get; set; }
public int RecordLockedByName { get; set; }
public List<Revision> Revisions { get; set; }
public bool TravelerClosed { get; set; }
public DateTime? TravelerClosedDate { get; set; }
public string TravelerClosedBy { get; set; }
public string TravelerClosedReason { get; set; }
public int WorkReqRevision { get; set; }
public string TravelerStatus
{
get
{
return TravelerClosedDate == null ? "Open" : "Closed";
}
}
public LTLotTravelerHeaderViewModel()
{
LTLotTravelerHoldStep = new LTLotTravelerHoldSteps();
}
}
/// <summary>
///
/// </summary>
public class LTLot
{
public int ID { get; set; }
public int WorkRequestID { get; set; }
public string LotNumber { get; set; }
public string WIPPartNumber { get; set; }
public int WaferQty { get; set; }
public string PartDescription { get; set; }
public string Process { get; set; }
public string Location { get; set; }
public string Operation { get; set; }
public string LotStatus { get; set; }
public bool IsTravelerGenerated { get; set; }
[Display(Name="Revision")]
public int LotTravelerCurrentRevision { get; set; }
public int LotUploadedBy { get; set; }
public string UploadedByName { get; set; }
public DateTime LotUploadDatetime { get; set; }
public int WRWithExistingLot { get; set; }
public string TravelerStatus { get; set; }
public bool TravelerClosed { get; set; }
public DateTime? TravelerClosedDate { get; set; }
//public int RecordLockIndicator { get; set; }
//public int RecordLockedBy { get; set; }
//public DateTime? RecordLockedDateTime { get; set; }
//public bool IsCurrentRevision { get; set;}
//public int Revision { get; set; }
[Display(Name = "")]
public string ButtonAttrib
{
get
{
return (IsTravelerGenerated ? "True" : "False") + "~" + ID + "~" + WorkRequestID + "~" + LotStatus + "~" + TravelerStatus;
}
}
}
/// <summary>
///
/// </summary>
public class LTLotTravelerRevisionAttrib
{
public int ID { get; set; }
public int LTLotID { get; set; }
public int RevisionNumber { get; set; }
public bool IsCurrentRevision { get; set; }
public string Comments { get; set; }
public int RecordLockIndicator { get; set; }
public int RecordLockedBy { get; set; }
public DateTime? RecordLockedDate { get; set; }
public int TravelerLastUpdatedBy { get; set; }
public DateTime? TraverlerLastUpdatedDatetime { get; set; }
}
public class LTLotTravlerHistory
{
}
/// <summary>
///
/// </summary>
public class LTLotTravelerHoldSteps
{
public int ID { get; set; }
public string Location { get; set; }
public string Operation { get; set; }
public string OperSequence { get; set; }
public string Description { get; set; }
public string OperationDescription { get; set; }
public string ChangeInstructions { get; set; }
public bool OLHoldInSPN { get; set; }
public string ExecutionTaskComments { get; set; }
public string EmployeeID { get; set; }
public bool Completed { get; set; }
public DateTime? SignOffTime { get; set; }
public int SignedOffBy { get; set; }
[Display(Name="SignedOff By")]
public string SignedOffByName { get; set; }
public int LotTravelerRevisionID { get; set; }
public string RevisionComments { get; set; }
public DateTime? UpdatedDateTime { get; set; }
public int? UpdatedBy { get; set; }
public int CurrentRevision { get; set; }
// view model fields
public string FileNames { get; set; }
public int SWRNumber { get; set; }
public int LTLotID { get; set; }
public int WorkRequestID { get; set; }
}
/// <summary>
///
/// </summary>
public class LTLotTravAttachment
{
public int ID { get; set; }
public string FileGUID { get; set; }
public string FileName { get; set; }
public string DocType { get; set; }
public string Comments { get; set; }
public int LotTravelerRevisionID { get; set; }
public int LTLotTravHoldStepID { get; set; }
public DateTime? UploadTime { get; set; }
public int UploadedByID { get; set; }
public string UploadedByName { get; set; }
}
/// </summary>
public class BaseFlowLocation
{
public string Location { get; set; }
}
public class BaseFlowOperations
{
public string Operation { get; set; }
public string OperationDesc { get; set; }
public string OperCode { get; set; }
public string SeqCode { get; set; }
}
/// </summary>
public class BaseFlowLocationOperation
{
public string BaseFlow { get; set; }
public string Location { get; set; }
public string Operation { get; set; }
}
public class PartNumberAttrib
{
public string PartNumber { get; set; }
public string SiliconAndDesc { get; set; }
}
public class Revision
{
public int ID { get; set; }
public int RevisionNumber { get; set; }
}
public class LotWithTraveler
{
public int LotID { get; set; }
public string LotNumber { get; set; }
}
public class RevisionHistory
{
public int ID { get; set; }
public string RevisionedBy { get; set; }
public string Comments { get; set; }
public DateTime RevisionCreateDate { get; set; }
}
}