Files
BeWoPlaner/BeWo/Office/TableModels/SupportConceptTableModel.cs
2016-06-27 01:45:38 +02:00

137 lines
5.4 KiB
C#

using System.Collections.Generic;
using System.Runtime.Remoting.Messaging;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.Office.TableModels
{
public class SupportConceptTableModel : AbstractTableModel
{
public List<SupportConceptDC> SupportConcepts { get; set; }
private int currentIndex = -1;
public override int Count
{
get { return SupportConcepts.Count; }
}
public override bool DataAvailable
{
get { return SupportConcepts != null && currentIndex >= 0 && currentIndex < SupportConcepts.Count; }
}
public override void MoveFirst()
{
currentIndex = 0;
}
public override void MoveLast()
{
currentIndex = SupportConcepts != null ? SupportConcepts.Count - 1 : -1;
}
public override void MoveNext()
{
currentIndex++;
}
public override void MovePrevious()
{
currentIndex--;
}
protected override string[] CreateFieldNames()
{
return CreateDefaultFieldNames().ToArray();
}
private static List<string> CreateDefaultFieldNames()
{
var fieldnames = new List<string>
{
"Klient_Eigenbeteiligung",
"Klient_Geburtsdatum",
"Klient_Geschlecht",
"Klient_Nachname",
"Klient_Ort",
"Klient_PLZ",
"Klient_Strasse",
"Klient_Vorname",
"Teilname an Hilfeplankonferenz",
"Hilfeplan beantragt am",
"Hilfeplan eingereicht am",
"Hilfeplankonferenz",
"Ort des Hilfeplangespraechs",
"Ohne Beratungsbedarf",
"Bewilligung eingetroffen am",
"Verlaengerung beantragt am",
"Archiviert",
"Ersteller"
};
return fieldnames;
}
public SupportConceptDC GetCurrentSupportConcept()
{
if (SupportConcepts != null)
if (currentIndex >= 0 && currentIndex < SupportConcepts.Count)
return SupportConcepts[currentIndex];
return null;
}
public override object GetPropertyValue(string propertyName)
{
var value = string.Empty;
var supportConcept = GetCurrentSupportConcept();
var customer = supportConcept.Customer;
switch (propertyName.ToLower())
{
case "klient_eigenbeteiligung":
return customer.CostCenter;
case "klient_geburtsdatum":
return (customer.DateOfBirth.HasValue ? customer.DateOfBirth.Value.ToShortDateString() : string.Empty);
case "klient_geschlecht":
return customer.Sex.ToString();
case "klient_nachname":
return customer.LastName;
case "klient_ort":
return customer.Town;
case "klient_plz":
return customer.PostalCode;
case "klient_strasse":
return customer.Street;
case "klient_vorname":
return customer.FirstName;
case "teilname an hilfeplankonferenz":
if (supportConcept.Conference.HasValue)
{
return supportConcept.Conference.Value ? "Ja" : "Nein";
}
return string.Empty;
case "hilfeplan beantragt am":
return supportConcept.RequisitionSendDate.HasValue ? supportConcept.RequisitionSendDate.Value.ToShortDateString() : string.Empty;
case "hilfeplan eingereicht am":
return supportConcept.SupportConceptSendDate.HasValue ? supportConcept.SupportConceptSendDate.Value.ToShortDateString() : string.Empty;
case "hilfeplankonferenz":
return supportConcept.ConferenceDate.HasValue ? supportConcept.ConferenceDate.Value.ToShortDateString() : string.Empty;
case "ort des hilfeplangespraechs":
return supportConcept.ConferenceVenue ?? string.Empty;
case "ohne beratungsbedarf":
return supportConcept.ConsultingNeeded.HasValue ? supportConcept.ConsultingNeeded.Value ? "Ja" : "Nein" : string.Empty;
case "bewilligung eingetroffen am":
return supportConcept.ApprovalDate.HasValue ? supportConcept.ApprovalDate.Value.ToShortDateString() : string.Empty;
case "verlaengerung beantragt am":
return supportConcept.RenewalSendDate.HasValue ? supportConcept.RenewalSendDate.Value.ToShortDateString() : string.Empty;
case "archiviert":
return supportConcept.ActivationType.Equals(ActivationTypeId.Archived) ? "Ja" : "Nein";
case "ersteller":
return supportConcept.Originator.FirstName + " " + supportConcept.Originator.LastName;
}
return value;
}
}
}