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 { /// /// IMPORTANT: This is a replacement class for the real class for running in-memory unit tests. /// Make sure to keep this class in sync with the real class. /// public class CustomerMapsForTest : CustomerOptimizedMaps { 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().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(); References(f => f.AlternateInvoiceReceiver) .Column("AbwMailRechnungEmpfaengerI3D") .Nullable() .NotFound.Ignore() .Cascade.None(); Map(f => f.BillingInterval) .Column("BillingInterval") .Nullable() .CustomType(); 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(); } } }