116 lines
4.3 KiB
C#
116 lines
4.3 KiB
C#
using AICore.Context.Entry;
|
|
using AICore.Context.EntryMapper;
|
|
using BeWo.Data.Entities;
|
|
using BS.Shared;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.DataContracts.Compact;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace AICore.Context.Summary
|
|
{
|
|
public abstract class BaseContextSummary
|
|
{
|
|
|
|
}
|
|
|
|
public abstract class DetailContext<T> : BaseContextSummary where T : DetailContextEntry
|
|
{
|
|
public T DataContext { get; set; }
|
|
|
|
protected DetailContext(T dataContext)
|
|
{
|
|
DataContext = dataContext;
|
|
}
|
|
}
|
|
|
|
public abstract class NavigationContextSummary<T> : BaseContextSummary where T : NavigationContextEntry
|
|
{
|
|
public IEnumerable<T> DataContext { get; set; }
|
|
|
|
protected NavigationContextSummary(IEnumerable<T> dataContext)
|
|
{
|
|
DataContext = dataContext;
|
|
}
|
|
}
|
|
|
|
public class CustomerDetailContextSummary : DetailContext<CustomerDetailContextEntry>
|
|
{
|
|
public CustomerDetailContextSummary(CustomerDetailContextEntry customer) : base(customer) { }
|
|
}
|
|
|
|
public class EmployeeDetailContextSummary : DetailContext<EmployeeDetailContextEntry>
|
|
{
|
|
public EmployeeDetailContextSummary(EmployeeDetailContextEntry employee) : base(employee) { }
|
|
}
|
|
|
|
public class PersonDetailContextSummary : DetailContext<PersonDetailContextEntry>
|
|
{
|
|
public PersonDetailContextSummary(PersonDetailContextEntry person) : base(person) { }
|
|
}
|
|
|
|
public class OrganisationDetailContextSummary : DetailContext<OrganisationDetailContextEntry>
|
|
{
|
|
public OrganisationDetailContextSummary(OrganisationDetailContextEntry organisation) : base(organisation) { }
|
|
}
|
|
|
|
public class SupportConceptDetailContextSummary : DetailContext<SupportConceptDetailContextEntry>
|
|
{
|
|
public SupportConceptDetailContextSummary(SupportConceptDetailContextEntry supportConcept) : base(supportConcept) { }
|
|
}
|
|
|
|
public class CustomerNavigationContextSummary : NavigationContextSummary<CustomerNavigationContextEntry>
|
|
{
|
|
public CustomerNavigationContextSummary(IEnumerable<CustomerNavigationContextEntry> customers) : base(customers) { }
|
|
}
|
|
public class EmployeeNavigationContextSummary : NavigationContextSummary<EmployeeNavigationContextEntry>
|
|
{
|
|
public EmployeeNavigationContextSummary(IEnumerable<EmployeeNavigationContextEntry> employee) : base(employee) { }
|
|
}
|
|
public class PersonNavigationContextSummary : NavigationContextSummary<PersonNavigationContextEntry>
|
|
{
|
|
public PersonNavigationContextSummary(IEnumerable<PersonNavigationContextEntry> person) : base(person) { }
|
|
}
|
|
public class OrganisationNavigationContextSummary : NavigationContextSummary<OrganisationNavigationContextEntry>
|
|
{
|
|
public OrganisationNavigationContextSummary(IEnumerable<OrganisationNavigationContextEntry> organisation) : base(organisation) { }
|
|
}
|
|
public class SupportConceptNavigationContextSummary : NavigationContextSummary<SupportConceptNavigationContextEntry>
|
|
{
|
|
public SupportConceptNavigationContextSummary(IEnumerable<SupportConceptNavigationContextEntry> supportConcept) : base(supportConcept) { }
|
|
}
|
|
|
|
public class ServiceRecordNavigationContextSummary : NavigationContextSummary<ServiceRecordContextEntry>
|
|
{
|
|
public CustomerNavigationContextEntry Customer { get; set; }
|
|
public string CostBearer { get; set; }
|
|
public string SupportConcept { get; set; }
|
|
|
|
public ServiceRecordNavigationContextSummary(List<ServiceRecordContextEntry> serviceRecords, CustomerNavigationContextEntry customer, string costBearer, string supportConcept)
|
|
: base(serviceRecords)
|
|
{
|
|
Customer = customer;
|
|
CostBearer = costBearer;
|
|
SupportConcept = supportConcept;
|
|
}
|
|
|
|
//var customer = LoadEntity(bewoobjects, TableID.Customer, MapperFactory.CompactCustomerDC_Customer);
|
|
//var costbearer = LoadProperty(bewoobjects, TableID.CostBearer, MapperFactory.CompactOrganisationDC_Organisation, dc => dc.Name);
|
|
//var supportconcept = LoadProperty(bewoobjects, TableID.SupportConcept, MapperFactory.CompactSupportConceptDC_SupportConcept, dc => $"{dc.StartDate?.Date} - {dc.EndDate?.Date}");
|
|
//var records = LoadEntities(bewoobjects, TableID.ServiceRecord, MapperFactory.ServiceRecordDC_ServiceRecord);
|
|
|
|
//var result = new Dictionary<TableID, object>
|
|
// {
|
|
// { TableID.ServiceRecord, records },
|
|
// { TableID.Customer, customer },
|
|
// { TableID.CostBearer, costbearer },
|
|
// { TableID.SupportConcept, supportconcept }
|
|
// };
|
|
|
|
// return result;
|
|
}
|
|
}
|