|  | <%
'=======================================================================================================================
' Settings Model
'=======================================================================================================================
Class SnailWorksExportModel_Class
    Public Header
    Public DetailRecords
End Class
Class SnailWorksExportHeaderModel_Class
	Public Class_Get_Properties
	Public RecordType
	Public Version
	Public UserId
    Public ClientName
    Public ParentClientName
    Public JobName
    Public JobDescription
    Public SplitName
    Public SplitDescription
    Public PieceType
    Public MailDate
    Public UploadType
    Public TrackedQuanity
    Public PiecesMailed
    Public TargetInHomeDateStart
    Public TargetInHomeDateEnd
    Public ConfirmationEmail
    Public JobId
    Public SplitId
    Public TypeOfTracking
    Public ReturnedPostalRoutingCode
    Public ReportId1
    Public Report1Email
    Public ReportId2
    Public Report2Email
    Public INFOONLY
	Private Sub Class_Initialize
		'ValidateExitsts Me, "",""
		Class_Get_Properties = Array("RecordType","Version","UserId","ClientName","ParentClientName","JobName" _
        ,"JobDescription","SplitName","SplitDescription","PieceType","MailDate","UploadType" _
        ,"TrackedQuanity","PiecesMailed","TargetInHomeDateStart","TargetInHomeDateEnd","ConfirmationEmail","JobId" _
        ,"SplitId","TypeOfTracking","ReturnedPostalRoutingCode","ReportId1","Report1Email","ReportId2","Report2Email","INFOONLY")
	End Sub
End CLass
Class SnailWorksExportDetailModel_Class
    Public Class_Get_Properties
    Public RecordType
    Public CustomerUniqueIdentifier
    Public IMB
    Public Greeting
    Public FirstName
    Public MI
    Public LastName
    Public Suffix
    Public FullName
    Public Company
    Public Title
    Public Address1
    Public Address2
    Public City
    Public State
    Public Zip
    Public UserDefined1
    Public UserDefined2
    Public UserDefined3
    Public UserDefinedIdentifier4
    Public UserDefinedIdentifier5
    Public SeedIndicator
    Public InductionPoint
    Public InductionDate
    Public InBoundIMB
    Public IMCB
    Public IMTB
    Private Sub Class_Initialize
    'ValidateExitsts Me, "",""
    Class_Get_Properties = Array("RecordType","CustomerUniqueIdentifier","IMB","Greeting","FirstName" _
    ,"MI","LastName","Suffix","FullName","Company","Title","Address1","Address2","City","State","Zip" _
    ,"UserDefined1","UserDefined2","UserDefined3","UserDefinedIdentifier4","UserDefinedIdentifier5" _ 
    ,"SeedIndicator","InductionPoint","InductionDate","InBoundIMB","IMCB","IMTB")
	End Sub
End Class
'=======================================================================================================================
' SnailWorks Repository
'=======================================================================================================================
Class SnailWorksRepository_Class
    Public Function GetSnailWorksExportById(id)
        dim SnailWorksExport:set SnailWorksExport = new SnailWorksExportModel_Class
        set SnailWorksExport.Header = GetSnailWorksHeaderByKitId(id)
        set SnailWorksExport.DetailRecords = FindSnailWorksDetailRecordsByKitId(id)
        set GetSnailWorksExportById = SnailWorksExport
    End Function
    Private Function GetSnailWorksHeaderByKitId(id)
        Dim Header:Set Header = New SnailWorksExportHeaderModel_Class
        dim sql : sql = "SELECT ""H"" as RecordType,""5.1"" as Version, ""KCI"" as UserId,[Jcode] as ClientName,"""" as ParentClientName," &_
            """Tracking Kit - "" & [JobNumber] as JobName,"""" as JobDescription,"""" as SplitName,"""" as SplitDescription,""L"" as PieceType," &_
            "Year(Now()) & ""/"" & RIGHT(""0"" & Month(Now()),2) & ""/"" & RIGHT(""0"" & Day(Now()),2) as MailDate,""N"" as UploadType,"""" as TrackedQuanity," &_
            """"" as PiecesMailed,"""" as TargetInHomeDateStart,"""" as TargetInHomeDateEnd,"""" as ConfirmationEmail,"""" as JobId," &_
            """"" as SplitId,""R"" as TypeofTracking,"""" as ReturnedPostalRoutingCode,"""" as ReportId1," &_
            """"" as Report1Email,"""" as ReportId2,"""" as Report2Email,"""" as INFOONLY From Kit WHERE ID =?;"
        
        dim rs : set rs = DAL.Query(sql,id)
            If rs.EOF then
                Err.Raise 1, "GetSnailWorksHeaderByKitId", "SnailWorksHeaderByKitId was not found with Id of: " & id 
            Else
                Set	GetSnailWorksHeaderByKitId = Automapper.AutoMap(rs,"SnailWorksExportHeaderModel_Class")
                 Destroy rs
            End If
    End Function
    Private Function FindSnailWorksDetailRecordsByKitId(id)
        dim sql : sql = "SELECT ""D"" as RecordType, OutboundSerial as CustomerUniqueIdentifier, OutboundIMBDigits as IMB, """" as Greeting , """" as FirstName," &_
         """"" as MI, """" as LastName,"""" as Suffix,"""" as FullName,"""" as Address1,"""" as Address2,"""" as City,"""" as State," &_
         """"" as Zip,Jcode as UserDefined1,"""" as UserDefined2,"""" as UserDefined3,"""" as UserDefinedIdentifier4,"""" as UserDefinedIdentifier5,"""" as SeedIndicator," &_
         """"" as InductionPoint,"""" as InductionDate,InBoundIMBDigits as InboundIMB,"""" as IMCB,"""" as IMTB  " &_ 
         "FROM (InkjetRecords RIGHT JOIN [KitLabels] ON InkjetRecords.KitLabelID = KitLabels.ID) INNER JOIN Kit On Kit.ID =  KitLabels.KitID WHERE KitLabels.KitID = ?"
        dim rs : set rs = DAL.Query(sql,id)
            If rs.EOF then
                Err.Raise 1,"FindSnailWorksDetailRecordsByKitId","FindSnailWorksDetailRecordsByKitId was not ound with Id of: " & id
            Else
                set FindSnailWorksDetailRecordsByKitId = SnailWorksDetailRecordList(rs)
		        Destroy rs
            End If
    End Function
    	Private Function SnailWorksDetailRecordList(rs)
		dim list : set list = new LinkedList_Class
		dim model
		Do until rs.EOF
			set model = new SnailWorksExportDetailModel_Class
			list.Push Automapper.AutoMap(rs, model)
			rs.MoveNext
		Loop
		set SnailWorksDetailRecordList = list
	End Function
End Class
dim SnailWorksRepository__Singleton
Function SnailWorksRepository()
	If IsEmpty(SnailWorksRepository__Singleton) then
		set SnailWorksRepository__Singleton = new SnailWorksRepository_Class
	End If
	set SnailWorksRepository = SnailWorksRepository__Singleton
End Function
%>
 |