Exemple #1
0
        /// <summary>
        /// Trägt einen neuen Großkunden in die Datenbank ein.
        /// </summary>
        /// <param name="name">Name des Kunden.</param>
        /// <param name="street">Straße des Kunden.</param>
        /// <param name="streetnumber">Hausnummer des Kunden.</param>
        /// <param name="zipcode">Postleitzahl des Kunden.</param>
        /// <param name="city">Ort des Kunden.</param>
        /// <param name="country">Land des Kunden.</param>
        /// <param name="phone">Telefonnummer des Kunden.</param>
        /// <param name="fax">Faxnummer des Kunden.</param>
        /// <param name="mobilephone">Mobilnummer des Kunden.</param>
        /// <param name="email">Emailadresse des Kunden.</param>
        /// <param name="vat">Mehrwertsteuersatz für diesen Kunden.</param>
        /// <param name="sendInvoiceByEmail">Gibt an, ob die Rechnungen per Email versendet werden sollen.</param>
        /// <param name="sendInvoiceToMainLocation">Gibt an, ob für den Rechnungsversand der Hauptstandort verwendet werden soll.</param>
        /// <param name="termOfCredit">Zahlungsziel (in Tagen).</param>
        /// <param name="customerNumber">Kundennummer.</param>
        /// <param name="dbContext">Datenbankkontext für die Transaktion.</param>
        /// <returns>Den neuen Großkunden.</returns>
        /// <remarks>Innerhalb des Aufrufs wird bereits dbContext.SubmitChanges() aufgerufen!</remarks>
        public static LargeCustomer CreateLargeCustomer( DataClasses1DataContext dbContext ,string name, string street, string streetnumber, string zipcode, string city, string country, 
            string phone, string fax, string mobilephone, string email, decimal vat, bool sendInvoiceToMainLocation, bool sendInvoiceByEmail, int? termOfCredit,
            string customerNumber,string matchcode, string Debitornumber, int? PersonId, int? InvoiceType, string evbNumber)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("Es wurde kein Name für den Kunden angegeben.");
            }

            var customer = Customer.CreateCustomer(name, street, streetnumber, zipcode, city, country, phone, fax, mobilephone, email, vat, termOfCredit, customerNumber, matchcode, Debitornumber, evbNumber);
            customer._dbContext = dbContext;

            var largeCustomer = new LargeCustomer()
            {
                Customer = customer,
                PersonId = PersonId,
                SendInvoiceByEmail = sendInvoiceByEmail,
                SendInvoiceToMainLocation = sendInvoiceToMainLocation,
                OrderFinishedNoteSendType = 0,
                InvoiceTypesID = InvoiceType,

            };

            dbContext.LargeCustomer.InsertOnSubmit(largeCustomer);
            dbContext.SubmitChanges();
            dbContext.WriteLogItem("Kunde " + name + " wurde angelegt.", LogTypes.INSERT, customer.Id, "LargeCustomer");

            var mainLocation = largeCustomer.AddNewLocation("Hauptstandort", street, streetnumber, zipcode, city, country, phone, fax, mobilephone, email, vat, dbContext);
            dbContext.SubmitChanges();

            largeCustomer.MainLocationId = mainLocation.Id;
            mainLocation._dbContext = dbContext;
            dbContext.SubmitChanges();

            dbContext.WriteLogItem(String.Format("Hauptstandort '{0} {1}, {2} {3}' für Kunde '{4}' wurde angelegt.",
                street, streetnumber, zipcode, city, customer.Name),
                LogTypes.INSERT, mainLocation.Id, "Location");

            return largeCustomer;
        }
		private void detach_LargeCustomer1(LargeCustomer entity)
		{
			this.SendPropertyChanging();
			entity.Location1 = null;
		}
 partial void DeleteLargeCustomer(LargeCustomer instance);
 partial void UpdateLargeCustomer(LargeCustomer instance);
 partial void InsertLargeCustomer(LargeCustomer instance);
		private void detach_LargeCustomer(LargeCustomer entity)
		{
			this.SendPropertyChanging();
			entity.InvoiceTypes = null;
		}
		private void detach_LargeCustomer(LargeCustomer entity)
		{
			this.SendPropertyChanging();
			entity.Person = null;
		}