119 lines
4.9 KiB
C#
119 lines
4.9 KiB
C#
//
|
|
// Class: CrewPasHelper
|
|
// Current CLR: 4.0.30319.34209
|
|
// System: Microsoft Visual Studio 10.0
|
|
// Author: dani
|
|
// Created: 7/10/2015 8:24:06 PM
|
|
//
|
|
// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved.
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
using bsmd.database;
|
|
|
|
namespace bsmd.ReportGenerator
|
|
{
|
|
public class CrewPasHelper
|
|
{
|
|
public static string CreateCSV(Message message)
|
|
{
|
|
switch(message.MessageNotificationClass)
|
|
{
|
|
case Message.NotificationClass.CREW:
|
|
{
|
|
string filename = Path.Combine(Properties.Settings.Default.OutputDirectory, "crewlist.csv");
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (CREW crew in message.Elements)
|
|
{
|
|
|
|
string dateOfBirth = "";
|
|
if (crew.CrewMemberDateOfBirth.HasValue)
|
|
dateOfBirth = crew.CrewMemberDateOfBirth.Value.ToString("yyyy-MM-dd");
|
|
|
|
sb.AppendLine(string.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9}",
|
|
crew.CrewMemberLastName ?? "",
|
|
crew.CrewMemberFirstName ?? "",
|
|
CrewPasHelper.GetGender(crew.CrewMemberGender),
|
|
crew.CrewMemberNationality ?? "",
|
|
crew.CrewMemberDuty ?? "",
|
|
crew.CrewMemberPlaceOfBirth ?? "",
|
|
dateOfBirth,
|
|
CrewPasHelper.GetDocumentType(crew.CrewMemberIdentityDocumentType),
|
|
crew.CrewMemberIdentityDocumentId ?? "",
|
|
crew.CrewMemberVisaNumber ?? ""));
|
|
}
|
|
|
|
File.WriteAllText(filename, sb.ToString(), Encoding.UTF8);
|
|
return filename;
|
|
}
|
|
case Message.NotificationClass.PAS:
|
|
{
|
|
string filename = Path.Combine(Properties.Settings.Default.OutputDirectory, "passengerlist.csv");
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
foreach (PAS pas in message.Elements)
|
|
{
|
|
string dateOfBirth = "";
|
|
if (pas.PassengerDateOfBirth.HasValue)
|
|
dateOfBirth = pas.PassengerDateOfBirth.Value.ToString("yyyy-MM-dd");
|
|
|
|
sb.AppendLine(string.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9};{10};{11}",
|
|
pas.PassengerLastName ?? "",
|
|
pas.PassengerFirstName ?? "",
|
|
CrewPasHelper.GetGender(pas.PassengerGender),
|
|
pas.PassengerNationality ?? "",
|
|
pas.PassengerPortOfEmbarkation ?? "",
|
|
pas.PassengerPortOfDisembarkation ?? "",
|
|
(pas.PassengerInTransit ?? false) ? "Y" : "N",
|
|
pas.PassengerPlaceOfBirth ?? "",
|
|
dateOfBirth,
|
|
CrewPasHelper.GetDocumentType(pas.PassengerIdentityDocumentType),
|
|
pas.PassengerIdentityDocumentId ?? "",
|
|
pas.PassengerVisaNumber ?? ""));
|
|
}
|
|
|
|
File.WriteAllText(filename, sb.ToString(), Encoding.UTF8);
|
|
return filename;
|
|
}
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
private static string GetDocumentType(byte? type)
|
|
{
|
|
string documentType = "";
|
|
if (type.HasValue)
|
|
{
|
|
switch (type.Value)
|
|
{
|
|
case 0: documentType = "IDENTITY_CARD"; break;
|
|
case 1: documentType = "PASSPORT"; break;
|
|
case 2: documentType = "MUSTER_BOOK"; break;
|
|
case 3: documentType = "PICTURE_ID"; break;
|
|
case 4: documentType = "RESIDENTAL_PERMIT"; break;
|
|
default: documentType = "OTHER_LEGAL_IDENTITY_DOCUMENT"; break;
|
|
}
|
|
}
|
|
return documentType;
|
|
}
|
|
|
|
private static string GetGender(byte? gender)
|
|
{
|
|
string genders = "";
|
|
if (gender.HasValue)
|
|
{
|
|
if (gender == 0) genders = "MALE";
|
|
if (gender == 1) genders = "FEMALE";
|
|
if (gender == 2) genders = "OTHER";
|
|
}
|
|
return genders;
|
|
}
|
|
|
|
|
|
}
|
|
}
|