QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142) getrackt, ohne .gitmodules und ohne erreichbares Remote. Der Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen. Umstellung: - Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6) - Gitlink aus dem Index entfernt - Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
246 lines
14 KiB
C#
246 lines
14 KiB
C#
using Centron.DAO.Mappings.CustomerArea;
|
|
using Centron.DAO.UserTypes;
|
|
using Centron.Data.Entities.CustomerArea;
|
|
using Centron.Data.Entities.ObjectTypes;
|
|
using Centron.Interfaces.CustomerArea;
|
|
using Centron.Interfaces.Sales.CustomerAssets;
|
|
|
|
namespace Centron.Tests.BL.DatabaseMappings
|
|
{
|
|
/// <summary>
|
|
/// <b>IMPORTANT</b>: This is a replacement class for the real <see cref="CustomerMaps"/> class for running in-memory unit tests.
|
|
/// Make sure to keep this class in sync with the real class.
|
|
/// </summary>
|
|
public class CustomerMapsForTest : CustomerOptimizedMaps<Customer>
|
|
{
|
|
public CustomerMapsForTest()
|
|
{
|
|
Id(k => k.I3D).Column("I3D").GeneratedBy.Assigned();
|
|
Map(k => k.PaymentConditionOfferI3D).Column("ZahlKondAng").Nullable();
|
|
Map(k => k.PaymentConditionOrderI3D).Column("ZahlKondAuf").Nullable();
|
|
Map(k => k.PaymentConditionServiceOrderI3D).Column("ZahlKondSer").Nullable();
|
|
Map(k => k.PaymentConditionPickupListI3D).Column("ZahlkondAbhol").Nullable();
|
|
Map(k => k.PaymentConditionInvoiceI3D).Column("ZahlKondRech").Nullable();
|
|
Map(k => k.PaymentConditionCreditVoucherI3D).Column("ZahlKondGut").Nullable();
|
|
Map(k => k.DeliveryConditionI3D).Column("ZahlKondLiefBed").Nullable();
|
|
|
|
// IMPORTANT: This is the problematic column that causes a syntax error in the SQLite in-memory database.
|
|
// The original name of the column is 'Limit' which is a reserved keyword in SQLite.
|
|
// This is changed here for 'CreditLimit' to avoid the syntax error.
|
|
Map(k => k.CreditLimit).Column("CreditLimit");
|
|
Map(k => k.CreditLimitAvailable).Column("LimitVerfuegbar");
|
|
Map(k => k.CreditLimitCalculationKind).Column("LimitBerechnungsArt").Nullable();
|
|
Map(k => k.PurchaseOrderNumberRequiered).Column("BestNrNoetig");
|
|
References(k => k.RootDir).Column("RootDirI3D").LazyLoad();
|
|
References(k => k.PurchaseOrderDir).Column("BestDirI3D").LazyLoad();
|
|
References(k => k.ServiceDir).Column("SerDirI3D").LazyLoad();
|
|
References(k => k.DeliveryListDir).Column("LiefDirI3D").LazyLoad();
|
|
References(k => k.HelpdeskDir).Column("HlpDirI3D").LazyLoad();
|
|
References(k => k.DeviceDir).Column("GerDirI3D").LazyLoad();
|
|
References(k => k.OrderDir).Column("AufDirI3D").LazyLoad();
|
|
References(k => k.InvoiceDir).Column("RechDirI3D").LazyLoad();
|
|
References(k => k.ProjectDir).Column("ProjDirI3D").LazyLoad();
|
|
References(k => k.ActivityDir).Column("TaetDirI3D").LazyLoad();
|
|
References(k => k.ContractDir).Column("VertragDirI3D").LazyLoad();
|
|
References(k => k.OfferDir).Column("AngDirI3D").LazyLoad();
|
|
References(k => k.MailDir).Column("MailDirI3D").LazyLoad();
|
|
References(k => k.CreditVoucherDir).Column("GutDirI3D").LazyLoad();
|
|
References(k => k.PickupListDir).Column("AbholDirI3D").LazyLoad();
|
|
|
|
Map(k => k.AkqQuantityServer).Column("AkqAnzahlServer");
|
|
Map(k => k.AkqQuantityPC).Column("AkqAnzahlPC");
|
|
Map(k => k.AkqManufacturerServer).Column("AkqHerstellerServer").Length(80);
|
|
Map(k => k.AkqManufacturerPC).Column("AkqHerstellerPC").Length(80);
|
|
Map(k => k.AkqBuysFrom).Column("AkqKauftBei").Length(80);
|
|
Map(k => k.AkqManufacturerPrinter).Column("AkqHerstellerDrucker").Length(80);
|
|
Map(k => k.AkqResubmission).Column("AkqWiedervorlage");
|
|
Map(k => k.AkqAkquiseComplete).Column("AkqAkquiseKomplett");
|
|
Map(k => k.AkqAdditionalInformation).Column("AkqZusatzinfo").Length(int.MaxValue);
|
|
Map(k => k.DefaultAddressI3D).Column("DefaultAnschrift").Nullable();
|
|
Map(k => k.PriceList).Column("Preisliste");
|
|
Map(k => k.Bonus).Column("Bonus");
|
|
Map(k => k.AkqVIP).Column("AkqVIP");
|
|
Map(k => k.AdvertsingBan).Column("werbesperre");
|
|
References(k => k.DunningContactPerson).Column("MahnPersonI3D").LazyLoad();
|
|
Map(k => k.DunningKind).Column("MahnArt").Length(50);
|
|
Map(k => k.AlternativeCustomerI3D).Column("AbwKundeI3D");
|
|
Map(k => k.AlternativeAddressI3D).Column("AbwAnschriftI3D");
|
|
Map(k => k.Comment).Column("Kommentar").Length(int.MaxValue);
|
|
Map(k => k.WebPassword).Column("WebKennwort").Length(50);
|
|
Map(k => k.LastWebLogin).Column("LastWebLogin").Nullable();
|
|
Map(k => k.ClassificationI3D).Column("KlassifizierungI3D");
|
|
Map(k => k.ExternalI3D).Column("ExterneI3D").Length(50);
|
|
Map(k => k.ToDoAkquiseI3D).Column("ToDoAkquiseI3D");
|
|
Map(k => k.VATNotActive).Column("MWStAktiv");
|
|
References(k => k.BankCountry).Column("BankLand").LazyLoad();
|
|
Map(k => k.BankCity).Column("BankOrt").Length(50);
|
|
Map(k => k.BankStreet).Column("BankStrasse").Length(50);
|
|
Map(k => k.BankIBAN).Column("BankIBAN").Length(50);
|
|
Map(k => k.BankSWIFT).Column("BankSWIFT").Length(50);
|
|
Map(k => k.Bank02).Column("Bank02").Length(40);
|
|
Map(k => k.BankCode02).Column("BankBLZ02").Length(20);
|
|
Map(k => k.BankAccountNumber02).Column("BankKtoNr02").Length(20);
|
|
References(k => k.BankCountry02).Column("BankLand02").LazyLoad();
|
|
Map(k => k.BankCity02).Column("BankOrt02").Length(50);
|
|
Map(k => k.BankStreet02).Column("BankStrasse02").Length(50);
|
|
Map(k => k.BankIBAN02).Column("BankIBAN02").Length(50);
|
|
Map(k => k.BankSWIFT02).Column("BankSWIFT02").Length(50);
|
|
Map(k => k.OfferReportI3D).Column("AngRepI3D");
|
|
Map(k => k.OfferReportQuantity).Column("AngRepAnz");
|
|
Map(k => k.OrderReportI3D).Column("AufRepI3D");
|
|
Map(k => k.OrderReportQuantity).Column("AufRepAnz");
|
|
Map(k => k.ServiceReportI3D).Column("SerRepI3D");
|
|
Map(k => k.ServiceReportQuantity).Column("SerRepAnz");
|
|
Map(k => k.DeliveryListReportI3D).Column("LiefRepI3D");
|
|
Map(k => k.DeliveryListReportQuantity).Column("LiefRepAnz");
|
|
Map(k => k.PickupListReportI3D).Column("AbhRepI3D");
|
|
Map(k => k.PickupListReportQuantity).Column("AbhRepAnz");
|
|
Map(k => k.InvoiceReportI3D).Column("RechRepI3D");
|
|
Map(k => k.InvoiceReportQuantity).Column("RechRepAnz");
|
|
Map(k => k.CreditVoucherReportI3D).Column("GutRepI3D");
|
|
Map(k => k.CreditVoucherReportQuantity).Column("GutRepAnz");
|
|
Map(k => k.InfoOffer).Column("NeuInfoAngebot").Length(int.MaxValue);
|
|
Map(k => k.InfoOrder).Column("NeuInfoAuftrag").Length(int.MaxValue);
|
|
Map(k => k.InfoDeliveryList).Column("NeuInfoLieferschein").Length(int.MaxValue);
|
|
Map(k => k.InfoPickupList).Column("NeuInfoAbholschein").Length(int.MaxValue);
|
|
Map(k => k.InfoInvoice).Column("NeuInfoRechnung").Length(int.MaxValue);
|
|
Map(k => k.SalesRegionI3D).Column("VertriebsgebietI3D");
|
|
Map(k => k.DeliveryListDuplicateReportI3D).Column("LiefDublRepI3D");
|
|
Map(k => k.DeliveryListDuplicateReportQuantity).Column("LiefDublRepAnz");
|
|
Map(k => k.InvoiceDuplicateReportI3D).Column("RechDublRepI3D");
|
|
Map(k => k.InvoiceDuplicateReportQuantity).Column("RechDublRepAnz");
|
|
Map(k => k.DunningAfterDays).Column("MahnungNachTagen");
|
|
Map(k => k.SecoundDunningAfterDays).Column("MahnungNachTagen2");
|
|
Map(k => k.ThirdDunningAfterDays).Column("MahnungNachTagen3");
|
|
Map(k => k.TransferedToAccounting).Column("RWUebergabe");
|
|
References(k => k.TransferedToAccountringBy).Column("RWPersonalI3D").Nullable().LazyLoad();
|
|
Map(k => k.TransferedToAccountingDate).Column("RWDatum");
|
|
Map(k => k.CustomerOriginI3D).Column("KundenHerkunftI3D");
|
|
Map(k => k.OfferReportFaxI3D).Column("AngRepI3DFax");
|
|
Map(k => k.OfferReportMailI3D).Column("AngRepI3DMail");
|
|
Map(k => k.OfferReportPrintI3D).Column("AngRepI3DDruck");
|
|
Map(k => k.OrderReportFaxI3D).Column("AufRepI3DFax");
|
|
Map(k => k.OrderReportMailI3D).Column("AufRepI3DMail");
|
|
Map(k => k.OrderReportPrintI3D).Column("AufRepI3DDruck");
|
|
Map(k => k.ServiceReportFaxI3D).Column("SerRepI3DFax");
|
|
Map(k => k.ServiceReportMailI3D).Column("SerRepI3DMail");
|
|
Map(k => k.ServiceReportPrintI3D).Column("SerRepI3DDruck");
|
|
Map(k => k.DeliveryListReportFaxI3D).Column("LiefRepI3DFax");
|
|
Map(k => k.DeliveryListMailI3D).Column("LiefRepI3DMail");
|
|
Map(k => k.DeliveryListPrintI3D).Column("LiefRepI3DDruck");
|
|
Map(k => k.PickupListReportFaxI3D).Column("AbhRepI3DFax");
|
|
Map(k => k.PickupListReportMailI3D).Column("AbhRepI3DMail");
|
|
Map(k => k.PickupListReportPrintI3D).Column("AbhRepI3DDruck");
|
|
Map(k => k.InvoiceReportFaxI3D).Column("RechRepI3DFax");
|
|
Map(k => k.InvoiceReportMailI3D).Column("RechRepI3DMail");
|
|
Map(k => k.InvoiceReportPrintI3D).Column("RechRepI3DDruck");
|
|
Map(k => k.CreditVoucherReportFaxI3D).Column("GutRepI3DFax");
|
|
Map(k => k.CreditVoucherReportMailI3D).Column("GutRepI3DMail");
|
|
Map(k => k.CreditVoucherReportPrintI3D).Column("GutRepI3DDruck");
|
|
Map(k => k.Matchcode).Column("Kurzbezeichnung").Length(30);
|
|
Map(k => k.SpecialAgreementI3D).Column("SondervereinbarungI3D");
|
|
Map(k => k.AlternateContactPersonI3D).Column("AbwPersonI3D");
|
|
Map(k => k.AlternateReceiver).Column("AbwEmpfaenger").Length(500);
|
|
Map(k => k.AlternateDeliveryAddressI3D).Column("AbwLiefAnschriftI3D");
|
|
Map(k => k.AlternateDeliveryReceiver).Column("AbwLiefEmpfaenger").Length(500);
|
|
Map(k => k.AlternateDeliveryCustomerI3D).Column("AbwLiefKundeI3D");
|
|
Map(k => k.AlternateDeliveryContactPersonI3D).Column("AbwLiefPersonI3D");
|
|
Map(k => k.ProjNrNeeded).Column("ProjNrNoetig");
|
|
Map(k => k.AkqQuantityFree).Column("AkqAnzahlFrei");
|
|
Map(k => k.OrderLockAfterDunning).Column("AuftragsperreNachMahnung");
|
|
Map(k => k.AkqFreeText1).Column("AkqFreiText1").Length(30);
|
|
Map(k => k.AkqFreeText2).Column("AkqFreiText2").Length(30);
|
|
Map(k => k.AkqFreeText3).Column("AkqFreiText3").Length(30);
|
|
Map(k => k.AkqFreeText4).Column("AkqFreiText4").Length(30);
|
|
Map(k => k.InfoHelpdesk).Column("NeuInfoHelpdesk").Length(int.MaxValue);
|
|
Map(k => k.CustomerNumber).Column("KundenNummer");
|
|
Map(k => k.CustomerNumberExt).Column("KundenNummerExt");
|
|
Map(k => k.EvaluationOfSupplier).Column("Lieferantenbewertung");
|
|
Map(k => k.ISOCertified).Column("ISOzertifiziert");
|
|
Map(k => k.CreatedThrough).Column("ErstelltDurch");
|
|
Map(k => k.InfoCreditVoucher).Column("NeuInfoGutschrift").Length(int.MaxValue);
|
|
Map(k => k.DunningAtAlternateInvoiceAddress).Column("MahnungAnAbwRechAnschrift");
|
|
Map(k => k.DontShowRabateText).Column("RabatttextNichtAnzeigen");
|
|
Map(k => k.ProductionConfigurationRequiring).Column("FertigungskonfigurationsPflicht");
|
|
Map(k => k.PrintProductionConfiguration).Column("FertigungskonfigurationDrucken");
|
|
Map(k => k.Stock).Column("LagerI3D").CustomType<DefaultWarehouseI3DCustomType>().Nullable();
|
|
Map(k => k.InstructionActive).Column("UnterweisungAktiv");
|
|
Map(k => k.ContactI3D).Column("KontakteI3D");
|
|
Map(k => k.AkqResubmissionConfiguration).Column("AkqWiedervorlageEinstellung");
|
|
Map(k => k.AkqResubmissionKind).Column("AkqWiedervorlageArt");
|
|
Map(k => k.AkqResubmissionLength).Column("AkqWiedervorlageDauer");
|
|
Map(k => k.DistributorI3D).Column("DistributorI3D");
|
|
Map(k => k.FreeText01).Column("Freitext01").Length(255);
|
|
Map(k => k.GoodsRecipient).Column("Warenempfaengernummer").Length(50);
|
|
Map(k => k.NoCargoArticle).Column("KeinFrachtartikel");
|
|
Map(k => k.Kontoinhaber).Column("Kontoinhaber").Length(255);
|
|
|
|
HasMany(a => a.BusinessLines)
|
|
.KeyColumn("KundenI3D")
|
|
.Where(a => a.AccountKind == 0)
|
|
.LazyLoad();
|
|
HasMany(a => a.Interests)
|
|
.KeyColumn("KundenI3D")
|
|
.Where(a => a.AccountKind == 0)
|
|
.LazyLoad();
|
|
HasMany(a => a.Products)
|
|
.KeyColumn("KundenI3D")
|
|
.Where(a => a.AccountKind == 0)
|
|
.LazyLoad();
|
|
|
|
HasMany(a => a.CustomerArticles)
|
|
.KeyColumn("KundenI3D")
|
|
.LazyLoad();
|
|
HasMany(a => a.SpecialPrices)
|
|
.KeyColumn("KundenI3D")
|
|
.LazyLoad();
|
|
HasMany(a => a.Activitys)
|
|
.KeyColumn("KundeI3D")
|
|
.Where("ObjektArt = " + ((int)ObjectType.ObjectTypeDictionary.Customer).ToString())
|
|
.LazyLoad();
|
|
|
|
Map(f => f.InvoiceSendType)
|
|
.Column("RechnungVersandArt")
|
|
.Nullable()
|
|
.CustomType<AssetSendType>();
|
|
|
|
References(f => f.AlternateInvoiceReceiver)
|
|
.Column("AbwMailRechnungEmpfaengerI3D")
|
|
.Nullable()
|
|
.NotFound.Ignore()
|
|
.Cascade.None();
|
|
|
|
Map(f => f.BillingInterval)
|
|
.Column("BillingInterval")
|
|
.Nullable()
|
|
.CustomType<BillingInterval>();
|
|
|
|
Map(f => f.IsCustomerKind1)
|
|
.Column("Firmenkunde")
|
|
.Nullable();
|
|
|
|
Map(f => f.IsCustomerKind2)
|
|
.Column("Endkunde")
|
|
.Nullable();
|
|
|
|
Map(f => f.IsCustomerKind3)
|
|
.Column("Haendler")
|
|
.Nullable();
|
|
|
|
Map(f => f.IsCustomerKind4)
|
|
.Column("Interessent")
|
|
.Nullable();
|
|
|
|
Map(f => f.IsCustomerKind5)
|
|
.Column("KundenArt5")
|
|
.Nullable();
|
|
|
|
Map(m => m.RiverbirdMsp)
|
|
.Column("RiverbirdMsp")
|
|
.Length(32)
|
|
.Nullable();
|
|
|
|
this.Map(f => f.HelpdeskClosingDontNotifyCustomer).Column("HelpdeskClosingDontNotifyCustomer").Nullable();
|
|
}
|
|
}
|
|
} |